Changes between Version 5 and Version 6 of DatabaseCreation


Ignore:
Timestamp:
06/16/26 11:54:30 (4 days ago)
Author:
231069
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DatabaseCreation

    v5 v6  
    1414|| Vozacka_dozvola || Возачки дозволи со датум и рок на важност || broj_dozvola ||
    1515|| Kategorija_Vozacka_dozvola || Положени категории по дозвола || (id_kategorija, broj_dozvola) ||
    16 || Registracija || Регистрации на возила по граѓанин, со историја || id_registracija ||
     16|| Sopstvenost || Сопственост на возило од граѓанин, со период на важење (datum_steknuvanje/datum_kraj) || id_sopstvenost ||
     17|| Registerska_tablica || Регистарски таблици (регион, број, код) || id_tablica ||
     18|| Registracija || Регистрации по сопственост, со историја и доделена таблица || id_registracija ||
    1719|| Policaec || Полицајци (специјализација на Gragjanin) || EMBG_P ||
    1820|| Sektor || Сектори за внатрешни работи (СВР) || id_sektor ||
     
    3537* за уплата ('Plateno', 'Neplateno', 'Sudska_postapka') и за задача ('Aktivna', 'Zavrsena', 'Otkazana'),
    3638* позитивни износи на казни и уплати,
     39* валиден период на сопственост (datum_kraj мора да биде по datum_steknuvanje, ако постои),
    3740* како и валидни датумски опсези (на пр. рокот на важност мора да биде по датумот на издавање).
    3841 
    39 `DEFAULT` вредностите даваат разумни почетни состојби: ime и prezime ('unknown'), статус на случај ('Otvoren'), статус на уплата ('Neplateno'), статус на задача ('Aktivna') и Potpis (false).
     42Покрај примарните клучеви, `UNIQUE` ограничувањето на `Registerska_tablica` (region, broj, kod) спречува две возила да добијат иста регистарска таблица.
     43 
     44`DEFAULT` вредностите даваат разумни почетни состојби: ime и prezime ('unknown'), статус на случај ('Otvoren'), статус на уплата ('Neplateno'), статус на задача ('Aktivna'), Potpis (false) и datum_steknuvanje (тековен датум).
    4045 
    4146Табелата `Policaec` има самоповикувачки надворешен клуч (EMBG_nadreden покажува кон EMBG_P) со кој се моделира хиерархијата на надредени.
     
    4449Сите надворешни клучеви користат `ON UPDATE CASCADE`: ако се промени вредноста на примарниот клуч кај родителот, промената автоматски се пренесува и кај децата.
    4550
    46 За бришење, никаде не користиме `ON DELETE CASCADE`-сите надворешни клучеви се `ON DELETE RESTRICT`. Бидејќи базата чува чувствителни, историски и финансиски податоци (записници, ставки, плаќања, регистрации, дозволи), не сакаме автоматско бришење на поврзани записи, бидејќи тоа лесно би можело да доведе до случаен губиток на важни податоци. Затоа родител не може да се избрише додека постојат негови деца - на пример, не може да се избрише граѓанин што има регистрации, дозволи или записници, ниту возило што има внесени бои, ниту казна што е поврзана со прекршок. Со ова бришењето секогаш мора да биде свесна, експлицитна одлука, со што се штити интегритетот на историјата и на финансиските податоци.
     51За бришење, никаде не користиме `ON DELETE CASCADE`-сите надворешни клучеви се `ON DELETE RESTRICT`. Бидејќи базата чува чувствителни, историски и финансиски податоци (записници, ставки, плаќања, сопствености, регистрации, дозволи), не сакаме автоматско бришење на поврзани записи, бидејќи тоа лесно би можело да доведе до случаен губиток на важни податоци. Затоа родител не може да се избрише додека постојат негови деца - на пример, не може да се избрише граѓанин што има сопствености, дозволи или записници, ниту возило што има внесени бои или сопствености, ниту казна што е поврзана со прекршок. Со ова бришењето секогаш мора да биде свесна, експлицитна одлука, со што се штити интегритетот на историјата и на финансиските податоци.
    4752 
    4853 
     
    5762* `random()` со тежински распределби за реалистичен микс категории возила, модели, статуси.
    5863* `ON CONFLICT DO NOTHING` за избегнување дупликати на ЕМБГ/број на шасија/број на дозвола.
    59  
     64* Детерминистичко генерирање на уникатни регистарски таблици по регион (реден број во рамки на регионот мапиран во 4-цифрен број и двобуквен код), за да се почитува `UNIQUE(region, broj, kod)`.
     65
    6066=== 2.2 Обем на податоци ===
    6167|| # || Табела || Број записи ||
     
    6672|| 5 || Vozacka_dozvola || ~1.200.000 ||
    6773|| 6 || Kategorija_Vozacka_dozvola || ~1.500.000 ||
    68 || 7 || Registracija || ~5.000.000 ||
    69 || 8 || Policaec || 10.000 ||
    70 || 9 || Sektor || 8 ||
    71 || 10 || Stanica || 20 ||
    72 || 11 || Raboti_vo || ~10.000 ||
    73 || 12 || Kazna || 20 ||
    74 || 13 || Prekrsok || 100 ||
    75 || 14 || Slucaj || 1.000.000 ||
    76 || 15 || Zadaca || ~4.500.000 ||
    77 || 16 || Zapisnik || ~10.000.000 ||
    78 || 17 || Stavka_Zapisnik || ~20.000.000 ||
    79 || 18 || Uplata || ~10.000.000 ||
     74|| 7 || Sopstvenost || ~2.000.000 ||
     75|| 8 || Registerska_tablica || ~2.000.000 ||
     76|| 9 || Registracija || ~5.000.000 ||
     77|| 10 || Policaec || 10.000 ||
     78|| 11 || Sektor || 8 ||
     79|| 12 || Stanica || 20 ||
     80|| 13 || Raboti_vo || ~10.000 ||
     81|| 14 || Kazna || 20 ||
     82|| 15 || Prekrsok || 100 ||
     83|| 16 || Slucaj || 1.000.000 ||
     84|| 17 || Zadaca || ~4.500.000 ||
     85|| 18 || Zapisnik || ~10.000.000 ||
     86|| 19 || Stavka_Zapisnik || ~20.000.000 ||
     87|| 20 || Uplata || ~10.000.000 ||