Changes between Version 2 and Version 3 of ERModel


Ignore:
Timestamp:
11/11/22 01:00:55 (23 months ago)
Author:
201082
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ERModel

    v2 v3  
    1 = Верзија 1
     1= Актуелна верзија
    22
    3 == ER дијаграм
     3== Дијаграм
     4[[Image(ERmodel_v1.jpg)]]
    45
    56== Податочни побарувања
     
    78=== Ентитети
    89
    9 1. **Companies** - ентитет кој ќе нуди услуга за транспорт на нашиот систем
     10* Kompanija - ентитет кој дефинира компанија
     11  * kompanija_id - нумерички тип (примарен клуч)
     12  * company_ID, примарен клуч од нумерички тип
     13  * kompanija_ime - текстуален тип (задолжителен атрибут)
     14  * kompanija_adresa - текстуален тип (задолжителен атрибут)
     15  * kompanija_telefon - текстуален тип (задолжителен атрибут)
    1016
    11    > * company_ID, примарен клуч од нумерички тип
    12    > * name, задолжителен атрибут од тип varchar
    13    > * address, задолжителен атрибут од тип varchar
    14    > * phone, атрибут со повеќе вредности од тип varchar
     17* Licenca - слаб ентитет кој дефинира лиценца за работа на компанијата
     18  * licenca_id - нумерички тип (парцијален клуч / дискриминатор)
     19  * licenca_vazi_od - датум (задолжителен атрибут)
     20  * licenca_vazi_do - датум (задолжителен атрибут)
    1521
    16 2. **Licences ** - слаб ентитет кој претставува лиценца
     22* Vraboten - ентитет кој дефинира вработен во компанијата
     23  * vraboten_id - нумерички тип (примарен клуч)
     24  * vraboten_ime - текстуален тип (задолжителен атрибут)
     25  * vraboten_prezime - текстуален тип (задолжителен атрибут)
     26  * vraboten_telefon - текстуален тип (задолжителен атрибут)
     27  * vraboten_email - текстуален тип (задолжителен повеќевредносен атрибут)
    1728
    18    > * licence_ID, слаб примарен клуч од нумерички тип
    19    > * valid_from, задолжителен атрибут од тип датум
    20    > * expires_on, задолжителен атрибут од тип датум
     29* Administrator - ентитет кој дефинира вработен од тип администратор
    2130
    22 3. **Employees ** - множество ентитети на вработени
     31* Dispecer - ентитет кој дефинира вработен од тип диспечер
    2332
    24    > * employee_ID, примарен клуч од нумерички тип
    25    > * name, задолжителен атрибут од тип varchar
    26    > * surname, задолжителен атрибут од тип varchar
    27    > * email, опционален? атрибут од тип varchar, во специјален формат на email адреса
    28    > * phone,  атрибут со повеќе вредности од тип varchar
     33* Vozac - ентитет кој дефинира вработен од тип возач
    2934
    30 4. **Administrators** - ентитет кој претставува администратор од компанија
     35* Vozilo - ентитет кој дефинира возило кое го поседува компанијата
     36  * vozilo_id - нумерички тип (примарен клуч)
     37  * vozilo_kapacitet - текстуален тип (задолжителен атрибут)
     38  * vozilo_promet - нумерички тип (изведен атрибут)
    3139
    32 5. **Dispatchers** - ентитет кој претставува диспечер
    33  
    34 6. **Drivers** - ентитет на возач на рута
     40* Tip - ентитет кој дефинира тип на возило
     41  * tip_id - нумерички тип (примарен клуч)
     42  * tip_ime - текстуален тип (задолжителен атрибут)
    3543
    36 7. **Vehicles** - множество ентитети на возила на компанија
     44* Klient - ентитет кој ги дефинира корисниците регистрирани како клиенти
     45  * klient_id - нумерички тип (примарен клуч)
     46  * klient_telefon - текстуален тип (задолжителен атрибут)
     47  * klient_email - текстуален тип (задолжителен атрибут)
     48  * klient_ime - текстуален тип (задолжителен атрибут)
     49  * klient_prezime - текстуален тип (задолжителен атрибут)
    3750
    38    > * licence_plate, примарен клуч од нумерички тип
    39    > * capacity, задолжителен атрибут од нумерички тип
    40    > * is_free, задолжителен атрибут од тип булеан
    41    > * driven_routes, изведен атрибут
    42    > * promet?, изведен атрибут
     51* Rezervacija - ентитет кој дефинира резервација
     52  * rezervacija_id - нумерички тип (примарен клуч)
    4353
    44 8. **Types ** - ентитент кој претставува тип на возило
     54* Roba - ентитет кој дефинира роба
     55  * roba_id - нумерички тип (примарен клуч)
     56  * roba_kolicina - текстуален тип (задолжителен атрибут)
    4557
    46    > * type_ID, примарен клуч од нумерички тип
    47    > * type_name, задолжителен атрибут од тип varchar, домен: комбе, камион, шлепер
     58* Kategorija - ентитет кој ја дефинира категоријата на робата
     59  * kategorija_id - нумерички тип (примарен клуч)
     60  * kategorija_ime - текстуален тип (задолжителен атрибут)
    4861
    49 9. **Clients ** - множество ентитети на клиенти кои имаат потреба од услуга
     62* Ruta - ентитет кој дефинира рута
     63  * ruta_id - нумерички тип (примарен клуч)
     64  * datum_poagjanje - датум (задолжителен атрибут)
     65  * datum_pristignuvanje - датум (задолжителен атрибут)
    5066
    51    > * client_ID, примарен клуч од нумерички тип
    52    > * name, задолжителен атрибут од тип varchar
    53    > * phone, задолжителен атрибут од тип varchar
    54    > * email, задолжителен атрибут од тип varchar во формат на email адреса
    55    > * reservations, атрибут со повеќе вредности од тип varchar
     67* Grad - ентитет кој дефинира град
     68  * grad_id - нумерички тип (примарен клуч)
     69  * grad_ime - текстуален тип (задолжителен атрибут)
    5670
    57 10. **Invoice-Faktura ** - ентитет кој претставува фактура за рута
    58 
    59    > * faktura_ID, примарен клуч од нумерички тип
    60    > * price, задолжителен атрибут од тип varchar
    61    > * phone, задолжителен атрибут од тип varchar
    62 
    63 11. **Reservations ** - ентитет кој претставува резервација на услуга од компанија
    64 
    65    > * reservation_ID, примарен клуч од нумерички тип
    66 
    67 12. **Routes ** - ентитет кој претставува рута, услугата што ја нуди компанијата
    68 
    69    > * route_ID, примарен клуч од нумерички тип
    70    > * date_from, задолжителен атрибут од тип датум
    71    > * date_to, задолжителен атрибут од тип датум
    72 
    73 13. **Cities** - ентитет кој претставува почетна или крајна точка на рутата
    74 
    75    > * city_ID, примарен клуч од нумерички тип
    76    > * name, задолжителен атрибут од тип varchar
    77 
    78 14. **Products-Roba** - ентитет што претставува роба која треба да се превезе
    79 
    80    > * product_ID, примарен клуч од нумерички тип
    81    > * quantity, задолжителен атрибут од нумерички тип
    82 
    83 15. **Catefories ** - ентитет кој претставува категорија на робата
    84 
    85    > * category_ID, примарен клуч од нумерички тип
    86    > * cat_name, задолжителен атрибут од тип varchar, домен: пијалок, мебел, смрзнато
     71* Faktura - ентитет кој дефинира фактура за резервација
     72  * faktura_id - нумерички тип (примарен клуч)
     73  * faktura_iznos - нумерички тип (задолжителен атрибут)
    8774
    8875
    8976=== Релации
    90   1. //**owns**//, 1:N релација за копанија која поседува возила
    9177
    92   2. //**works_at**//, 1:N релација за вработени во компанија
     78* //** ima **// - 1:1 релација (со тотално учество од страната на ентитетот Лиценца) која означува дека една компанија има една лиценца и една лиценца мора да припаѓа на една компанија
    9379
    94   3. //**has**//, 1:1 релација меѓу компанија и лиценца
     80* //** raboti_vo **// - 1:N релација (со тотално учество од страната на ентитетот Вработен) која означува дека една компанија може да има повеќе вработени и еден вработен мора да работи во една компанија
    9581
    96   4. //**drives_with**//, 1:N релација меѓу ентитет возач и возило
     82* //** poseduva **// - 1:N релација (со тотално учество од страната на ентитетот Возило) која означува дека една компанија може да има повеќе возила и едно возило мора да припаѓа на една компанија
    9783
    98   5. //**drives**//, 1:N релација меѓу ентитет возач и рута
     84* //** od **// - 1:N релација (со тотално учество од страната на ентитетот Возило) која означува дека едно возило мора да е од одреден тип и од еден тип можат да бидат повеќе возила
    9985
    100   6. //**is_of**//, 1:N релација која дефинира тип на возило
     86* //** vozi **// - 1:N релација која означува дека еден возач може да вози повеќе возила и едно возило се вози од еден возач
    10187
    102   7. //**follows**//, 1:N релација меѓу диспечер и рутата која ја следи
     88* //** kreira **// - 1:N релација (со тотално учество од страната на ентитетот Резервација) која означува дека еден клиент може да креира повеќе резервации и една резервација мора да биде креирана од еден клиент
    10389
    104   8. //**sends**//, 1:N релација меѓу фактура и администратор кој ја издава
     90* //** prevezuva **// - 1:N релација (со тотално учество од страната на ентитетот Резервација) која означува дека една резервација мора да пренесува една роба и една роба може да се превезува со повеќе резервации
    10591
    106   9. //**receives**//, 1:N релација меѓу пратена фактура и клиент
     92* //** e_od **// - 1:N релација која означува дека една роба е од една категорија и од една категорија може да има повеќе роба
    10793
    108   10. //**contains**//, 1:N релација меѓу фактура и резервација за која е издадена
     94* //** sodrzi **// - 1:1 релација (со тотално учество од страната на ентитетот Фактура) која означува дека една резервација содржи една фактура и секоја една фактура мора да се содржи во некоја резервација
    10995
    110   11. //**creates**//, 1:N релација меѓу клиент на апликацијата и резервација 
     96* //** izdava **// - 1:N релација која означува дека еден администратор може да издава повеќе фактури и една фактура се издава од еден администратор
    11197
    112   12. //**starts_at**//, 1:N релација која ги поврзува почетната точка и рутата
     98* //** se_vozi_za **// - 1:N релација (со тотално учество од страната на ентитетот Резервација) која означува дека за една резервација мора да се вози една рута и една рута може да се вози за повеќе резервации
    11399
    114   13. //**ends_at**//, 1:N релација која ги поврзува крајнта точка и рутата
     100* //** sledi **// - 1:N релација (со тотално учество од страна на ентитетот Рута) која означува дека еден диспечер може да следи повеќе рути и една рута мора да е следена од еден диспечер
    115101
    116   14. //**categorizes_as**//, 1:N релација која означува од која категорија е робата за транспорт
     102* //** ja_vozi **// - 1:N релација (со тотално учество од страна на ентитетот Рута) која означува дека еден возач може да вози повеќе рути и секоја една рута мора да е возена од еден возач
    117103
    118   15. //**reserves**//, 1:N / 1:1? релација која ги поврзува резервацијата и избраната рута
     104* //** zapocnuva_vo **// - 1:N релација која означува дека една рута започнува во еден град и еден град може да е почеток на повеќе рути
    119105
    120   16. //**transport_for**//, 1:N / 1:1? релација меѓу резервацијата и робата за транспорт
     106* //** zavrsuva_vo **// - 1:N релација која означува дека една рута завршува во еден град и еден град може да е крајна дестинација на повеќе рути
     107
    121108
    122109== Историјат
     110
     111{{{#!html
     112
     113<ul>
     114 <li><a href="https://develop.finki.ukim.mk/projects/TruckIO/attachment/wiki/ERModel/ERmodel_v1.jpg" style="color:darkred; font-weight: bold" >Актуелна верзија</a></li>
     115
     116</ul>
     117}}}