| 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) |
| | 13 | * users ('''__id__''', '''name''', embg, '''surname''', index, bday, '''email''', '''password''', '''role''', quota, enrollment_year, created_at) |
| | 14 | * high_school ('''__id__''', '''user_id'''*(users), '''gpa''', '''type''') |
| | 15 | * contact ('''__id__''', '''user_id'''*(users), '''city''', '''municipality''', '''address''', '''number''', microsoft_email) |
| | 16 | * major ('''__id__''', '''name''') |
| | 17 | * active_semesters ('''__id__''', '''year''', '''type''') |
| 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''') |
| | 19 | * enrolled_semesters ('''__id__''', '''user_id'''*(users), '''quota''', '''major_id'''*(major), note, student_comment, created_at, last_change, completed, '''semester_id'''*(active_semesters)) |
| | 20 | * semesters_subjects ('''__id__''', '''enrolled_semesters_id'''*(enrolled_semesters), '''subjects_id'''*(subjects), '''professor_id'''*(users), '''signature''') |
| | 21 | * passed_subjects ('''__id__''', '''enrolled_id'''*(semesters_subjects), '''grade''', '''date_passed''') |
| | 22 | * documents ('''__id__''', '''type''', '''body''', '''cost''') |
| 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)) |
| | 24 | * token ('''__id__''', '''user_id'''*(users), '''token''', '''expires_at''', '''is_valid''') |
| | 25 | * payment ('''__id__''', '''user_id'''*(users), '''enrollment_id'''*(enrolled_semesters), '''amount''') |
| | 26 | * major_subjects ('''__major_id__'''*(major), '''__subject_id__'''*(subjects), '''manditory_semester''') |
| | 27 | * dependency_subject ('''__subject_id__'''*(subjects), '''__dependency_id__'''*(subjects)) |
| | 28 | * professour_subjects ('''__prof_id__'''*(users), '''__active_semester_id__'''*(active_semesters), '''__subject_id__'''*(subjects)) |
| 56 | | * Додадена е табелата DependencySubject за моделирање на предуслови меѓу предмети. |
| 57 | | * Додадена е табелата Professour_subjects (професор ↔ предмет ↔ активен семестар). |
| 58 | | * Во semesters_subjects задржан е user_id како надворешен клуч кон users (студентот на кого му припаѓа записот). |
| | 59 | * Додадена е табелата dependency_subject за моделирање на предуслови меѓу предмети. |
| | 60 | * Додадена е табелата professour_subjects (професор ↔ предмет ↔ активен семестар). |
| | 61 | |
| | 62 | '''Верзија 5''' |
| | 63 | * Отстранета е табелата enrollment_info; нејзините атрибути quota и enrollment_year се преместени во табелата users. |
| | 64 | * Отстранет е надворешниот клуч user_id од semesters_subjects – студентот се добива преку enrolled_semesters.user_id. |
| | 65 | * Отстранет е атрибутот ukim од payment и akreditacija од major_subjects. |
| | 66 | * Табелите high_school и contact добиваат сопствен id како примарен клуч, а user_id останува UNIQUE NOT NULL надворешен клуч (1:1). |
| | 67 | * Преименувани колони заради усогласување со ЕР дијаграмот: year_ → year, note_ → note, passed_subjects.passed_id → id. |
| | 68 | * Додадени се ограничувања за интегритет: 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. |