PDA

Prikaži potpunu verziju : Pomoc kod ER dijagrama


munjitis
19.11.2011, 13:43
Zdravo treba mi velika usluga.

dobio sam zadatak iz baze podataka da uradim samo skicu na obicnom papiru er-dijagram za zadatak

Napraviti bazu podataka za pracenje poslova u zubarskoj ordinaciji.
Potrebno je voditi evidenciju o kartonima pacijenata sa osnovnim
podacima o pacijentu i o stanju njegovih zuba nakon svakog pregleda ili intervencije.
za svaku intervenciju se beleze zubi nad kojima je radjeno,
vrsta intervencije kao i svi zubari koji su ucestvovali u intervenciji,zatim potrebno je
voditi evidenciju o zakazanim pregledima imajuci u vidu da u ordinaciji ima vise zubara
i da pacijent moze zakazati termin kod bilo kod zubara...

Unapred zahvalan.

Neutrino
19.11.2011, 16:34
Zdravo treba mi velika usluga.

dobio sam zadatak iz baze podataka da uradim samo skicu na obicnom papiru er-dijagram za zadatak

Napraviti bazu podataka za pracenje poslova u zubarskoj ordinaciji.
Potrebno je voditi evidenciju o kartonima pacijenata sa osnovnim
podacima o pacijentu i o stanju njegovih zuba nakon svakog pregleda ili intervencije.
za svaku intervenciju se beleze zubi nad kojima je radjeno,
vrsta intervencije kao i svi zubari koji su ucestvovali u intervenciji,zatim potrebno je
voditi evidenciju o zakazanim pregledima imajuci u vidu da u ordinaciji ima vise zubara
i da pacijent moze zakazati termin kod bilo kod zubara...

Unapred zahvalan.
Pa u čemu je konkretno problem? Negde si zapeo ili očekuješ da ovde dobiješ kompletno rešenje?

munjitis
19.11.2011, 19:19
Problem je u tome sto ja skoro nista ne znam,imao sam 3 predavanja i profesor mi je zadao ovaj zadatak...samo na papiru da uradim skicu ER dijagrama,i to za ponedeljak...
Ja stvarno ne znam kako on to ocekuje od mene da to uradim...
Ja kapiram sta je Entitet i sta je Atribut,ali su mi veze problem,stvarno ne znam kako to funkcionise,ne znam kako da sve to povezem...
kosultovao sam se sa svojim kolegama iz klase ali koliko vidim svi imaju isti problem kao ja...
tako da stvarno ne znam sta da radim.
bilo kakva pomoc bi mi dobro dosla

Neutrino
19.11.2011, 19:32
Klasika. Pa dobro mogu da ti pomognem da uradiš zadatak ali ne očekuj da ću ga rešiti umesto tebe jer je poenta da nešto naučiš.

1) Koje si entitete identifikovao?
2) Koje si im atribute dodelio?
3) Znaš li išta o vezama između entiteta?

munjitis
19.11.2011, 19:45
Od entiteta mislim da imam ovako (Karton pacijenta sa njegovim atributima:ime i prezime,broj telefona,stanje zuba) mislim da mi za taj entitet vise nista ne treba. sledeci entitet(doktor:njegov atribut bi bio ime i prezime,mozda telefon)mislim da ne treba da znam vise o tom zubaru.
e sad ne znam u sta spadaju (pregledi,intervencije,zubi,zakazani pregledi,)
a o vezama izmedju atributa,koliko sam ja svatio to je valjda ovako:
doktor vrsi pregled ili intervenciju, tako da je pregled ili intervencija veza izmedju entiteta?skapirao sam da su veze izmedju entiteta kao neka radnja koja se izvrsava?!

munjitis
19.11.2011, 21:33
izgleda da meni nema pomoci :)

Neutrino
19.11.2011, 22:36
izgleda da meni nema pomoci :)

Pa to je verovatno tačno samo treba da vidiš ko je kriv, ti ili profesori.

Entiteti koje si odabrao su manje više u redu stim što bi trebalo da dodaš i entitete za intervencije i zakazane termine. Znači bez nekog preteranog mudrovanja da bi postavljeni zadatak bio rešen kako treba trebaju ti minimalno sledeći entiteti: kartoni (podaci o pacijentu i specifične stavke potrebne zubarima), zubari (spisak zubara), pregledi (spisak intervencija, pregleda i stanja zuba) i termini (logično, organizacija termina).

Što se tiče atributa bitno je da pravilno odrediš kom entitetu ćeš dodeliti koji atribut. Ako recimo dodeliš atribut stanja zuba posle intervencije entitetu karton automatski gubiš mogućnost da pamtiš stanje posle svake intervencije što je jedan od uslova zadatka. Zato je najbolje da stanje pamtiš ili u zasebnom entitetu ili da ga nekako uguraš pod entitet pregledi. Evo ti ideje a ti slobodno proširi listu entiteta samo pre nego što bilo šta dodaš od atributa dobro razmisli da li mu je tu mesto. Obrati pažnju da su termini i pregledi dve različite stvari i da moraš da imaš opciju da jedan termin može da obuhvati više pregleda. Zato bih ja verovatno entitet pregledi preimenovao u intervencije.

kartoni (id_kartona, ime, prezime, ...)
zubari (id_zubara, ime, prezime, ...)
pregledi (id_pregleda, tip_pregleda, opis,...)
termini (id_termina, obavljen_pregled,...)

Došao je red da odabereš primarne ključeve tj. atribut koji će u svakom redu podataka iz baze biti jedinstven. Tu možeš da biraš da li ćeš da koristiš prirodne (ključ koji se bazira na nečemu što opisuje entitet, recimo JMBG, email adresa itd.) ili veštačke ključeve (veštačka autoinkrementirajuća vrednost koja ni na koji način ne opisuje entitet). Neki profesori na faksu umeju da dave sa time kako je bitno da primarni ključevi budu prirodni ja ti kažem da odmah počneš da pratiš dobru praksu i za sve slučajeve gde to možeš koristiš veštačke ključeve (prvi atribut u svakom entitetu treba da ti bude autoinkrementirajuća celobrojna vrednost).

kartoni (id_kartona, ime, prezime, ...)
zubari (id_zubara, ime, prezime, ...)
pregledi (id_pregleda, tip_pregleda, opis,...)
termini (id_termina, obavljen_pregled,...)

Relacije između entiteta su uglavnom najveći problem studentima / profesionalcima sve dok ne uđu u štos oko toga kojim redosledom da rade dijagrame. Relacije između entiteta uvek mogu gramatički da se prikažu pomoću glagola. Primera radi u konkretnom slučaju, "pacijent (je dodeljen) zubaru". Ovaj deo "(je dodeljen)" definiše relaciju pacijenta prema zubaru. Bitan je i suprotan pravac to jest kako se definiše odnos zubara prema pacijentu stim što glagol koji se koristi u tom pravcu mora da ima što je približnije isto značenje kao i u prvom slučaju (samo drugi pravac naravno). Primer: "zubar (je nadležan za) pacijenta".

Za relacije su još bitne dve stvari: kako se brojčano odnose entiteti i mandatornost. Brojčanost bukvalno znači koliko entiteta sa jedne strane u bilo kom tenutku može biti u izabranoj relaciji sa entitetom na drugoj strani. To je ono "jedan prema jedan", "jedan prema više" i "više prema više". Mandatorsnot određuje da li je relacija mandatorna između dva entiteta tj. u praksi samo znači da li tabela ka kojoj ide relacija može da postoji samostalno bez tabele od koje ide relacija (primera radi entitet kreditna_kartica ne može da postoji bez entiteta bankarski_racun) i u takvim slučajevima veza je mandatorna.

Pre nego kreneš da formiraš relacije treba u glavi da napraviš jedan mini sastav kako se entiteti međusobno odnose i uzimajući naravno njihove brojčane odnose i mandatornost (glagole za relaciju ću stavljati u zagrade a entitete boldovati). Ja ću ti navesti par primera a ti možeš naravno da ih menjaš (sve relacije idu u grupama od po dve rečenice da bi se definisala oba smera iste relacije).

"Jedan pacijent (je dodeljen) većem broju zubara" (veza nemandatorna).
"Jedan zubar (je nadležan) za više pacijenata"
(gornja relacija je očigledno tipa "više prema više")

"Jedan zubar (vrši) više intervencija" (veza mandatorna)
"Jednu intervenciju (je vršilo) više zubara"
("više prema više" relacija)

"Jedan termin (sadrži) više intervencija" (veza mandatorna)
"Jedna intervencija (je deo) jednog termina"
("jedan prema više" relacija )

Ove "više prema više" relacije se kasnije u toku procesa normalizacije razbijaju na "jedan prema više" relacije ali kako nigde nije pomenuto da je potrebno uraditi normalizaciju ER dijagrama ovo gore što sam napisao bi trebalo da ti bude apsolutno dovoljno da napraviš dobar ER dijagram.

munjitis
20.11.2011, 10:54
ja ne znam sta da ti kazem,jedini si covek koji mi je pomogao,cak si mi u par recenica objacnio bolje nego moj profesor...Hvala ti puno...mnogo si mi ucinio,ne znam kako da ti se oduzim...spasao si me obnove godine,a to je za mene velika stvar.zelim ti sve najbolje.jos jednom hvala i pozdrav.