| 5 | | [[Image(ERDijagram.png, 1400px)]] |
| | 5 | Во табелата **kursna_lista** имаме два странски клучеви **(valuta_od_id и valuta_do_id)** кои се поврзуваат со **табелата valuta**. Ова е специфичен модел бидејќи се работи за самореференцирачка врска, каде една табела се поврзува сама со себе преку друга табела. Со ова се моделира реален девизен курс помеѓу две валути. Дополнително, воведено е уникатно ограничување (datum, valuta_od, valuta_do) за да се спречи дуплирање на курсеви за ист ден. |
| | 6 | |
| | 7 | Табелите **transakcija и nalog** се раздвоени со цел да се направи јасна разлика помеѓу иницирање и извршување на финансиска операција. Налогот претставува барање или инструкција за трансакција, додека трансакцијата е реално извршената операција. Врската е поставена така што трансакцијата може да постои и без налог **(nullable foreign key)**, со што се овозможува поддршка и за автоматски или системски генерирани трансакции. |
| | 8 | |
| | 9 | Во табелата** rata_kredit** се чуваат ратите за кредит, при што секоја рата може да биде поврзана со конкретна transakcija. Овој модел овозможува да се следи не само планот на отплата, туку и реалната исплата на секоја рата. Доколку трансакцијата е null, тоа значи дека ратата сè уште не е платена. Овој пристап овозможува детална евиденција и контрола на кредитите. |
| | 10 | |
| | 11 | Табелите **telefon, email и adresa** се издвоени како посебни ентитети наместо да бидат дел од клиентот или вработениот. Причината за ова е што еден клиент или вработен може да има повеќе контакт информации. Со ова се избегнува редундантност и се овозможува поголема флексибилност во моделот. |
| | 12 | |
| | 13 | Табелата **potpisnik** служи за поврзување на **klient и dogovor** со цел да се овозможи еден договор да има повеќе потписници. Наместо директна врска, се користи посредна табела за да се моделира many-to-many релација. Ова е важно во реални сценарија каде повеќе лица можат да бидат вклучени во ист договор (на пример ко-корисници на кредит). |