== Креирање и пополнување на базата == === Опис === Во оваа фаза релациониот модел е имплементиран како физичка база на податоци во '''PostgreSQL'''. Чекорот се состои од две активности: 1. '''Креирање на структурата (DDL)''' — табели, ограничувања. 2. '''Внес на податоци (DML)''' — пополнување на базата со податоци. === DDL — креирање на структурата === DDL скриптата (`idontknow_script.sql`) е напишана за PostgreSQL и креира: * '''119 табели''' — секоја со суроген примарен клуч `id` (од секвенца преку `nextval`) и `unique` ограничувања таму каде е потребно Користени типови на податоци: `int4`, `varchar`, `numeric(14,2)` за парични износи, `timestamp(6)`, `date`, `bool`, `text`. '''Опфат на DDL скриптата (важно):''' * `FOREIGN KEY` ограничувања — релациите се изведени преку колоните `*_id`, со референцијален интегритет на ниво на база. * Секвенците (`*_id_seq`) се користат преку `nextval(...)`, но нивните `CREATE SEQUENCE` дефиниции не се дел од скриптата. === Внес на податоци (DML) === По креирањето на структурата, базата се пополнува со податоци преку DML скрипта. Редоследот на внес е согласно со зависностите на надворешните клучеви на табелите; за конзистентни идентификатори податоците се внесуваат по слоеви на зависност: 1. '''Шифрарници''' (без зависности) — типови, статуси, валути, држави, академски степени, `tip_atribut` 2. '''Основни ентитети''' — `gradovi` → `lice` → `korisnici`, организациски единици, банкарски/трансакциски сметки 3. '''Оперативни податоци''' — работни позиции и ангажмани, предмети, акредитации, смерови, академски години и семестри, студенти 4. '''Трансакциски/тест податоци''' — уписи, оценки, испити, финансиски обврски, наплати и плати === Скрипти === || '''Тип''' || '''Опис''' || '''Линк''' || || DDL || Структура на базата (табели, индекси, погледи, функции, процедури, trigger функции) || [attachment:idontknow_ddl_script.sql DDL скрипта] ||