wiki:ERModel

Version 15 (modified by 183060, 3 years ago) ( diff )

--

Верзија 2

E-R Дијаграм

Податочни побарувања

Ентитети

  • Covek - ентитет кој ги има податоците потребни да се чуваат за секој поединец (корисник). Од овој ентитет произлегуваат уште 2 други.
    • Кандидат клучеви: covek_id, вештачки нумерички идентификатор за секоја инстанца од Covek. Претставува PRIMARY_KEY (задолжителен).
    • Атрибути:
      • ime - од тип String (задолжителен)
      • prezime - од тип String (задолжителен)
      • EMBG - од тип int/long int (задолжителен)
      • e-mail - од тип String (задолжителен)
      • telefoni - од тип int/long int (опционален)
  • Pacient - произлегува од Човек.
    • Кандидат клучеви: pacient_id, вештачки нумерички идентификатор за секоја инстанца од Pacient. Претставува PRIMARY_KEY (задолжителен).
  • Doktor - ентитет кој произлегува од Човек. Овој ентитет има 2 субкласи.
    • Кандидат клучеви: br_licenca, нумерички идентификатор кој го имаат сите доктори за секоја инстанца од Doktor. Претставува PRIMARY_KEY (задолжителен).
  • Maticen - произлегува од Доктор, клучот се наследува од доктор (број на лиценца).
  • Specijalist - произлегува од Доктор, клучот се наследува од доктор (број на лиценца).
  • Specijalnost - ги чува сите специјалности на докторите (специјалисти).
    • Кандидат клучеви: specijalnost_id, вештачки нумерички идентификатор кој го имаат специјалностите за секоја инстанца од Specijalnost. Претставува PRIMARY_KEY (задолжителен).
    • Атрибути:
      • naziv_spec - од тип String (задолжителен)
  • Bolnica - ентитет во кој се чува листа на сите болници.
    • Кандидат клучеви: bolnica_id, вештачки нумерички идентификатор кој го имаат сите болници за секоја инстанца од Bolnica. Претставува PRIMARY_KEY (задолжителен).
    • Атрибути:
      • naziv - од тип String (задолжителен)
      • grad - од тип String (задолжителен)
      • adresa - од тип String и е атрибут со повеќе вредности (ulica - од тип String и broj - од тип int) (задолжителен)
  • Oddel - ентитет во кој се чува листа на сите оддели во болниците. Овој е слаб ентитет и е во зависна релација со доктор.
    • Кандидат клучеви: oddel_id, вештачки нумерички идентификатор кој го имаат сите оддели во болниците за секоја инстанца од Oddel. Претставува PRIMARY_KEY (задолжителен).
    • Атрибути:
      • naziv - од тип String (задолжителен)
  • Pregled - чува ИД за секој извршен преглед.
    • Кандидат клучеви: pregled_id, вештачки нумерички идентификатор за секоја инстанца од Pregled. Претставува PRIMARY_KEY (задолжителен).
  • Upat - потребен за да може пациентот да закаже термин кај специјалист.
    • Кандидат клучеви: upat_id, вештачки нумерички идентификатор за секоја инстанца од Upat. Претставува PRIMARY_KEY (задолжителен).
    • Атрибути:
      • naziv_oddel - од тип String (задолжителен)
  • Termin - листа на достапни термини за закажување. Претставува слаб ентитет и е во зависна врска со специјалист.
    • Кандидат клучеви: termin_id, вештачки нумерички идентификатор за секоја инстанца од Termin. Претставува PRIMARY_KEY (задолжителен).
    • Атрибути:
      • datum - од тип date (задолжителен)
      • cas - од тип dateTime (задолжителен)
      • doktor - од тип String (задолжителен)
  • Transakcija - чува листа на извршени трансакции.
    • Кандидат клучеви: tran_id, вештачки нумерички идентификатор за секоја инстанца од Transakcija. Претставува PRIMARY_KEY (задолжителен).
    • Атрибути:
      • suma - од тип int/long int (задолжителен)
      • smetka - од тип int/long int (задолжителен)
  • Rezervacija - потребен за да може пациентот да закаже термин кај специјалист.
    • Кандидат клучеви: rezervacija_id, вештачки нумерички идентификатор за секоја инстанца од Rezervacija. Претставува PRIMARY_KEY (задолжителен).
    • Атрибути:
      • termin - од тип date (задолжителен)
  • Login - ентитет кој чува листа со потребни креденцијали за најава.
    • Кандидат клучеви: login_id, вештачки нумерички идентификатор за секоја инстанца од Login. Претставува PRIMARY_KEY (задолжителен).
    • Атрибути:
      • password - од тип String (задолжителен)
      • login_e-mail - од тип String (задолжителен)
      • login_uloga_id - од тип String (задолжителен)
  • Ulogi - ентитет кој ги содржи улогите со кои може да се најави еден корисник.
    • Кандидат клучеви: uloga_id, вештачки нумерички идентификатор за секоја инстанца од Ulogi. Претставува PRIMARY_KEY (задолжителен).
    • Атрибути:
      • uloga-ime - од тип String (задолжителен)
      • uloga_opis - од тип String (задолжителен)
  • Permisii - чува листа на извршени трансакции.
    • Кандидат клучеви: per_id, вештачки нумерички идентификатор за секоја инстанца од Permisii. Претставува PRIMARY_KEY (задолжителен).
    • Атрибути:
      • per_ime - од тип String (задолжителен)
      • per_uloga_id - од тип int/long int (задолжителен)

Релации

  • ima - Човек има улоги и пермисии, во зависност од тоа дали ќе биде најавен како доктор или како пациент. Има login, во смисла дека се најавува на апликацијата.
  • pravi - Секој доктор може да прави преглед. Кардиналноста е 1 : N, што значи дека еден доктор може да прави повеќе прегеди, а еден преглед може да биде направен/извршен од еден доктор.
  • dobiva - Пациент добива упат. Кардиналноста е 1 : N, што значи дека еден пациент може да добие повеќе упати и еден упат може да биде даден на еден пациент.
  • raboti_vo - Доктор работи во оддел. Кардиналноста е N : 1, од двете страни има тотално учество. Тоа значи дека во еден оддел мора да работи барем еден доктор, а еден доктор мора да работи во само еден оддел.
  • za_kaj - Слаба релација помеѓу термин и специјалист. Кардиналност 1 : 1. Еден термин мора да е за кај еден специјалист и за кај еден специјалист има еден термин.
  • go_ima_vo - Тотално учество од страната на болница. Кардиналност N : 1. Еден оддел мора да биде точно во една болница, во една болница може да има еден или повеќе оддели.
  • za_vo - Упатот е за во некој оддел. Еден упат е наменет за во еден оддел, во еден оддел може да одат пациенти со еден упат. Кардиналност 1 : 1.
  • se_dobiva - Од извршен преглед може да се добијат повеќе упати, а еден упат може да биде напишан/издаден врз основа на еден извршен преглед. Кардиналност 1 : N.
  • pravi - Со избирање на даден термин мора да се направи една резервација, а резервацја може да се направи со избирање на еден термин. Кардиналност 1 : 1. Тотално учество од страната на резервација.
  • moze_da_dava - Специјалист може да дава упат. Кардиналноста е 1 : 1, па според тоа еден упат може да биде издаден од еден специјалист и еден специјалист може да даде еден упат.
  • specijalizira - Еден специјалист мора да специјализира во точно една специјалност, во една специјалност може да специјализираат повеќе специјалисти. Кардиналност 1 : N. Тотално учество од страната на специјалност.
  • vo - Еден оддел мора да биде во точно една болница, во една болница мора да има само еден оддел. Кардиналност 1 : 1. Тотално учество од двете страни.
  • se_prebaruva - Според еден упат може да се пребарува термин, еден термин може да биде пребаруван според дијагнозата внесена во упатот. Кардиналност 1 : 1.
  • potvrduva_so - Резервацијата се потврдува со трансакција. Со една трансакција може да се потврди една резервација и една резервација може да биде потврдена со една трансакција. Кардиналност 1 : 1.

Историјат

  • Верзија 1: Иницијална верзија на моделот. Креирани се ентитетите и релациите меѓу истите.
  • Верзија 2: Измени направени според забелешките од асистентот. Додаден е ентитет специјалност, измена во релацијата помеѓу оддел и болница. Сменета е релацијата така да може секој доктор да прави преглед, а не само матичен. Додадени релации помеѓу специјалист и специјалност и помеѓу оддел и специјалност. Додадена релација помеѓу специјалист и упат, така што и специјалист може да дава упат. (Ticket #1)

Attachments (7)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.