Changes between Version 5 and Version 6 of RelationalDesign
- Timestamp:
- 09/15/26 10:57:21 (13 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
RelationalDesign
v5 v6 2 2 3 3 === Релациско мапирање 4 5 Сите објекти се креирани во шемата '''project''' на доделената проектна база. 4 6 5 7 ==== Ознаки … … 24 26 * token ('''__id__''', '''user_id'''*(users), '''token''', '''expires_at''', '''is_valid''') 25 27 * payment ('''__id__''', '''user_id'''*(users), '''enrollment_id'''*(enrolled_semesters), '''amount''') 26 * major_subjects ('''__major_id__'''*(major), '''__subject_id__'''*(subjects), '''mand itory_semester''')28 * major_subjects ('''__major_id__'''*(major), '''__subject_id__'''*(subjects), '''mandatory_semester''') 27 29 * dependency_subject ('''__subject_id__'''*(subjects), '''__dependency_id__'''*(subjects)) 28 30 * professour_subjects ('''__prof_id__'''*(users), '''__active_semester_id__'''*(active_semesters), '''__subject_id__'''*(subjects)) 29 31 32 ==== Дополнителни ограничувања 33 34 * UNIQUE (user_id, semester_id) во enrolled_semesters 35 * UNIQUE (enrolled_semesters_id, subjects_id) во semesters_subjects 36 * UNIQUE на passed_subjects.enrolled_id (врска 1:1 со semesters_subjects) 37 * UNIQUE на high_school.user_id и contact.user_id (врски 1:1 со users) 38 * UNIQUE (year, type) во active_semesters 39 * UNIQUE на users.email, subjects.name и subjects.code 40 * CHECK (subject_id <> dependency_id) во dependency_subject 41 30 42 === DDL скрипта за бришење на табелите и креирање на табелите 31 43 32 [attachment:ddl.2.sql] 44 [attachment:schema_creation.sql] 45 46 Скриптата ја брише и повторно ја креира целата шема project, па работи и врз 47 празна база и врз база во која објектите веќе постојат. 33 48 34 49 === DML скрипта за полнење на табелите со податоци 35 50 36 [attachment:dml.2.sql] 51 [attachment:data_load.sql] 52 53 Скриптата прво ги празни сите табели (TRUNCATE ... RESTART IDENTITY CASCADE), 54 па работи и врз празни табели и врз табели кои веќе содржат податоци. 37 55 38 56 === dbdiagram.io (DBML) код … … 42 60 === Релациски дијаграм 43 61 44 [[Image(iknow_ddl.png, width=100%)]] 62 [[Image(relational_schema.jpg, width=100%)]] 63 64 === Користење на вештачка интелигенција 65 66 [wiki:RelationalDesignAIUsage RelationalDesignAIUsage] 45 67 46 68 === Историјат … … 68 90 * Додадени се ограничувања за интегритет: 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. 69 91 92 '''Верзија 6''' 93 * Сите објекти се преместени во шемата project, согласно барањата на фазата. 94 * Скриптите се преименувани во schema_creation.sql и data_load.sql. 95 * data_load.sql сега прво ги празни табелите, па може да се стартува повеќепати. 96 * Исправен е називот на атрибутот manditory_semester → mandatory_semester во major_subjects. 97 * Примарните клучеви се дефинирани како GENERATED BY DEFAULT AS IDENTITY, за да апликацијата може да внесува редови без сама да пресметува id. 98 * Проширени се тест податоците: 20 предмети, 5 активни семестри и 4 професори, со покриеност на сите парови (семестар, предмет) во professour_subjects. 99 70 100 === Статус 71 101 72 ''' [[span(style=color: # 008000, Завршено)]] '''102 ''' [[span(style=color: #FF8000, Во тек )]] '''
