Version 3 (modified by 11 days ago) ( diff ) | ,
---|
Логички и физички дизајн – Креирање база (со SQL DDL)
Ознаки
- Со * се означени надворешни клучеви (FK).
- Примарните клучеви (PK) се подвлечени и.Bold
Табели
Ентитети
- USER ( user_id , username, email, password_hash, first_name, last_name )
- user_id (PK, bigint)
- username (string, задолжително)
- email (string, задолжително)
- password_hash (string, задолжително)
- first_name, last_name (опционално)
- INSTRUCTOR ( instructor_id , first_name, last_name, biography )
- instructor_id (PK, bigint)
- first_name (string, задолжително)
- last_name (string, задолжително)
- biography (text, опционално)
- (Ако сакате 1:N со CLASS, ќе имате FK во CLASS → instructor_id*)
- TRAINING ( training_id , training_name, description, duration, intensity_level )
- training_id (PK, bigint)
- training_name (string, задолжително)
- description (text, опционално)
- duration (int, опционално)
- intensity_level (string, опционално)
- CLASS ( class_id , date, start_time, end_time, location, capacity, seats_available, instructor_id* )
- class_id (PK, bigint)
- date (date, задолжително)
- start_time (time, задолжително)
- end_time (time, задолжително)
- location (string, задолжително)
- capacity (int, опционално)
- seats_available (int, опционално)
- instructor_id* → референцира до INSTRUCTOR(instructor_id)
- EVENT ( event_id , event_name, description, date, time, location )
- event_id (PK, bigint)
- event_name (string, задолжително)
- description (text, опционално)
- date (date, задолжително)
- time (time, задолжително)
- location (string, задолжително)
- PACKAGE ( package_id, package_name, price, num_classes )
- package_id (PK, bigint)
- package_name (string, задолжително)
- price (decimal, задолжително)
- num_classes (int, задолжително)
- MERCH_ITEMS ( merch_id, item_name, description, price, quantity_in_stock )
- merch_id (PK, bigint)
- item_name (string, задолжително)
- description (text, опционално)
- price (decimal, задолжително)
- quantity_in_stock (int, опционално)
Табели за M:N Релации (Bridge)
- USER_CLASS ( user_id*, class_id* )
- user_id* → референцира до USER(user_id)
- class_id* → референцира до CLASS(class_id)
- Пример за релација books (USER ↔ CLASS, M:N)
- CLASS_TRAINING ( class_id*, training_id* )
- class_id* → референцира до CLASS(class_id)
- training_id* → референцира до TRAINING(training_id)
- Пример за релација is_scheduled_for (M:N)
- USER_EVENT ( user_id*, event_id* )
- user_id* → референцира до USER(user_id)
- event_id* → референцира до EVENT(event_id)
- Пример за релација registers (M:N)
- USER_PACKAGE ( user_id*, package_id* )
- user_id* → референцира до USER(user_id)
- package_id* → референцира до PACKAGE(package_id)
- Пример за релација buys (M:N)
- USER_MERCH ( user_id*, merch_id* )
- user_id* → референцира до USER(user_id)
- merch_id* → референцира до MERCH_ITEMS(merch_id)
- Пример за релација purchases (M:N)
- PACKAGE_CLASS ( package_id*, class_id* )
- package_id* → референцира до PACKAGE(package_id)
- class_id* → референцира до CLASS(class_id)
- Пример за релација is_for (M:N)
DDL скрипта за креирање и бришење на табелите
DML скрипта за полнење на табелите со податоци
Дијаграм на табелите (DBeaver)
Attachments (3)
-
kreiranje.sql
(4.9 KB
) - added by 10 days ago.
Скрипта за креирање табели
-
polnenje.sql
(2.9 KB
) - added by 10 days ago.
Скрипта за полнење табели
-
BlissCore_ER_Diagram.png
(46.6 KB
) - added by 10 days ago.
Relational Design
Download all attachments as: .zip
Note:
See TracWiki
for help on using the wiki.