Changes between Version 5 and Version 6 of RelationalDesign


Ignore:
Timestamp:
09/15/26 10:57:21 (13 days ago)
Author:
233149
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • RelationalDesign

    v5 v6  
    22
    33=== Релациско мапирање
     4
     5Сите објекти се креирани во шемата '''project''' на доделената проектна база.
    46
    57==== Ознаки
    … …  
    2426 * token ('''__id__''', '''user_id'''*(users), '''token''', '''expires_at''', '''is_valid''')
    2527 * payment ('''__id__''', '''user_id'''*(users), '''enrollment_id'''*(enrolled_semesters), '''amount''')
    26  * major_subjects ('''__major_id__'''*(major), '''__subject_id__'''*(subjects), '''manditory_semester''')
     28 * major_subjects ('''__major_id__'''*(major), '''__subject_id__'''*(subjects), '''mandatory_semester''')
    2729 * dependency_subject ('''__subject_id__'''*(subjects), '''__dependency_id__'''*(subjects))
    2830 * professour_subjects ('''__prof_id__'''*(users), '''__active_semester_id__'''*(active_semesters), '''__subject_id__'''*(subjects))
    2931
     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
    3042=== DDL скрипта за бришење на табелите и креирање на табелите
    3143
    32  [attachment:ddl.2.sql]
     44 [attachment:schema_creation.sql]
     45
     46 Скриптата ја брише и повторно ја креира целата шема project, па работи и врз
     47 празна база и врз база во која објектите веќе постојат.
    3348
    3449=== DML скрипта за полнење на табелите со податоци
    3550
    36  [attachment:dml.2.sql]
     51 [attachment:data_load.sql]
     52
     53 Скриптата прво ги празни сите табели (TRUNCATE ... RESTART IDENTITY CASCADE),
     54 па работи и врз празни табели и врз табели кои веќе содржат податоци.
    3755
    3856=== dbdiagram.io (DBML) код
    … …  
    4260=== Релациски дијаграм
    4361
    44  [[Image(iknow_ddl.png, width=100%)]]
     62 [[Image(relational_schema.jpg, width=100%)]]
     63
     64=== Користење на вештачка интелигенција
     65
     66 [wiki:RelationalDesignAIUsage RelationalDesignAIUsage]
    4567
    4668=== Историјат
    … …  
    6890 * Додадени се ограничувања за интегритет: 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.
    6991
     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
    70100=== Статус
    71101
    72  ''' [[span(style=color: #008000, Завршено )]] '''
     102 ''' [[span(style=color: #FF8000, Во тек )]] '''