90 likes | 249 Views
Zgled načrtovanja podatkovne zbirke. Načrtovanje podatkovne zbirke. Naš namen je izdelati podatkovno zbirko, v kateri bi imeli shranjene podatke o dijakih in krožkih, ki jih obiskujejo.. Podatki, ki bi jih radi imeli v bazi so: Ime in priimek dijaka, razred letnica rojstva,
E N D
Načrtovanje podatkovne zbirke • Naš namen je izdelati podatkovno zbirko, v kateri bi imeli shranjene podatke o dijakih in krožkih, ki jih obiskujejo.. • Podatki, ki bi jih radi imeli v bazi so: • Ime in priimek dijaka, • razred • letnica rojstva, • krožek, ki ga obiskuje, • vodja krožka, • letna članarina krožka.
Ena tabela V prvi iteraciji bi vse podatke postavili v eno tabelo. Ob tem predpostavimo, da dijak lahko obiskuje največ dva krožka (kar ni realna omejitev).
Preverimo ustreznost rešitve • Ali je Tim Novak po pomoti vpisan dvakrat, ali gre za dva dijaka? • Ali lahko preprosto ugotovimo, kateri učenci obiskujejo plavalni krožek? • Analizirajmo podatke: • Nič nam ne preprečuje, da ne bi pri krožku zapisali različni vodji ali različni ceni. Ali je cena za plavanje 2000 ali 1500? Ali košarko vodi Jana Knez ali Julijana Knez, je to ista oseba? • Kaj če se eden izmed dijakov odloči za obiskovanje treh aktivnosti?
Popravljena struktura Da se izognemo podvojenim dijakom, dodelimo vsakemu dijaku svojo enolično identifikacijsko številko - ključ in podatkovno zbirko ločimo na tabelo dijakov in tabelo aktivnosti. Tabeli povežemo preko polja ID_Dijak.
Popravljen načrt še ni dober • Slabo izkoriščen prostor • Nekateri dijaki hodijo le na en krožek, zato je prostor za drugi krožek neizkoriščen • Odvečno delo • Če se cena tenisa poveča, moramo v vsakem zapisu, ki vsebuje tenis, popraviti ceno. • Podvojeni podatki • Če se 50 dijakov odloči za plavanje, moramo vsakič vtipkati krožek, vodjo in ceno. • Napake pri vnosu - ali je cena za plavanje 1500 ali 2000 SIT? • Težavne poizvedbe • Če želimo poiskati vse dijake, ki hodijo na plavanje, moramo pogledati dva stolpca.
Postavimo tretjo tabelo • Podvojenih podatkov ni več. • Ceno krožka lahko popravimo le na enem mestu. • Lahko dodamo podatke o novem krožku, čeprav ga še nihče ne obiskuje. • Dijak lahko obiskuje poljubno število krožkov.
Napotki • Nekaj napotkov: • Sestavljena polja ločimo na posamezna polja (npr. Dijak v polji Ime_dijaka in Priimek_dijaka). • Vsaki tabeli dodamo ključ, ki enolično določa zapis (npr. ID_dijak) • Znebimo se ponavljajočih se polj (npr. Krožek1, Krožek2, ...). • Znebimo se ponavljajočih se podatkov. Namesto tega damo podatek, ki se ponavlja, v svojo tabelo, nato pa tabeli povežemo. • Naj nam ne bo škoda časa za načrtovanje baze, saj je bazo, ko je program že skoraj narejen, težko drastično spreminjati.