| Version 3 (modified by , 2 weeks ago) ( diff ) |
|---|
Логички и физички дизајн - Креирање база податоци (со SQL DDL)
Релациско мапирање
Ознаки
- Примарните клучеви се означени со bold и underline PK
- Надворешните клучеви се означени со FK* за кои во заграда () е напишана табелата која ја референцираат.
- Задолжителните атрибути се болдирани.
Табели
- users (id, name, embg, surname, index, bday, email, password, role, quota, enrollment_year, created_at)
- high_school (id, user_id*(users), gpa, type)
- contact (id, user_id*(users), city, municipality, address, number, microsoft_email)
- major (id, name)
- active_semesters (id, year, type)
- subjects (id, name, code, awarded_credits, dependency_credit)
- enrolled_semesters (id, user_id*(users), quota, major_id*(major), note, student_comment, created_at, last_change, completed, semester_id*(active_semesters))
- semesters_subjects (id, enrolled_semesters_id*(enrolled_semesters), subjects_id*(subjects), professor_id*(users), signature)
- passed_subjects (id, enrolled_id*(semesters_subjects), grade, date_passed)
- documents (id, type, body, cost)
- user_documents (user_id*(users), document_id*(documents))
- token (id, user_id*(users), token, expires_at, is_valid)
- payment (id, user_id*(users), enrollment_id*(enrolled_semesters), amount)
- major_subjects (major_id*(major), subject_id*(subjects), manditory_semester)
- dependency_subject (subject_id*(subjects), dependency_id*(subjects))
- professour_subjects (prof_id*(users), active_semester_id*(active_semesters), subject_id*(subjects))
DDL скрипта за бришење на табелите и креирање на табелите
DML скрипта за полнење на табелите со податоци
dbdiagram.io (DBML) код
Релациски дијаграм
Историјат
Верзија 1 - Почетна верзија
Верзија 2
- Додадени се табелите high_school и contact поврзани 1:1 со users.
- Додадена е табелата token за чување на токени за автентикација.
Верзија 3
- Раздвоени се табелите enrollment_info и enrolled_semesters.
- Додадена е табелата Payment со надворешни клучеви кон users и enrolled_semesters.
Верзија 4
- Додадена е табелата dependency_subject за моделирање на предуслови меѓу предмети.
- Додадена е табелата professour_subjects (професор ↔ предмет ↔ активен семестар).
Верзија 5
- Отстранета е табелата enrollment_info; нејзините атрибути quota и enrollment_year се преместени во табелата users.
- Отстранет е надворешниот клуч user_id од semesters_subjects – студентот се добива преку enrolled_semesters.user_id.
- Отстранет е атрибутот ukim од payment и akreditacija од major_subjects.
- Табелите high_school и contact добиваат сопствен id како примарен клуч, а user_id останува UNIQUE NOT NULL надворешен клуч (1:1).
- Преименувани колони заради усогласување со ЕР дијаграмот: year_ → year, note_ → note, passed_subjects.passed_id → id.
- Додадени се ограничувања за интегритет: UNIQUE (user_id, semester_id) во enrolled_semesters, UNIQUE на passed_subjects.enrolled_id (1:1 со semesters_subjects), UNIQUE (year, type) во active_semesters и CHECK (subject_id <> dependency_id) во dependency_subject.
Статус
Завршено
Attachments (10)
- dml.sql (5.5 KB ) - added by 3 months ago.
- ddl.sql (6.3 KB ) - added by 3 months ago.
- Iknow (1).png (307.8 KB ) - added by 3 months ago.
- ddl.2.sql (6.1 KB ) - added by 2 weeks ago.
- dml.2.sql (5.3 KB ) - added by 2 weeks ago.
- iknow_ddl.png (273.7 KB ) - added by 2 weeks ago.
- schema_creation.sql (5.2 KB ) - added by 13 days ago.
- data_load.sql (8.4 KB ) - added by 13 days ago.
- iknow.dbml (5.5 KB ) - added by 13 days ago.
- relational_schema.png (70.3 KB ) - added by 13 days ago.
Download all attachments as: .zip
Note:
See TracWiki
for help on using the wiki.

.png)