Changes between Version 1 and Version 2 of ERDiagram_v02


Ignore:
Timestamp:
11/29/21 22:58:44 (3 years ago)
Author:
183060
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ERDiagram_v02

    v1 v2  
    11== Верзија 2
     2
     3== E-R Дијаграм
     4
     5
     6== Податочни побарувања
     7
     8=== Ентитети
     9
     10* **Covek** - ентитет кој ги има податоците потребни да се чуваат за секој поединец (корисник). Од овој ентитет произлегуваат уште 2 други.\\
     11    * ''Кандидат клучеви:'' ''**__covek_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Covek''. Претставува PRIMARY_KEY (задолжителен).
     12    * ''Атрибути:''\\
     13        * ime - од тип String (задолжителен)
     14        * prezime - од тип String (задолжителен)
     15        * EMBG - од тип int/long int (задолжителен)
     16        * e-mail - од тип String (задолжителен)
     17        * telefoni - од тип int/long int (опционален)\\
     18
     19* **Pacient** - произлегува од Човек.\\
     20    * ''Кандидат клучеви:'' ''**__pacient_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Pacient''. Претставува PRIMARY_KEY (задолжителен).\\
     21
     22* **Doktor** - ентитет кој произлегува од Човек. Овој ентитет има 2 субкласи.\\
     23    * ''Кандидат клучеви:'' ''**__br_licenca__**'', нумерички идентификатор кој го имаат сите доктори за секоја инстанца од ''Doktor''. Претставува PRIMARY_KEY (задолжителен).\\
     24
     25* **Maticen** - произлегува од Доктор, клучот се наследува од доктор (број на лиценца).\\
     26
     27* **Specijalist** - произлегува од Доктор, клучот се наследува од доктор (број на лиценца).\\
     28
     29* **Specijalnost** - ги чува сите специјалности на докторите (специјалисти).
     30    * ''Кандидат клучеви:'' ''**__specijalnost_id__**'', вештачки нумерички идентификатор кој го имаат специјалностите за секоја инстанца од ''Specijalnost''. Претставува PRIMARY_KEY (задолжителен).\\
     31    * ''Атрибути:''\\
     32        * naziv_spec - од тип String (задолжителен)\\
     33
     34* **Bolnica** - ентитет во кој се чува листа на сите болници.\\
     35    * ''Кандидат клучеви:'' ''**__bolnica_id__**'', вештачки нумерички идентификатор кој го имаат сите болници за секоја инстанца од ''Bolnica''. Претставува PRIMARY_KEY (задолжителен).\\
     36    * ''Атрибути:''
     37        * naziv - од тип String (задолжителен)
     38        * grad - од тип String (задолжителен)
     39        * adresa - од тип String и е атрибут со повеќе вредности (ulica - од тип String и broj - од тип int) (задолжителен)\\
     40
     41* **Oddel** - ентитет во кој се чува листа на сите оддели во болниците. Овој е слаб ентитет и е во зависна релација со доктор.
     42    * ''Кандидат клучеви:'' ''**__oddel_id__**'', вештачки нумерички идентификатор кој го имаат сите оддели во болниците за секоја инстанца од ''Oddel''. Претставува PRIMARY_KEY (задолжителен).\\
     43    * ''Атрибути:''
     44        * naziv - од тип String (задолжителен)\\
     45
     46* **Pregled** - чува ИД за секој извршен преглед.
     47    * ''Кандидат клучеви:'' ''**__pregled_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Pregled''. Претставува PRIMARY_KEY (задолжителен).\\
     48
     49* **Upat** - потребен за да може пациентот да закаже термин кај специјалист.
     50    * ''Кандидат клучеви:'' ''**__upat_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Upat''. Претставува PRIMARY_KEY (задолжителен).
     51    * ''Атрибути:''
     52        * naziv_oddel - од тип String (задолжителен)\\
     53
     54* **Termin** - листа на достапни термини за закажување. Претставува слаб ентитет и е во зависна врска со специјалист.
     55    * ''Кандидат клучеви:'' ''**__termin_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Termin''. Претставува PRIMARY_KEY (задолжителен).
     56    * ''Атрибути:''
     57        * datum - од тип date (задолжителен)
     58        * cas - од тип dateTime (задолжителен)
     59        * doktor - од тип String (задолжителен)\\
     60
     61* **Transakcija** - чува листа на извршени трансакции.
     62    * ''Кандидат клучеви:'' ''**__tran_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Transakcija''. Претставува PRIMARY_KEY (задолжителен).
     63    * ''Атрибути:''
     64        * suma - од тип int/long int (задолжителен)
     65        * smetka - од тип int/long int (задолжителен)\\
     66
     67* **Rezervacija** - потребен за да може пациентот да закаже термин кај специјалист.
     68    * ''Кандидат клучеви:'' ''**__rezervacija_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Rezervacija''. Претставува PRIMARY_KEY (задолжителен).
     69    * ''Атрибути:''
     70        * termin - од тип date (задолжителен)\\
     71
     72* **Login** - ентитет кој чува листа со потребни креденцијали за најава.
     73    * ''Кандидат клучеви:'' ''**__login_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Login''. Претставува PRIMARY_KEY (задолжителен).
     74    * ''Атрибути:''
     75        * password - од тип String (задолжителен)
     76        * login_e-mail - од тип String (задолжителен)
     77        * login_uloga_id - од тип String (задолжителен)\\
     78
     79* **Ulogi** - ентитет кој ги содржи улогите со кои може да се најави еден корисник.
     80    * ''Кандидат клучеви:'' ''**__uloga_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Ulogi''. Претставува PRIMARY_KEY (задолжителен).
     81    * ''Атрибути:''
     82        * uloga-ime - од тип String (задолжителен)
     83        * uloga_opis - од тип String (задолжителен)\\
     84
     85* **Permisii** - чува листа на извршени трансакции.
     86    * ''Кандидат клучеви:'' ''**__per_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Permisii''. Претставува PRIMARY_KEY (задолжителен).
     87    * ''Атрибути:''
     88        * per_ime - од тип String (задолжителен)
     89        * per_uloga_id - од тип int/long int (задолжителен)
     90
     91=== Релации
     92
     93* **ima** - Човек има улоги и пермисии, во зависност од тоа дали ќе биде најавен како доктор или како пациент. Има login, во смисла дека се најавува на апликацијата.
     94
     95* **pravi** - Секој доктор може да прави преглед. Кардиналноста е 1 : N, што значи дека еден доктор може да прави повеќе прегеди, а еден преглед може да биде направен/извршен од еден доктор.
     96
     97* **dobiva** - Пациент добива упат. Кардиналноста е 1 : N, што значи дека еден пациент може да добие повеќе упати и еден упат може да биде даден на еден пациент.
     98
     99* **raboti_vo** - Доктор работи во оддел. Кардиналноста е N : 1, од двете страни има тотално учество. Тоа значи дека во еден оддел мора да работи барем еден доктор, а еден доктор мора да работи во само еден оддел.
     100
     101* **za_kaj** - Слаба релација помеѓу термин и специјалист. Кардиналност 1 : 1. Еден термин мора да е за кај еден специјалист и за кај еден специјалист има еден термин.
     102
     103* **go_ima_vo** - Тотално учество од страната на болница. Кардиналност N : 1. Еден оддел мора да биде точно во една болница, во една болница може да има еден или повеќе оддели.
     104
     105* **za_vo** - Упатот е за во некој оддел. Еден упат е наменет за во еден оддел, во еден оддел може да одат пациенти со еден упат. Кардиналност 1 : 1.
     106
     107* **se_dobiva** - Од извршен преглед може да се добијат повеќе упати, а еден упат може да биде напишан/издаден врз основа на еден извршен преглед. Кардиналност 1 : N.
     108
     109* **pravi** - Со избирање на даден термин мора да се направи една резервација, а резервацја може да се направи со избирање на еден термин. Кардиналност 1 : 1. Тотално учество од страната на резервација.
     110
     111* **moze_da_dava** - Специјалист може да дава упат. Кардиналноста е 1 : 1, па според тоа еден упат може да биде издаден од еден специјалист и еден специјалист може да даде еден упат.
     112
     113* **specijalizira** - Еден специјалист мора да специјализира во точно една специјалност, во една специјалност може да специјализираат повеќе специјалисти. Кардиналност 1 : N. Тотално учество од страната на специјалност.
     114
     115* **vo** - Еден оддел мора да биде во точно една болница, во една болница мора да има само еден оддел. Кардиналност 1 : 1. Тотално учество од двете страни.
     116
     117* **se_prebaruva** - Според еден упат може да се пребарува термин, еден термин може да биде пребаруван според дијагнозата внесена во упатот. Кардиналност 1 : 1.
     118
     119* **potvrduva_so** - Резервацијата се потврдува со трансакција. Со една трансакција може да се потврди една резервација и една резервација може да биде потврдена со една трансакција. Кардиналност 1 : 1.