| 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. |