Changes between Version 15 and Version 16 of ERModel
- Timestamp:
- 11/30/21 00:20:17 (3 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ERModel
v15 v16 1 == Верзија 21 == Верзија 3 2 2 3 3 == E-R Дијаграм 4 [[Image(ERDiagram_v0 2.jpg)]]4 [[Image(ERDiagram_v03.jpg)]] 5 5 6 6 == Податочни побарувања … … 15 15 * EMBG - од тип int/long int (задолжителен) 16 16 * e-mail - од тип String (задолжителен) 17 * password - од тип String (задолжителен) 17 18 * telefoni - од тип int/long int (опционален)\\ 18 19 … … 20 21 * ''Кандидат клучеви:'' ''**__pacient_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Pacient''. Претставува PRIMARY_KEY (задолжителен).\\ 21 22 22 * **Doktor** - ентитет кој произлегува од Човек. Овој ентитет има 2 субкласи.\\23 * **Doktor** - ентитет кој произлегува од Човек.\\ 23 24 * ''Кандидат клучеви:'' ''**__br_licenca__**'', нумерички идентификатор кој го имаат сите доктори за секоја инстанца од ''Doktor''. Претставува PRIMARY_KEY (задолжителен).\\ 24 25 * **Maticen** - произлегува од Доктор, клучот се наследува од доктор (број на лиценца).\\ 26 27 * **Specijalist** - произлегува од Доктор, клучот се наследува од доктор (број на лиценца).\\ 25 * ''Атрибути:''\\ 26 * opis- од тип String (задолжителен) 28 27 29 28 * **Specijalnost** - ги чува сите специјалности на докторите (специјалисти). 30 29 * ''Кандидат клучеви:'' ''**__specijalnost_id__**'', вештачки нумерички идентификатор кој го имаат специјалностите за секоја инстанца од ''Specijalnost''. Претставува PRIMARY_KEY (задолжителен).\\ 31 30 * ''Атрибути:''\\ 32 * naziv _spec- од тип String (задолжителен)\\31 * naziv - од тип String (задолжителен)\\ 33 32 34 33 * **Bolnica** - ентитет во кој се чува листа на сите болници.\\ … … 50 49 * ''Кандидат клучеви:'' ''**__upat_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Upat''. Претставува PRIMARY_KEY (задолжителен). 51 50 * ''Атрибути:'' 52 * naziv_oddel- од тип String (задолжителен)\\51 * dijagnoza - од тип String (задолжителен)\\ 53 52 54 * **Termin** - листа на достапни термини за закажување. Претставува слаб ентитет и е во зависна врска со специјалист.53 * **Termin** - листа на достапни термини за закажување. Претставува слаб ентитет и е во зависна врска со доктор. 55 54 * ''Кандидат клучеви:'' ''**__termin_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Termin''. Претставува PRIMARY_KEY (задолжителен). 56 55 * ''Атрибути:'' 57 56 * datum - од тип date (задолжителен) 58 * cas - од тип dateTime (задолжителен) 59 * doktor - од тип String (задолжителен)\\ 57 * cas - од тип dateTime (задолжителен)\\ 60 58 61 59 * **Transakcija** - чува листа на извршени трансакции. … … 63 61 * ''Атрибути:'' 64 62 * suma - од тип int/long int (задолжителен) 65 * smetka - од тип int/long int (задолжителен)\\63 * smetka_bolica - од тип int/long int (задолжителен)\\ 66 64 67 65 * **Rezervacija** - потребен за да може пациентот да закаже термин кај специјалист. 68 66 * ''Кандидат клучеви:'' ''**__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 67 91 68 === Релации 92 69 93 * **ima** - Човек има улоги и пермисии, во зависност од тоа дали ќе биде најавен како доктор или како пациент. Има login, во смисла дека се најавува на апликацијата.94 70 95 71 * **pravi** - Секој доктор може да прави преглед. Кардиналноста е 1 : N, што значи дека еден доктор може да прави повеќе прегеди, а еден преглед може да биде направен/извршен од еден доктор. 96 72 97 * **dobiva** - Пациент добива упат. Кардиналноста е 1 : N, што значи дека еден пациент може да добие повеќе упати и еден упат може да биде даденна еден пациент.73 * **dobiva** - Пациент добива упат. Кардиналноста е 1 : N, што значи дека еден пациент може да добие повеќе упати и повеќе упати можат да бидат дадени на еден пациент. 98 74 99 75 * **raboti_vo** - Доктор работи во оддел. Кардиналноста е N : 1, од двете страни има тотално учество. Тоа значи дека во еден оддел мора да работи барем еден доктор, а еден доктор мора да работи во само еден оддел. 100 76 101 * ** za_kaj** - Слаба релација помеѓу термин и специјалист. Кардиналност 1 : 1. Еден термин мора да е за кај еден специјалист и за кај еден специјалист има еден термин.77 * **objavuva** - Слаба релација помеѓу термин и доктор. Кардиналност 1 : N. Еден термин мора да е објавен од точно еден доктор и еден доктор мора да објави повеќе термини. Тотално учество од двете страни. 102 78 103 79 * **go_ima_vo** - Тотално учество од страната на болница. Кардиналност N : 1. Еден оддел мора да биде точно во една болница, во една болница може да има еден или повеќе оддели. 104 80 105 * ** za_vo** - Упатот е за во некој оддел. Еден упат е наменет за во еден оддел, во еден оддел може да одат пациенти со еден упат. Кардиналност 1 : 1.81 * **izdaden_za** - Упатот е издаден/наменет за во точно еден оддел, за во еден оддел може да биде издаден еден упат. Кардиналност 1 : 1, тотално учество од страната на оддел. 106 82 107 83 * **se_dobiva** - Од извршен преглед може да се добијат повеќе упати, а еден упат може да биде напишан/издаден врз основа на еден извршен преглед. Кардиналност 1 : N. 108 84 109 * ** pravi** - Со избирање на даден термин мора да се направи една резервација, а резервацја може да се направи со избирање на еден термин. Кардиналност 1 : 1. Тотално учество од страната на резервација.85 * **se_potvrduva_so** - Со избирање на даден термин мора да се направи една резервација, а резервацја може да се направи со избирање на еден термин. Кардиналност 1 : 1. Тотално учество од страната на резервација. 110 86 111 * ** moze_da_dava** - Специјалист може да дава упат. Кардиналноста е 1 : 1, па според тоа еден упат може да биде издаден од еден специјалист и еден специјалист може да даде еден упат.87 * **pravi_verifikacija_so** - Резервацијата се потврдува со трансакција. Со една трансакција може да се потврди една резервација и една резервација може да биде потврдена со една трансакција. Кардиналност 1 : 1. 112 88 113 * **specijalizira** - Еден специјалист мора да специјализира во точно една специјалност, во една специјалност може да специјализираат повеќе специјалисти. Кардиналност 1 : N. Тотално учество од страната на специјалност.89 * **specijalizira** - Еден доктор мора да специјализира во точно една специјалност, во една специјалност може да специјализираат повеќе доктори. Кардиналност 1 : N. Тотално учество од страната на специјалност. 114 90 115 * ** vo** - Еден оддел мора да биде во точно една болница, во една болница мора да има само еден оддел. Кардиналност 1 : 1. Тотално учество од двете страни.91 * **nameneta_za** - Една специјалност мора да биде наменета за во точно еден оддел, во еден оддел мора да има точно една специјалност. Кардиналност 1 : 1. Тотално учество од двете страни. 116 92 117 * ** se_prebaruva** - Според еден упат може да се пребарува термин, еден термин може да биде пребаруван според дијагнозата внесена во упатот. Кардиналност 1 : 1.93 * **kreiran_za** - Еден упат може да биде креиран за во еден термин, за во еден термин може да биде издаден/креиран еден упат. Кардиналност 1 : 1. 118 94 119 * **potvrduva_so** - Резервацијата се потврдува со трансакција. Со една трансакција може да се потврди една резервација и една резервација може да биде потврдена со една трансакција. Кардиналност 1 : 1.120 95 121 96 == Историјат … … 124 99 * **[wiki:ERDiagram_v01 Верзија 1:]** Иницијална верзија на моделот. Креирани се ентитетите и релациите меѓу истите. 125 100 * **[wiki:ERDiagram_v02 Верзија 2:]** Измени направени според забелешките од асистентот. Додаден е ентитет специјалност, измена во релацијата помеѓу оддел и болница. Сменета е релацијата така да може секој доктор да прави преглед, а не само матичен. Додадени релации помеѓу специјалист и специјалност и помеѓу оддел и специјалност. Додадена релација помеѓу специјалист и упат, така што и специјалист може да дава упат. (Ticket #1) 101 * **[wiki:ERModel Верзија 3:]** После долги дискусии со членовите од тимот и професорот, одлучивме да направиме повеќе промени. Делот со login, register и permisii е отстранет бидејќи заклучивме дека не е потребен. Дополнително, со членовите од тимот направивме промена така да нема специјализација на Доктор (нема матичен и специјалист како претходно). Има промени во имињата на некои од релациите кои претходно беа несоодветни, како и отстранивме непотребни атрибути кај некои од ентитетите (воглавно имаше непотребни атрибути, а ентитетите веќе се во релација меѓусебно).