| Version 1 (modified by , 5 days ago) ( diff ) |
|---|
Резиме на поправки и напредок
DB_P1: Концептуален модел (ERD)
Статус: Прелиминарно во ред, со мала формална забелешка.
Забелешка од евалуацијата:
„Прелиминарно е во ред, мала формална забелешка — концептот на надворешен клуч не постои во ЕРД, да се отстранат."
Што е поправено:
- Отстранети се сите ознаки за надворешен клуч (FK) од ER дијаграмот.
- Во концептуалниот модел се прикажуваат само ентитети, атрибути и релации (врски) — без надворешни клучеви, бидејќи тие припаѓаат на логичкиот/физичкиот модел, не на концептуалниот.
- Релациите меѓу ентитетите се претставени преку врски со кардиналност (1:1, 1:N, M:N), што е правилна нотација за ЕРД.
Резултат: Концептуалниот модел е формално исправен и подготвен за одобрување.
DB_P2: Логички и физички дизајн, креирање на база (DDL)
Статус: Прелиминарно во ред, потребно е поставување на базата на факултетскиот сервер.
Забелешка од евалуацијата:
„Прелиминарно во ред, за одобрување да се постави базата на факултетскиот сервер."
Што е направено:
- Логичкиот модел е изведен од концептуалниот и е целосно нормализиран (во BCNF).
- Физичкиот дизајн е дефиниран со сите табели, колони, типови на податоци, примарни и надворешни клучеви.
- DDL скриптата е креирана и успешно извршена локално.
- Базата е поставена на факултетскиот сервер (develop.finki.ukim.mk) и е достапна за натамошна работа.
- Сите 20 табели се креирани и populate-ирани со тест податоци.
Резултат: Базата е поставена на факултетскиот сервер, што е предуслов за одобрување на фазата P2.
DB_P5: Нормализација
Статус: Поправено според барањата од евалуацијата.
Забелешка од евалуацијата:
„Недостасува формална проверка дека примарниот клуч е навистина кандидат-клуч и дека нема друг кандидат-клуч, пред да биде прогласен за примарен клуч."
Што е поправено:
- Додаден е формален доказ дека избраниот примарен клуч е кандидат-клуч (уникатност + минималност).
- Додаден е формален доказ дека не постои друг кандидат-клуч.
- Додаден е алгоритмот за attribute closure за пресметка на затворање на атрибути.
- Додаден е canonical cover на множеството функционални зависности.
- За секоја табела (R1–R20) се експлицитно наведени: ФЗ што важат, кандидат-клуч, примарен клуч, нормална форма, lossless join тест и preservation of FDs.
- Додадена е проверка во која нормална форма е денормализираната релација (1NF, но не 2NF).
- Додадена е глобална проверка за preservation of FDs и lossless join.
Резултат: Нормализацијата е формално комплетна и ги задоволува сите барања од InstructionsP5.
DB_P6: Комплексни извештаи од базата
Статус: Поправено според барањата од евалуацијата.
Забелешка од евалуацијата:
„Во ред е, но се очекуваат значително покомплексни прашалници, со повеќе нивоа на вгнездување потпрашалници."
Што е поправено:
- Постоечките 8 извештаи (AdvancedReport1–8) се задржани како основни аналитички извештаи.
- Додадени се 6 нови напредни извештаи (AdvancedReport9–14) со најмалку 3 нивоа на вгнездување:
- AdvancedReport9 — Прогноза за потрошувачка на состојки (3 нивоа, CTE, IN (SELECT ... HAVING ... (SELECT AVG ...)))
- AdvancedReport10 — Ефикасни келнери + топ производ (4 нивоа, 2 корелациони потпрашалници, потпрашалник во потпрашалник)
- AdvancedReport11 — Анализа на кошничка (3 нивоа, self-join, IN (SELECT ... HAVING ...))
- AdvancedReport12 — Year-over-year споредба (3 нивоа, CTE, RANK, LEFT JOIN со поместување)
- AdvancedReport13 — Аномалии во нарачки (3 нивоа, STDDEV, z-score, корелационен потпрашалник)
- AdvancedReport14 — Прогноза на приходи (3 нивоа, REGR_SLOPE, REGR_INTERCEPT, generate_series, LEFT JOIN)
- Сите функции се имплементирани како SQL функции (LANGUAGE sql) за да се избегнат проблеми со PL/pgSQL variable shadowing.
- Сите функции се тестирани во DBeaver и работат со реалните податоци од базата.
- За секој нов извештај е напишана и релациона алгебра.
Резултат: Напредните извештаи целосно го адресираат барањето за покомплексни прашалници со повеќе нивоа на вгнездување.
Заклучок
Сите забелешки од евалуациите за фазите P1, P2, P5 и P6 се адресирани:
| Фаза | Забелешка | Статус |
| P1 | Надворешен клуч не постои во ЕРД | Поправено — отстранети FK ознаки |
| P2 | Постави база на факултетски сервер | Направено — базата е поставена |
| P5 | Формална проверка на кандидат-клуч | Поправено — додаден формален доказ |
| P6 | Покомплексни прашалници со вгнездување | Поправено — додадени 6 нови извештаи |
