| | 1 | == Логички и физички дизајн - Креирање база податоци (со SQL DDL) |
| | 2 | |
| | 3 | === Релациско мапирање |
| | 4 | |
| | 5 | ==== Ознаки |
| | 6 | |
| | 7 | * Примарните клучеви се означени со bold и underline '''__PK__''' |
| | 8 | * Надворешните клучеви се означени со FK* за кои во заграда () е напишана табелата која ја референцираат. |
| | 9 | * Задолжителните атрибути се болдирани. |
| | 10 | |
| | 11 | ==== Табели |
| | 12 | |
| | 13 | * users ('''__id__''', '''name''', embg, '''surname''', index, bday, '''email''', '''password''', '''role''', created_at) |
| | 14 | * high_school ('''__user_id__'''*(users), '''gpa''', '''type''') |
| | 15 | * contact ('''__user_id__'''*(users), '''city''', '''municipality''', '''address''', '''number''', microsoft_email) |
| | 16 | * enrolled_semesters ('''__id__''', user_id*(users), '''quota''', major_id*(major), note_, student_comment, created_at, last_change, completed, semester_id*(active_semesters)) |
| | 17 | * active_semesters ('''__id__''', '''year_''', '''type''') |
| | 18 | * semesters_subjects ('''__id__''', user_id*(users), enrolled_semesters_id*(enrolled_semesters), subjects_id*(subjects), professor_id*(users), signature) |
| | 19 | * subjects ('''__id__''', '''name''', '''code''', '''awarded_credits''', dependency_credit) |
| | 20 | * major ('''__id__''', '''name''') |
| | 21 | * major_subjects ('''__major_id__'''*(major), '''__subject_id__'''*(subjects), '''manditory_semester''', '''akreditacija''') |
| | 22 | * passed_subjects ('''__passed_id__''', enrolled_id*(semesters_subjects), '''grade''', '''date_passed''') |
| | 23 | * user_documents ('''__user_id__'''*(users), '''__document_id__'''*(documents)) |
| | 24 | * documents ('''__id__''', '''type''', '''body''', '''cost''') |
| | 25 | * token ('''__id__''', user_id*(users), '''token''', '''expires_at''', '''is_valid''') |
| | 26 | * Payment ('''__id__''', user_id*(users), enrollment_id*(enrolled_semesters), '''amount''', '''ukim''') |
| | 27 | * enrollment_info ('''__id__''', user_id*(users), '''quota''', major_id*(major), '''enrollment_year''') |
| | 28 | * DependencySubject (subject_id*(subjects), dependency_id*(subjects)) |
| | 29 | * Professour_subjects (prof_id*(users), active_semester_id*(active_semesters), subject_id*(subjects)) |
| | 30 | |
| | 31 | === DDL скрипта за бришење на табелите и креирање на табелите |
| | 32 | |
| | 33 | [attachment:ddl.sql] |
| | 34 | |
| | 35 | === DML скрипта за полнење на табелите со податоци |
| | 36 | |
| | 37 | [attachment:dml.sql] |
| | 38 | |
| | 39 | === Релациски дијаграм |
| | 40 | |
| | 41 | [[Image(FINKI_Relational_Diagram.png, width=100%)]] |
| | 42 | |
| | 43 | === Историјат |
| | 44 | |
| | 45 | '''Верзија 1''' - Почетна верзија |
| | 46 | |
| | 47 | '''Верзија 2''' |
| | 48 | * Додадени се табелите high_school и contact поврзани преку user_id како примарен и надворешен клуч кон users. |
| | 49 | * Додадена е табелата token за чување на токени за автентикација. |
| | 50 | |
| | 51 | '''Верзија 3''' |
| | 52 | * Раздвоени се табелите enrollment_info и enrolled_semesters. |
| | 53 | * Додадена е табелата Payment со надворешни клучеви кон users и enrolled_semesters. |
| | 54 | |
| | 55 | '''Верзија 4''' |
| | 56 | * Додадена е табелата DependencySubject за моделирање на предуслови меѓу предмети. |
| | 57 | * Додадена е табелата Professour_subjects (професор ↔ предмет ↔ активен семестар). |
| | 58 | * Во semesters_subjects задржан е user_id како надворешен клуч кон users (студентот на кого му припаѓа записот). |
| | 59 | |
| | 60 | === Статус |
| | 61 | |
| | 62 | ''' [[span(style=color: #008000, Завршено )]] ''' |