Version 2 (modified by 11 days ago) ( diff ) | ,
---|
ЕР Дијаграм
Податочни побарувања
Ентитети
- USER – ентитет кој чува податоци за крајните корисници (клиенти).
- user_id (primary key, bigint)
- username (string, задолжително)
- email (string, задолжително)
- password_hash (string, задолжително)
- (други полиња по потреба, пример first_name, last_name)
- INSTRUCTOR – ентитет кој чува податоци за инструктори.
- instructor_id (primary key, bigint)
- first_name (string, задолжително)
- last_name (string, задолжително)
- biography (text, опционално)
- TRAINING – ентитет кој чува податоци за различни типови јога тренинзи (Vinyasa, Hatha итн.).
- training_id (primary key, bigint)
- training_name (string, задолжително)
- description (text, опционално)
- duration (int, опционално)
- intensity_level (string, опционално)
- CLASS – ентитет кој чува податоци за закажани часови во распоред.
- class_id (primary key, bigint)
- date (date, задолжително)
- start_time (time, задолжително)
- end_time (time, задолжително)
- location (string, задолжително)
- capacity (int, опционално)
- seats_available (int, опционално)
- EVENT – ентитет кој чува податоци за специјални настани (workshops, retreats).
- event_id (primary key, bigint)
- event_name (string, задолжително)
- description (text, опционално)
- date (date, задолжително)
- time (time, задолжително)
- location (string, задолжително)
- PACKAGE – ентитет кој чува податоци за пакети (e.g., “5-Class Pass”).
- package_id (primary key, bigint)
- package_name (string, задолжително)
- price (decimal, задолжително)
- num_classes (int, задолжително)
- MERCH_ITEMS – ентитет кој чува податоци за јога опрема (мерч).
- merch_id (primary key, bigint)
- item_name (string, задолжително)
- description (text, опционално)
- price (decimal, задолжително)
- quantity_in_stock (int, опционално)
Релации
- books – релација помеѓу USER и CLASS (M:N). Означува дека еден корисник може да букира повеќе часови, а еден час може да биде букиран од повеќе корисници.
- teaches – релација помеѓу INSTRUCTOR и CLASS (1:N). Означува кој инструктор го предава одреден час. Секој час мора да има точно еден инструктор, а еден инструктор може да предава повеќе часови.
- is_scheduled_for – релација помеѓу CLASS и TRAINING (M:N). Еден час може да содржи повеќе (најмалку еден) тренинзи (комбинирана сесија), а еден тренинг може да се појави во повеќе часови или воопшто да не биде закажан.
- registers – релација помеѓу USER и EVENT (M:N). Корисниците се регистрираат за специјални настани.
- buys – релација помеѓу USER и PACKAGE (M:N). Означува купување пакети.
- purchases – релација помеѓу USER и MERCH_ITEMS (M:N). Означува дека корисниците можат да купуваат јога опрема.
- is_for – релација помеѓу PACKAGE и CLASS (M:N). Означува кои часови ги содржи еден пакет. Еден пакет мора да има барем еден час, а еден час може да биде дел од ниту еден или повеќе пакети.
Историјат
Верзија 2
Измени од претходната верзија:
- Релацијата is_for сега е помеѓу PACKAGE и CLASS (наместо PACKAGE и TRAINING), со што пакетите содржат часови.
- Релацијата is_scheduled_for е прилагодена да биде M:N, овозможува еден CLASS да содржи повеќе (најмалку еден) TRAINING, а еден TRAINING да се појави во повеќе часови (или воопшто да не биде закажан).
Верзија 1
Опис: Првична верзија
Attachments (4)
-
BlissCoreDB_Scheme_1.png
(110.9 KB
) - added by 11 days ago.
Првична верзија ERModel
-
BlissCoreDB_Scheme_2.png
(114.1 KB
) - added by 11 days ago.
Финална верзија ERModel
-
BlissCoreDB_Scheme_2.2.png
(114.1 KB
) - added by 11 days ago.
Финална верзија ERModel
-
BlissCoreDB_Scheme_3.png
(120.4 KB
) - added by 10 days ago.
Финална верзија ERModel
Download all attachments as: .zip
Note:
See TracWiki
for help on using the wiki.