| 1 | == Верзија 3 |
| 2 | |
| 3 | == E-R Дијаграм |
| 4 | [[Image(ERDiagram_v03.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 | * password - од тип String (задолжителен) |
| 18 | * telefoni - од тип int/long int (опционален)\\ |
| 19 | |
| 20 | * **Pacient** - произлегува од Човек.\\ |
| 21 | * ''Кандидат клучеви:'' ''**__pacient_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Pacient''. Претставува PRIMARY_KEY (задолжителен).\\ |
| 22 | |
| 23 | * **Doktor** - ентитет кој произлегува од Човек.\\ |
| 24 | * ''Кандидат клучеви:'' ''**__br_licenca__**'', нумерички идентификатор кој го имаат сите доктори за секоја инстанца од ''Doktor''. Претставува PRIMARY_KEY (задолжителен).\\ |
| 25 | * ''Атрибути:''\\ |
| 26 | * opis- од тип String (задолжителен) |
| 27 | |
| 28 | * **Specijalnost** - ги чува сите специјалности на докторите (специјалисти). |
| 29 | * ''Кандидат клучеви:'' ''**__specijalnost_id__**'', вештачки нумерички идентификатор кој го имаат специјалностите за секоја инстанца од ''Specijalnost''. Претставува PRIMARY_KEY (задолжителен).\\ |
| 30 | * ''Атрибути:''\\ |
| 31 | * naziv - од тип String (задолжителен)\\ |
| 32 | |
| 33 | * **Bolnica** - ентитет во кој се чува листа на сите болници.\\ |
| 34 | * ''Кандидат клучеви:'' ''**__bolnica_id__**'', вештачки нумерички идентификатор кој го имаат сите болници за секоја инстанца од ''Bolnica''. Претставува PRIMARY_KEY (задолжителен).\\ |
| 35 | * ''Атрибути:'' |
| 36 | * naziv - од тип String (задолжителен) |
| 37 | * grad - од тип String (задолжителен) |
| 38 | * adresa - од тип String и е атрибут со повеќе вредности (ulica - од тип String и broj - од тип int) (задолжителен)\\ |
| 39 | |
| 40 | * **Oddel** - ентитет во кој се чува листа на сите оддели во болниците. Овој е слаб ентитет и е во зависна релација со доктор. |
| 41 | * ''Кандидат клучеви:'' ''**__oddel_id__**'', вештачки нумерички идентификатор кој го имаат сите оддели во болниците за секоја инстанца од ''Oddel''. Претставува PRIMARY_KEY (задолжителен).\\ |
| 42 | * ''Атрибути:'' |
| 43 | * naziv - од тип String (задолжителен)\\ |
| 44 | |
| 45 | * **Pregled** - чува ИД за секој извршен преглед. |
| 46 | * ''Кандидат клучеви:'' ''**__pregled_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Pregled''. Претставува PRIMARY_KEY (задолжителен).\\ |
| 47 | |
| 48 | * **Upat** - потребен за да може пациентот да закаже термин кај специјалист. |
| 49 | * ''Кандидат клучеви:'' ''**__upat_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Upat''. Претставува PRIMARY_KEY (задолжителен). |
| 50 | * ''Атрибути:'' |
| 51 | * dijagnoza - од тип String (задолжителен)\\ |
| 52 | |
| 53 | * **Termin** - листа на достапни термини за закажување. Претставува слаб ентитет и е во зависна врска со доктор. |
| 54 | * ''Кандидат клучеви:'' ''**__termin_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Termin''. Претставува PRIMARY_KEY (задолжителен). |
| 55 | * ''Атрибути:'' |
| 56 | * datum - од тип date (задолжителен) |
| 57 | * cas - од тип dateTime (задолжителен)\\ |
| 58 | |
| 59 | * **Transakcija** - чува листа на извршени трансакции. |
| 60 | * ''Кандидат клучеви:'' ''**__tran_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Transakcija''. Претставува PRIMARY_KEY (задолжителен). |
| 61 | * ''Атрибути:'' |
| 62 | * suma - од тип int/long int (задолжителен) |
| 63 | * smetka_bolica - од тип int/long int (задолжителен)\\ |
| 64 | |
| 65 | * **Rezervacija** - потребен за да може пациентот да закаже термин кај специјалист. |
| 66 | * ''Кандидат клучеви:'' ''**__rezervacija_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Rezervacija''. Претставува PRIMARY_KEY (задолжителен). |
| 67 | |
| 68 | === Релации |
| 69 | |
| 70 | |
| 71 | * **pravi** - Секој доктор може да прави преглед. Еден доктор може да прави повеќе прегеди, а еден преглед може да биде направен/извршен од еден доктор. |
| 72 | |
| 73 | * **dobiva** - Пациент добива упат. Еден пациент може да добие повеќе упати и повеќе упати можат да бидат дадени на еден пациент. |
| 74 | |
| 75 | * **raboti_vo** - Доктор работи во оддел. Од двете страни има тотално учество. Тоа значи дека во еден оддел мора да работи барем еден доктор, а еден доктор мора да работи во само еден оддел. |
| 76 | |
| 77 | * **objavuva** - Слаба релација помеѓу термин и доктор. Еден термин мора да е објавен од точно еден доктор и еден доктор мора да објави повеќе термини. Тотално учество од двете страни. |
| 78 | |
| 79 | * **go_ima_vo** - Тотално учество од страната на болница. Еден оддел мора да биде во една болница, во една болница може да има еден или повеќе оддели. |
| 80 | |
| 81 | * **izdaden_za** - Упатот е издаден/наменет за во точно еден оддел, за во еден оддел можат да бидат издадени повеќе упати. |
| 82 | |
| 83 | * **se_dobiva** - Од извршен преглед може да се добијат повеќе упати, а еден упат може да биде напишан/издаден врз основа на еден извршен преглед. |
| 84 | |
| 85 | * **se_potvrduva_so** - Со избирање на даден термин мора да се направи една резервација, а резервацја може да се направи со избирање на еден термин. Тотално учество од страната на резервација. |
| 86 | |
| 87 | * **pravi_verifikacija_so** - Резервацијата се потврдува со трансакција. Со една трансакција може да се потврди една резервација и една резервација може да биде потврдена со една трансакција. |
| 88 | |
| 89 | * **specijalizira** - Еден доктор мора да специјализира во една специјалност, во една специјалност може да специјализираат повеќе доктори. |
| 90 | |
| 91 | * **nameneta_za** - Една специјалност е наменета за во еден оддел, во еден оддел може да има повеќе специјалности. |
| 92 | |
| 93 | * **kreiran_za** - Еден упат е креиран за еден термин, за во еден термин може да има еден упат. |
| 94 | |