Download - Projektni zadatak
>
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