Changes between Version 2 and Version 3 of ERDiagram_v01


Ignore:
Timestamp:
11/29/21 21:47:25 (3 years ago)
Author:
183060
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ERDiagram_v01

    v2 v3  
    11== Верзија 1
     2
     3== E-R Дијаграм
    24[[Image(ERDiagram_v01.jpg)]]
     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    * ''Кандидат клучеви:'' ''**__maticen_id__**'', вештачки нумерички идентификатор кој го имаат сите матични доктори за секоја инстанца од ''Maticen''. Претставува PRIMARY_KEY (задолжителен).\\
     27
     28* **Specijalist** - произлегува од Доктор.
     29    * ''Кандидат клучеви:'' ''**__spec_id__**'', вештачки нумерички идентификатор кој го имаат сите специјалисти за секоја инстанца од ''Specijalist''. Претставува PRIMARY_KEY (задолжителен).\\
     30
     31* **Bolnica** - ентитет во кој се чува листа на сите болници.\\
     32    * ''Кандидат клучеви:'' ''**__bolnica_id__**'', вештачки нумерички идентификатор кој го имаат сите болници за секоја инстанца од ''Bolnica''. Претставува PRIMARY_KEY (задолжителен).\\
     33    * ''Атрибути:''
     34        * naziv - од тип String (задолжителен)
     35        * grad - од тип String (задолжителен)
     36        * adresa - од тип String и е атрибут со повеќе вредности (ulica - од тип String и broj - од тип int) (задолжителен)\\
     37
     38* **Oddel** - ентитет во кој се чува листа на сите оддели во болниците. Овој е слаб ентитет и е во зависна релација со доктор.
     39    * ''Кандидат клучеви:'' ''**__oddel_id__**'', вештачки нумерички идентификатор кој го имаат сите оддели во болниците за секоја инстанца од ''Oddel''. Претставува PRIMARY_KEY (задолжителен).\\
     40    * ''Атрибути:''
     41        * naziv - од тип String (задолжителен)\\
     42
     43* **Pregled** - чува ИД за секој извршен преглед.
     44    * ''Кандидат клучеви:'' ''**__pregled_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Pregled''. Претставува PRIMARY_KEY (задолжителен).\\
     45
     46* **Upat** - потребен за да може пациентот да закаже термин кај специјалист.
     47    * ''Кандидат клучеви:'' ''**__upat_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Upat''. Претставува PRIMARY_KEY (задолжителен).
     48    * ''Атрибути:''
     49        * naziv_oddel - од тип String (задолжителен)\\
     50
     51* **Termin** - листа на достапни термини за закажување. Претставува слаб ентитет и е во зависна врска со специјалист.
     52    * ''Кандидат клучеви:'' ''**__termin_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Termin''. Претставува PRIMARY_KEY (задолжителен).
     53    * ''Атрибути:''
     54        * datum - од тип date (задолжителен)
     55        * cas - од тип dateTime (задолжителен)
     56        * doktor - од тип String (задолжителен)\\
     57
     58* **Transakcija** - чува листа на извршени трансакции.
     59    * ''Кандидат клучеви:'' ''**__tran_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Transakcija''. Претставува PRIMARY_KEY (задолжителен).
     60    * ''Атрибути:''
     61        * suma - од тип int/long int (задолжителен)
     62        * smetka - од тип int/long int (задолжителен)\\
     63
     64* **Rezervacija** - потребен за да може пациентот да закаже термин кај специјалист.
     65    * ''Кандидат клучеви:'' ''**__rezervacija_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Rezervacija''. Претставува PRIMARY_KEY (задолжителен).
     66    * ''Атрибути:''
     67        * termin - од тип date (задолжителен)\\
     68
     69* **Login** - ентитет кој чува листа со потребни креденцијали за најава.
     70    * ''Кандидат клучеви:'' ''**__login_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Login''. Претставува PRIMARY_KEY (задолжителен).
     71    * ''Атрибути:''
     72        * password - од тип String (задолжителен)
     73        * login_e-mail - од тип String (задолжителен)
     74        * login_uloga_id - од тип String (задолжителен)\\
     75
     76* **Ulogi** - ентитет кој ги содржи улогите со кои може да се најави еден корисник.
     77    * ''Кандидат клучеви:'' ''**__uloga_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Ulogi''. Претставува PRIMARY_KEY (задолжителен).
     78    * ''Атрибути:''
     79        * uloga-ime - од тип String (задолжителен)
     80        * uloga_opis - од тип String (задолжителен)\\
     81
     82* **Permisii** - чува листа на извршени трансакции.
     83    * ''Кандидат клучеви:'' ''**__per_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Permisii''. Претставува PRIMARY_KEY (задолжителен).
     84    * ''Атрибути:''
     85        * per_ime - од тип String (задолжителен)
     86        * per_uloga_id - од тип int/long int (задолжителен)
     87
     88=== Релации
     89
     90* **ima** - Човек има улоги и пермисии, во зависност од тоа дали ќе биде најавен како доктор или како пациент. Има login, во смисла дека се најавува на апликацијата.
     91
     92* **pravi** - Матичен доктор може да прави преглед. Кардиналноста е 1 : N, што значи дека еден доктор може да прави повеќе прегеди, а еден преглед може да биде направен/извршен од еден доктор.
     93
     94* **dobiva** - Пациент добива упат. Кардиналноста е 1 : N, што значи дека еден пациент може да добие повеќе упати и еден упат може да биде даден на еден пациент.
     95
     96* **raboti_vo** - Доктор работи во оддел. Кардиналноста е N : 1, од двете страни има тотално учество. Тоа значи дека во еден оддел мора да работи барем еден доктор, а еден доктор мора да работи во само еден оддел.
     97
     98* **za_kaj** - Слаба релација помеѓу термин и специјалист. Кардиналност 1 : 1. Еден термин е за кај еден специјалист и за кај еден специјалист има еден термин.
     99
     100* **go_ima_vo** - Тотална релација и од двете страни помеѓу оддел и болница. Кардиналност N : N. Еден оддел мора да биде барем во една болница, во една болница мора да има еден или повеќе оддели.
     101
     102* **za_vo** - Упатот е за во некој оддел. Еден упат е наменет за во еден оддел, во еден оддел може да одат пациенти со еден упат. Кардиналност 1 : 1.
     103
     104* **se_dobiva** - Од извршен преглед може да се добијат повеќе упати, а еден упат може да биде напишан/издаден врз основа на еден извршен преглед. Кардиналност 1 : N.
     105
     106* **pravi** - Со избирање на даден термин мора да се направи една резервација, а резервацја може да се направи со избирање на еден термин. Кардиналност 1 : 1. Тотално учество од страната на резервација.
     107
     108* **se_prebaruva** - Според еден упат може да се пребарува термин, еден термин може да биде пребаруван според дијагнозата внесена во упатот. Кардиналност 1 : 1.
     109
     110* **potvrduva_so** - Резервацијата се потврдува со трансакција. Со една трансакција може да се потврди една резервација и една резервација може да биде потврдена со една трансакција. Кардиналност 1 : 1.