Changes between Version 15 and Version 16 of ERModel


Ignore:
Timestamp:
11/30/21 00:20:17 (3 years ago)
Author:
183060
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ERModel

    v15 v16  
    1 == Верзија 2
     1== Верзија 3
    22
    33== E-R Дијаграм
    4 [[Image(ERDiagram_v02.jpg)]]
     4[[Image(ERDiagram_v03.jpg)]]
    55
    66== Податочни побарувања
     
    1515        * EMBG - од тип int/long int (задолжителен)
    1616        * e-mail - од тип String (задолжителен)
     17        * password - од тип String (задолжителен)
    1718        * telefoni - од тип int/long int (опционален)\\
    1819
     
    2021    * ''Кандидат клучеви:'' ''**__pacient_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Pacient''. Претставува PRIMARY_KEY (задолжителен).\\
    2122
    22 * **Doktor** - ентитет кој произлегува од Човек. Овој ентитет има 2 субкласи.\\
     23* **Doktor** - ентитет кој произлегува од Човек.\\
    2324    * ''Кандидат клучеви:'' ''**__br_licenca__**'', нумерички идентификатор кој го имаат сите доктори за секоја инстанца од ''Doktor''. Претставува PRIMARY_KEY (задолжителен).\\
    24 
    25 * **Maticen** - произлегува од Доктор, клучот се наследува од доктор (број на лиценца).\\
    26 
    27 * **Specijalist** - произлегува од Доктор, клучот се наследува од доктор (број на лиценца).\\
     25    * ''Атрибути:''\\
     26        * opis- од тип String (задолжителен)
    2827
    2928* **Specijalnost** - ги чува сите специјалности на докторите (специјалисти).
    3029    * ''Кандидат клучеви:'' ''**__specijalnost_id__**'', вештачки нумерички идентификатор кој го имаат специјалностите за секоја инстанца од ''Specijalnost''. Претставува PRIMARY_KEY (задолжителен).\\
    3130    * ''Атрибути:''\\
    32         * naziv_spec - од тип String (задолжителен)\\
     31        * naziv - од тип String (задолжителен)\\
    3332
    3433* **Bolnica** - ентитет во кој се чува листа на сите болници.\\
     
    5049    * ''Кандидат клучеви:'' ''**__upat_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Upat''. Претставува PRIMARY_KEY (задолжителен).
    5150    * ''Атрибути:''
    52         * naziv_oddel - од тип String (задолжителен)\\
     51        * dijagnoza - од тип String (задолжителен)\\
    5352
    54 * **Termin** - листа на достапни термини за закажување. Претставува слаб ентитет и е во зависна врска со специјалист.
     53* **Termin** - листа на достапни термини за закажување. Претставува слаб ентитет и е во зависна врска со доктор.
    5554    * ''Кандидат клучеви:'' ''**__termin_id__**'', вештачки нумерички идентификатор за секоја инстанца од ''Termin''. Претставува PRIMARY_KEY (задолжителен).
    5655    * ''Атрибути:''
    5756        * datum - од тип date (задолжителен)
    58         * cas - од тип dateTime (задолжителен)
    59         * doktor - од тип String (задолжителен)\\
     57        * cas - од тип dateTime (задолжителен)\\
    6058
    6159* **Transakcija** - чува листа на извршени трансакции.
     
    6361    * ''Атрибути:''
    6462        * suma - од тип int/long int (задолжителен)
    65         * smetka - од тип int/long int (задолжителен)\\
     63        * smetka_bolica - од тип int/long int (задолжителен)\\
    6664
    6765* **Rezervacija** - потребен за да може пациентот да закаже термин кај специјалист.
    6866    * ''Кандидат клучеви:'' ''**__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 (задолжителен)
    9067
    9168=== Релации
    9269
    93 * **ima** - Човек има улоги и пермисии, во зависност од тоа дали ќе биде најавен како доктор или како пациент. Има login, во смисла дека се најавува на апликацијата.
    9470
    9571* **pravi** - Секој доктор може да прави преглед. Кардиналноста е 1 : N, што значи дека еден доктор може да прави повеќе прегеди, а еден преглед може да биде направен/извршен од еден доктор.
    9672
    97 * **dobiva** - Пациент добива упат. Кардиналноста е 1 : N, што значи дека еден пациент може да добие повеќе упати и еден упат може да биде даден на еден пациент.
     73* **dobiva** - Пациент добива упат. Кардиналноста е 1 : N, што значи дека еден пациент може да добие повеќе упати и повеќе упати можат да бидат дадени на еден пациент.
    9874
    9975* **raboti_vo** - Доктор работи во оддел. Кардиналноста е N : 1, од двете страни има тотално учество. Тоа значи дека во еден оддел мора да работи барем еден доктор, а еден доктор мора да работи во само еден оддел.
    10076
    101 * **za_kaj** - Слаба релација помеѓу термин и специјалист. Кардиналност 1 : 1. Еден термин мора да е за кај еден специјалист и за кај еден специјалист има еден термин.
     77* **objavuva** - Слаба релација помеѓу термин и доктор. Кардиналност 1 : N. Еден термин мора да е објавен од точно еден доктор и еден доктор мора да објави повеќе термини. Тотално учество од двете страни.
    10278
    10379* **go_ima_vo** - Тотално учество од страната на болница. Кардиналност N : 1. Еден оддел мора да биде точно во една болница, во една болница може да има еден или повеќе оддели.
    10480
    105 * **za_vo** - Упатот е за во некој оддел. Еден упат е наменет за во еден оддел, во еден оддел може да одат пациенти со еден упат. Кардиналност 1 : 1.
     81* **izdaden_za** - Упатот е издаден/наменет за во точно еден оддел, за во еден оддел може да биде издаден еден упат. Кардиналност 1 : 1, тотално учество од страната на оддел.
    10682
    10783* **se_dobiva** - Од извршен преглед може да се добијат повеќе упати, а еден упат може да биде напишан/издаден врз основа на еден извршен преглед. Кардиналност 1 : N.
    10884
    109 * **pravi** - Со избирање на даден термин мора да се направи една резервација, а резервацја може да се направи со избирање на еден термин. Кардиналност 1 : 1. Тотално учество од страната на резервација.
     85* **se_potvrduva_so** - Со избирање на даден термин мора да се направи една резервација, а резервацја може да се направи со избирање на еден термин. Кардиналност 1 : 1. Тотално учество од страната на резервација.
    11086
    111 * **moze_da_dava** - Специјалист може да дава упат. Кардиналноста е 1 : 1, па според тоа еден упат може да биде издаден од еден специјалист и еден специјалист може да даде еден упат.
     87* **pravi_verifikacija_so** - Резервацијата се потврдува со трансакција. Со една трансакција може да се потврди една резервација и една резервација може да биде потврдена со една трансакција. Кардиналност 1 : 1.
    11288
    113 * **specijalizira** - Еден специјалист мора да специјализира во точно една специјалност, во една специјалност може да специјализираат повеќе специјалисти. Кардиналност 1 : N. Тотално учество од страната на специјалност.
     89* **specijalizira** - Еден доктор мора да специјализира во точно една специјалност, во една специјалност може да специјализираат повеќе доктори. Кардиналност 1 : N. Тотално учество од страната на специјалност.
    11490
    115 * **vo** - Еден оддел мора да биде во точно една болница, во една болница мора да има само еден оддел. Кардиналност 1 : 1. Тотално учество од двете страни.
     91* **nameneta_za** - Една специјалност мора да биде наменета за во точно еден оддел, во еден оддел мора да има точно една специјалност. Кардиналност 1 : 1. Тотално учество од двете страни.
    11692
    117 * **se_prebaruva** - Според еден упат може да се пребарува термин, еден термин може да биде пребаруван според дијагнозата внесена во упатот. Кардиналност 1 : 1.
     93* **kreiran_za** - Еден упат може да биде креиран за во еден термин, за во еден термин може да биде издаден/креиран еден упат. Кардиналност 1 : 1.
    11894
    119 * **potvrduva_so** - Резервацијата се потврдува со трансакција. Со една трансакција може да се потврди една резервација и една резервација може да биде потврдена со една трансакција. Кардиналност 1 : 1.
    12095
    12196== Историјат
     
    12499* **[wiki:ERDiagram_v01 Верзија 1:]** Иницијална верзија на моделот. Креирани се ентитетите и релациите меѓу истите.
    125100* **[wiki:ERDiagram_v02 Верзија 2:]** Измени направени според забелешките од асистентот. Додаден е ентитет специјалност, измена во релацијата помеѓу оддел и болница. Сменета е релацијата така да може секој доктор да прави преглед, а не само матичен. Додадени релации помеѓу специјалист и специјалност и помеѓу оддел и специјалност. Додадена релација помеѓу специјалист и упат, така што и специјалист може да дава упат. (Ticket #1)
     101* **[wiki:ERModel Верзија 3:]** После долги дискусии со членовите од тимот и професорот, одлучивме да направиме повеќе промени. Делот со login, register и permisii е отстранет бидејќи заклучивме дека не е потребен. Дополнително, со членовите од тимот направивме промена така да нема специјализација на Доктор (нема матичен и специјалист како претходно). Има промени во имињата на некои од релациите кои претходно беа несоодветни, како и отстранивме непотребни атрибути кај некои од ентитетите (воглавно имаше непотребни атрибути, а ентитетите веќе се во релација меѓусебно).