= Relational Model = == ЕР - дијаграм == Во продолжение е прикажан Ентитет-Релациониот дијаграм изработен во десктоп верзијата на Visual Paradigm кој го дефинира моделот на податоци за системот за управување со сообраќајни прекршоци. [[Image("dijagram (1).png"​, 1400px)]] Оригиналниот проектен фајл (`RelationalModel-AdvDB-25-26-L-V-TRACK.vpp`) и експортираниот дијаграм (`RelationalModel-AdvDB-25-26-L-V-TRACK.svg`) ---- == Опис на ентитети == Моделот е составен од следните ентитети, кои ги чуваат клучните информации во системот: * '''Gragjanin:''' Централен ентитет кој ги чува личните податоци за лицата (ЕМБГ, име, презиме, адреса, пол, датум на раѓање). Се појавува во улога на сопственик на возило, прекршител или уплатувач. * '''Vozilo:''' Ги чува податоците за моторните возила идентификувани преку нивниот број на шасија (VIN) и модел. * '''Boja_vozilo:''' Мултивредносен атрибут кој овозможува едно возило да има евидентирано повеќе бои истовремено. * '''Kategorija:''' Шифрарник за категориите на моторни возила. * '''Vozacka_dozvola:''' Евиденција за издадените возачки дозволи на граѓаните, вклучувајќи го бројот на дозволата, датумот на издавање и рокот на важност. * '''Registracija:''' Го поврзува возилото со неговиот сопственик (граѓанин) и ги чува податоците за регистарската таблица, датумот на регистрација и нејзиниот истек. * '''Policaec:''' Ентитет за службените лица (идентификувани преку ЕМБГ и број на значка). * '''Sektor:''' Ги дефинира поголемите организациски единици во полицијата (со име, регион и телефон). * '''Stanica:''' Полициски станици кои припаѓаат на одреден сектор, дефинирани со име и адреса. * '''Slucaj:''' Евиденција за конкретен сообраќаен настан на терен. Содржи датум на отворање, тип на настан и тековен статус. * '''Zadaca:''' Работна задача доделена на конкретен полицаец, поврзана со одреден случај. * '''Zapisnik:''' Официјален документ креиран на терен од страна на полицаец. Ги содржи времето, датумот, локацијата и податоците за инволвираниот граѓанин (прекршител) и возилото. * '''Prekrsok:''' Шифрарник на сите можни законски прекршоци, со нивно име и детален опис. * '''Kazna:''' Дефинирање на износот и описот на санкцијата која следува за одреден прекршок. * '''Uplata:''' Финансиски ентитет кој ги следи извршените плаќања од страна на граѓаните за конкретен записник, вклучувајќи износ, статус, датум и начин на плаќање. ---- == Опис на релации (Врски помеѓу ентитети) == * '''Граѓанин - Возачка дозвола (1:N):''' Еден граѓанин може да поседува возачка дозвола. Врската е преку ЕМБГ. * '''Возачка дозвола - Категорија (M:N):''' Една возачка дозвола може да содржи повеќе категории (на пр. A и B), и една категорија е дел од многу дозволи. Оваа врска се разрешува преку асоцијативната табела `Kategorija_Vozacka_dozvola`. * '''Возило - Категорија (N:1):''' Секое возило припаѓа на точно една категорија на возила. * '''Граѓанин - Регистрација - Возило:''' Регистрацијата делува како спој помеѓу граѓанинот и возилото. Еден граѓанин може да има повеќе регистрации (за различни возила), а едно возило може да има повеќе историски регистрации, но секоја регистрација е точно за едно возило и еден граѓанин. * '''Полицаец - Полицаец (Хиерархија 1:N):''' Рекурзивна врска каде еден полицаец може да биде надреден на повеќе други полицајци преку клучот `EMBG_nadreden`. * '''Полицаец - Станица (M:N):''' Еден полицаец може да работи во различни станици во различни временски периоди. Ова се разрешува преку историската табела `Raboti_vo` која ги чува датумите `datum_od` и `datum_do`. * '''Станица - Сектор (N:1):''' Повеќе полициски станици припаѓаат на еден ист полициски сектор. * '''Случај - Задача - Полицаец:''' За еден случај може да се креираат повеќе задачи, а секоја задача е доделена на конкретен полицаец за извршување. * '''Случај - Записник (1:N):''' За еден отворен случај можат да се креираат повеќе записници (ако се инволвирани повеќе возила или лица). * '''Записник - Полицаец, Граѓанин, Возило:''' Секој записник строго поврзува еден полицаец (кој го пишува), еден граѓанин (прекршител) и едно возило со кое е направен прекршокот. * '''Записник - Прекршок (M:N):''' Во еден записник можат да бидат наведени повеќе различни прекршоци, а еден ист прекршок може да биде дел од многу записници. Врската се разрешува преку ентитетот `Stavka_Zapisnik`. * '''Прекршок - Казна (N:1):''' Секој прекршок е поврзан со конкретна, предвидена казна (која го дефинира износот). * '''Записник - Уплата - Граѓанин:''' За еден записник може да се извршат повеќе уплати (на пр. плаќање на рати), а секоја уплата е направена од конкретен граѓанин.