| Version 1 (modified by , 2 weeks ago) ( diff ) |
|---|
Relation Design
Опис
Базата е дизајнирана за систем за рецепти кој вклучува корисници, рецепти, состојки, преференции и форум функционалности. Овозможува персонализација преку алергии и преференции, како и интеракција преку коментари, лајкови и оценки.
Релациски дијаграм
Главни ентитети
- user – содржи податоци за корисници (username, email, password)
- recipe – рецепти со опис, нутритивни вредности и време за подготовка
- ingredient – состојки кои се користат во рецепти
- category, tags, cuisine – класификација и организација на рецепти
- allergen – алергени поврзани со состојки и корисници
- preferences – поставки поврзани со корисник (калории, време, итн.)
Релации
- 1:1
- user → preferences (еден корисник има една преференца)
- 1:N
- recipe → instruction (еден рецепт има повеќе чекори)
- instruction → instruction_media (еден чекор има повеќе медиуми)
- user → forumpost (еден корисник може да има повеќе постови)
- N:M (преку посредни табли)
- user ↔ role (user_role)
- user ↔ allergen (user_allergen)
- recipe ↔ category (recipe_category)
- recipe ↔ tags (recipe_tags)
- recipe ↔ ingredient (recipe_ingredient)
- preferences ↔ cuisine (preferences_cuisine)
Форум и интеракции
- forumpost – постови креирани од корисници (може да се поврзат со рецепт)
- forumpost_like – корисници можат да лајкнуваат постови
- forumpost_comment – коментари со поддршка за вложени (nested) одговори
User–Recipe активности
- recipe_favorite – омилени рецепти
- recipe_attempt – рецепти кои корисник ги пробал
- recipe_review – оценка и коментар (само ако постои attempt)
- recipe_view – следење на прегледи
- recipe_dislike – рецепти кои не му се допаѓаат на корисникот
Ограничувања и интегритет
- PRIMARY KEY и FOREIGN KEY за поврзување на табелите
- UNIQUE за спречување дупликати
- CHECK constraints (валиден email, password правила, вредности)
- ON DELETE CASCADE / RESTRICT / SET NULL за контрола при бришење
Заклучок
Дизајнот е нормализиран и овозможува флексибилно управување со податоци, како и поддршка за сложени релации и кориснички интеракции.
Attachments (2)
- RelationalModel1.svg (371.6 KB ) - added by 12 days ago.
- RelationalModel-cooksy.vpp (956.0 KB ) - added by 12 days ago.
Download all attachments as: .zip
Note:
See TracWiki
for help on using the wiki.
