projektni zadatak

14
Elektrotehnička škola Tuzla Školska godina 2014/2015 > Projektni zadatak: Projekat baze podata Tema:Baza podataka za bolnicu Profesorica !inina "orozi# $čenici!ustafa %&ahi#'(di Efendi#')s*et !urato+i#'!ahir Šil,ak

Upload: mahir95

Post on 07-Oct-2015

25 views

Category:

Documents


0 download

DESCRIPTION

aofhaseu

TRANSCRIPT

>

Elektrotehnika kola Tuzlakolska godina 2014/2015ET TUZLA>

Projektni zadatak: Projekat baze podatakaTema:Baza podataka za bolnicu

Analiza potrebaPacijenti koji zauzimaju sobePacijent se obicno smjesta u bolnicku sobu prilikom dolaska u bolnicu. Svaka soba moze primiti mnogo pacijenata, i imamo sobe razlicitih tipova. Konzultanti (stariji kirurzi) bolnice smiju imati i svoje pacijente, koji su smjesteni u jednokrevetnim privatnim sobama. Informacije koje treba pamtiti o pacijentu ukljucuju jedinstveni broj zdravstvenog osiguranja, ime, adresu itd.

Medicinske sestre zaduzene za sobeSestra moze ili ne mora biti zaduzena za sobu. Pritom jedna sestra moze biti zaduzena za najvise jednu sobu, no za istu sobu moze biti zaduzeno vise sestara. Sestra je jednoznacno odredjena svojom identifikacijskom oznakom.

Operacije koje se obavljaju nad pacijentimaNad istim pacijentom moze se obaviti vise operacija. Informacije o jednoj operaciji su: tip operacije, pacijent, kirurg, datum i vrijeme.

Kirurzi koji obavljaju operacijejednu operaciju obavlja samo jedan kirurg, a za ostale prisutne kirurge se smatra da oni asistiraju operaciji. Kirurge nadgledaju stariji kirurzi, tzv. konzultanti, koji takodjer mogu obavljati operacije ili asistirati. Informacije o jednom kirurgu su ime (pretp. jedinstveno), adresa, br. telefona itd. Svaki konzultant ima svoju specijalnost.

Operacione sale u kojima se obavljaju operacijeJedna operacija se odvija u samo jednoj sali, no ista sala moze biti mjesto mnogih operacija. Svaka sala ima svoj identifikacijski broj. Neke sale su specijalno opremljene za neke vrste operacija.

Medicinske sestre zaduzene za saleSestra moze ili ne mora biti zaduzena za salu, no ne moze biti zaduzena za vise od jedne sale. Za jednu salu moze biti zaduzeno mnogo sestara.

Modeliranje entiteta i veza

Najprije slijedi lista tipova entiteta sa pripadnim atributima.1. Tip entiteta KIRURG, s atributima IME_KIRURGA (pretp. jedinstveno), ADRESA_KIRURGA, BROJ TELEFONA.2. Tip entiteta KONZULTANT, podtip tipa KIRURG. Svaki konzultant je specijalist u odreenoj grani kirurgije; to je zapisano u dodatnom atributu SPECIJALNOST.3. Tip entiteta PACIJENT, s atributima ID_PACIJENTA (jedinstveni broj zdravstvenog osiguranika), IME_PACIJENTA, ADRESA_PACIJENTA, DATUM_ROENJA, SPOL.4. Tip entiteta PRIVATNI_PACIJENT, podtip tipa PACIJENT. Dodatni atribut ID_PRIVATNE_SOBE uva (jedinstven) broj privatne sobe u kojoj je privatni pacijent smjeten.5. Tip entiteta SESTRA, s atributima ID_SESTRE (identifikacijska oznaka), IME_SESTRE, STRUNI_STUPANJ6. Tip entiteta SOBA (misli se na privatnu sobu), ID_SOBE, BROJ_KREVETA.7. Tip entiteta SALA, s atributima ID_SALE (identifikacijski broj sale), TIP_SALE.8. Tip entiteta OPERACIJA, s atributima ID_OPERACIJE (identifikacijska oznaka operacije), TIP_OPERACIJE, DATUM, VRIJEME.Lista atributa bi se svakako mogla i proiriti, no bit e dovoljna za primjer. Dalje slijedi lista veza:1. OBAVLJA, 1:N veza izmeu tipova entiteta KIRURG i OPERACIJA, s time da OPERACIJA ima obavezno lanstvo.2. ASISTIRA, N:M veza izmeu tipova entiteta KIRURG i OPERACIJA. Mogui atribut veze je ULOGA kirurga u operaciji.3. NADGLEDA, 1:N veza izmeu tipova entiteta KONZULTANT i KIRURG. lanstvo KIRURGA je neobavezno, jer ima kirurga (npr. konzultanti) koje nitko ne nadgleda.4. LIJEI, 1:N veza izmeu tipa entiteta KONZULTANT i podtipa PRIVATNI_PACIJENT. lanstvo PRIVATNOG_PACIJENTA je obavezno.5. PODVRGAVA_SE, 1:N veza izmeu tipova entiteta PACIJENT i OPERACIJA. lanstvo OPERACIJE je obavezno.6. ZAUZIMA, 1:N veza izmeu tipova entiteta SOBA i PACIJENT, gdje je lanstvo PACIJENTA "skoro" obavezno (svi pacijenti osim nekolicine privatnih smjeteni su u obinim sobama).7. ODVIJA_SE, 1:N veza izmeu tipova entiteta SALA i OPERACIJA. lanstvo OPERACIJE je obavezno.8. ZADUENA_ZA_SOBU, 1:N veza izmeu tipova entiteta SOBA i SESTRA. Mogui atribut veze je DATUM_ZADUIVANJA. lanstvo SESTRE je neobavezno.9. ZADUENA_ZA_SALU, 1:N veza tipova entiteta SALA i SESTRA. Atribut veze je DATUM_ ZADUENJA. lanstvo SESTRE je neobavezno.Osim navedenih veza imamo standardnu vezu JE izmeu podtipa KOZULTANT i tipa KIRURG, te takoer izmeu podtipa PRIVATNI_PACIJENT i tipa PACIJENT.

Model objekti veze

Teorijske osnove

Bavimo se pitanjem: kako oblikovati shemu za bazu podataka, usklaenu s pravilima relacionog modela. U stvarnim situacijama dosta je teko direktno dizajnirati relacionu shemu. Zato se sluimo pomonom fazom koja se zove modeliranje entiteta i veza (Entity-Relationship Modelling). Rije je o oblikovanju jedne manje precizne, konceptualne sheme, koja predstavlja apstrakciju realnog svijeta. Ta tzv. ER-shema se dalje, vie-manje automatski, pretvara u relacionu. Modeliranje entiteta i veza zahtijeva da se svijet promatra preko tri kategorije:

Entiteti (entity): objekti ili dogaaji koji su nam od interesa;

Veze (Relationship): odnosi meu entitetima koji su nam od interesa;

atributi: svojstva entiteta i veza koja su nam od interesa.

Entitet je neto o emu elimo memorisati podatke, neto to je u stanju postojati ili ne postojati, te se moeidentifikovati.

Entitet je opisan atributima.

Veze se uspostavljaju izmeu jednog ili vie tipova atributa.

Dijagram objekti-veze

Opis objekti-veze

Pored identifikovanja objekata i veza, u fazi izrade modele objekti veze evidentiramo i atribute objekata, kao i atribute veza, ukoliko ih ima. Za svaki objekat (vezu) pravimo tabele u koje upisujemo atribute i opise.

Objekat: Hirurg

Naziv atributaTip podatkaObavezno poljePrimarni kljuOpis

Id_HirurgaIntegerDaDaPrimarni klju objekta

Ime HirurgaStringDaNe

AdresaStringDaNe

Broj telefonaIntegerDaNe

Objekat: Konsultant

Naziv atributaTip podatkaObavezno poljePrimarni kljuOpis

Id KonsultantaIntegerDaDaPrimarni klju objekta

AdresaStringDaNe

Broj telefonaIntDaNe

Ime KirurgaStringDaNe

SpecijalistStringDaNe

Objekat: Pacijent

Naziv atributaTip podatkaObavezno poljePrimarni kljuOpis

Id_PacijentaIntegerDaDaPrimarni klju objekta

Ime PacijentaStringDa Ne

AdresaStringDaNe

Datum RoenjaDateDaNe

SpolStringDaNe

Objekat: Privatni pacijent

Naziv atributaTip podatkaObavezno poljePrimarni kljuOpis

Id_Privatnog PacijentaIntegerDaDaPrimarni klju objekta

Ime PacijentaStringDaNe

AdresaStringDaNe

Datum RoenjaDateDaNe

SpolStringDaNe

ID Privatne sobeIntegerDa Ne

Objekat: Sestra

Naziv atributaTip podatkaObavezno poljePrimarni kljuOpis

Id_SestreIntegerDaDaPrimarni klju objekta

Ime SestreStringDaNe

Struni stupanjStringDaNe

Objekat: Soba

Naziv atributaTip podatkaObavezno poljePrimarni kljuOpis

Id_SobeIntegerDaDaPrimarni klju objekta

Broj KrevetaIntegerDaNe

Objekat: Sala

Naziv atributaTip podatkaObavezno poljePrimarni kljuOpis

Id_SaleIntegerDaDaPrimarni klju objekta

Tip saleStringDaNe

Objekat: Operacija

Naziv atributaTip podatkaObavezno poljePrimarni kljuOpis

Id_OperacijeIntegerDaDaPrimarni klju objekta

Tip operacijeStringDaNe

Datum VrijemeDate/TimeDaNe

Relacioni model

Veza Konsultant - (je)- Hirurg je 1 : 1.Tako da je potrebno udruiti 2 tabele zajedno.Naziv atributaTip podatkaObavezno poljePrimarni kljuOpis

Id HirurgaIntegerDaDaPrimarni klju objekta

AdresaStringDaNe

Broj telefonaIntDaNe

Ime KirurgaStringDaNe

SpecijalistStringDaNe

Veza Konsultant (nadgleda)-Hirurg je 1 : N.Tako da je potrebno u N stranu dodati primarni klju 1 strane koji postaje strani klju nove tabele. Naziv atributaTip podatkaObavezno poljePrimarni kljuOpis

Id_HirurgaIntegerDaDaPrimarni klju objekta

AdresaStringDaNe

Broj telefonaIntDaNe

Ime KirurgaStringDaNe

Id_KonsultantaStringNeNeStrani klju

Veza Kirurg (obavlja)-Operacija je 1:N. Tako da je potrebno u N stranu dodati primarni klju 1 strane koji postaje strani klju nove tabele. Naziv atributaTip podatkaObavezno poljePrimarni kljuOpis

Id_OperacijeIntegerDaDaPrimarni klju objekta

Tip operacijeStringDaNe

Datum VrijemeDate/TimeDaNe

Id_HirurgaIntegerDaNeStrani klju

Veza Kirurg-(asistira)-Operacija je N:M.Tako da je potrebno napraviti novu tabelu koja ima lanove od obadvije strane kao i svoj primarni klju.

Naziv atributaTip podatkaObavezno poljePrimarni kljuOpis

Id Asistira

IntegerDaDaPrimarni klju objekta

Id_KirurgaInteger DaNeStrani klju objekta

AdresaStringDaNe

Broj telefonaIntDaNe

Ime KirurgaStringDaNe

Id_OperacijeIntegerDaNeStrani klju objekta

Tip operacijeStringDaNe

Datum VrijemeDate/TimeDaNe

Veza Konsultant (ljei)-Privatni pacijent je 1:N . Tako da je potrebno u N stranu dodati primarni klju 1 strane koji postaje strani klju nove tabele. Naziv atributaTip podatkaObavezno poljePrimarni kljuOpis

IdIntegerDaDaPrimarni klju objekta

Ime PacijentaStringDaNe

AdresaStringDaNe

Datum RoenjaDateDaNe

SpolStringDaNe

ID Privatne sobeIntegerDa Ne

ID_KonsultantaInteger Da NeStrani klju objekta

Veza Pacijent (Podvrgava se)-Operacija je 1:N. Tako da je potrebno u N stranu dodati primarni klju 1 strane koji postaje strani klju nove tabele. Naziv atributaTip podatkaObavezno poljePrimarni kljuOpis

Id_OperacijeIntegerDaDaPrimarni klju objekta

Tip operacijeStringDaNe

Datum VrijemeDate/TimeDaNe

Id_PacijentaIntegerDaNeStrani klju objekta

Veza Soba-(Zauzima)-Pacijent je 1:N. Tako da je potrebno u N stranu dodati primarni klju 1 strane koji postaje strani klju nove tabele. Naziv atributaTip podatkaObavezno poljePrimarni kljuOpis

Id_PacijentaIntegerDaDaPrimarni klju objekta

Ime PacijentaStringDa Ne

AdresaStringDaNe

Datum RoenjaDateDaNe

SpolStringDaNe

Id_SobeIntegerDaNeStrani klju objekta

Veza Sala-(Odvija se)-Operacija je 1:N. Tako da je potrebno u N stranu dodati primarni klju 1 strane koji postaje strani klju nove tabele. Naziv atributaTip podatkaObavezno poljePrimarni kljuOpis

Id_OperacijeIntegerDaDaPrimarni klju objekta

Tip operacijeStringDaNe

Datum VrijemeDate/TimeDaNe

Id_SaleIntegerDaNeStrani klju objekta

Veza Soba-(Zaduena za sobu)-Sestra je 1:N. Tako da je potrebno u N stranu dodati primarni klju 1 strane koji postaje strani klju nove tabele. Takoe dodajemo dodatni atribut Datum zaduivanja.Sestra ima neobavezno lanstvo jer nije nuno da bude zaduena za svaku sobu.

Naziv atributaTip podatkaObavezno poljePrimarni kljuOpis

Id_SobeIntegerDaDaPrimarni klju objekta

Broj KrevetaIntegerDaNe

Id_SestreInteger NeNeStrani klju objekta

Datum zaduivanjaDate/TimeNeNe

Veza Sala-(Zaduena za salu)-Sestra je 1:N. Tako da je potrebno u N stranu dodati primarni klju 1 strane koji postaje strani klju nove tabele. Takoe dodajemo dodatni atribut Datum zaduivanja.Sestra ima neobavezno lanstvo jer nije nuno da bude zaduena za svaku salu.Naziv atributaTip podatkaObavezno poljePrimarni kljuOpis

Id_SaleIntegerDaDaPrimarni klju objekta

Tip saleStringDaNe

Id_SestreInteger NeNeStrani klju objekta

Datum zaduivanjaDate/TimeNeNe

Veza Pacijent - (je)- Privatni Pacijent je 1 : 1.Tako da je potrebno udruiti 2 tabele zajedno.Dodajemo Pacijentu dodatni atribut Privatni Pacijent koji odreuje dali je on privatni pacijent ili obini pacijent.Naziv atributaTip podatkaObavezno poljePrimarni kljuOpis

Id_PacijentaIntegerDaDaPrimarni klju objekta

Ime PacijentaStringDa Ne

AdresaStringDaNe

Datum RoenjaDateDaNe

SpolStringDaNe

Id_SobeIntegerDaNe

Privatni PacijentBooleanDa NeDali je pacijent privatni pacijent

Veza Konsultant-(Zaduena za salu)-Privatni Pacijent je 1:N. Tako da je potrebno u N stranu dodati primarni klju 1 strane koji postaje strani klju nove tabele.Naziv atributaTip podatkaObavezno poljePrimarni kljuOpis

Id_Privatnog PacijentaIntegerDaDaPrimarni klju objekta

Ime PacijentaStringDaNe

AdresaStringDaNe

Datum RoenjaDateDaNe

SpolStringDaNe

Id Privatne sobeIntegerDa Ne

Id KonsultantaIntegerDaDaStrani klju objekta

SadrajAnaliza potreba1,2Model objekti veze3Teorijske osnove3Dijagram objekti-veze4Opis objekti-veze5,6Relacioni model7,8,9,10

Profesorica: Minina HoroziUenici:Mustafa Spahi,Adi Efendi,Ismet Muratovi,Mahir iljak11