194
PODATKOVNE BAZE Modul: Načrtovanje PB ©Laboratorij za podatkovne tehnologije - 1 - Načrtovanje PB Pristopi k načrtovanju PB Nivojsko načrtovanje Konceptualno modeliranje Logično modeliranje Fizično modeliranje

Načrtovanje PB

  • Upload
    ratana

  • View
    70

  • Download
    0

Embed Size (px)

DESCRIPTION

Načrtovanje PB. Pristopi k načrtovanju PB Nivojsko načrtovanje Konceptualno modeliranje Logično modeliranje Fizično modeliranje. Pristopi k načrtovanju PB. Obstajata dva glavna pristopa k načrtovanju podatkovne baze: Pristop od spodaj navzgor in Pristop od vrha navzdol . - PowerPoint PPT Presentation

Citation preview

PowerPoint Presentation

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 76 -Metoda konceptualnega nartovanjaMoni koraki konceptualnega nartovanja:K1.1: Identificiraj entitetne tipeK1.2: Identificiraj povezaveK1.3: Identificiraj in z entitetnimi tipi povei atributeK1.4: Atributom doloi domeneK1.5: Doloi kandidate za kljue; izmed kandidatov izberi primarni kljuK1.6: Po potrebi uporabi elemente razirjenega diagrama entiteta razmerjeK1.7: Preveri, e v modelu obstajajo odveni elementiK1.8: Preveri, e model zdri transkacijeK1.9: Preveri model z uporabnikomPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 2 -Pristopi k nartovanju PBObstajata dva glavna pristopa k nartovanju podatkovne baze:Pristop od spodaj navzgor in Pristop od vrha navzdol.Pristop od spodaj navzgor:zane z atributi ter jih zdruuje v skupine Tak pristop predstavlja normalizacija Normalizacija = identifikacija potrebnih atributov in njihovih agregacij v normalizirane relacije na osnovi funkcionalnih odvisnosti.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 3 -Pristop z vrha navzdolPristop od spodaj navzgor primeren za enostavne podatkovne baze z majhnim tevilom atributov.Za veje baze primeren pristop z vrha navzdol. Na zaetku podatkovni modeli z le nekaj osnovnih entitetnih tipov in razmerijKorakoma razgradnja na pod-entitete, povezave in atributeTak pristop predstavlja uporaba tehnike Entiteta Razmerje (E-R).

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 4 -Pristop znotraj navzvenPristop znotraj navzven povezan s pristopom od spodaj navzgorNajprej identificiramo nekaj najpomembnejih entitetnih tipov iz domeneKorakoma dodajamo nove entitetne tipe, razmerja in atribute

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 5 -Pristop po delihV praksi najbolj uporabna strategijaNartovanje razdelimo na ve laje obvladljivih delov:Najprej kreiramo okvirno shemo z najpomembnejimi entitetnimi tipi in razmerji med njimiShemo razdelimo na podroja (jedra so identificirani entitetni tipi)Za vsako podroje so vkljueni poznavalci podrojaNartovanje za posamezna podroja lahko poteka vzporednoPosamezne sklope na koncu zdruimo v eno shemo

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 6 -Shema pristopa po delihDelitev poslovne domene na podroja, kreiranje osnovne shemeOkvirnashemaPodroje 1...Podronashema 1Podronashema 2Podronashema nKonnashemaPodroje 2Podroje nPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 7 -Trije nivoji nartovanja trije modeli...Konceptualno nartovanje konceptualni oz. semantini podatkovni modelLogino nartovanje logini podatkovni modelKreiranje fizine podatkovne baze fizina podatkovna baza oz. fizini podatkovni modelPrehodi med modeli in avtomatizacija prehodov7PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 8 -Trije nivoji nartovanja trije modeliSUPBKonceptualni PMLogini PMFizini PM(skripta)Podatkovna bazai-CASEODBCReverse EngineeringOdloitev o PB:RelacijskaHierarhinaObjektnaPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 9 -Konceptualno nartovanjeKonceptualno nartovanje je opredelitev podatkovnih potreb oz. zahtev poslovne domene s pomojo konceptualnega modela.Konceptualno nartovanje preko konceptualnega modela poskrbi za opis pomena podatkov, potrebnih za poslovno domeno.Konceptualnega nartovanja ne moremo avtomatizirati, za njegovo izvedbo je odgovoren analitik. Gre za prenos semantike v model.Model je poenostavitev realnosti, pri emer je abstrakcija realnosti poljubno natanna.

Pomembno je, da model prikazuje pomembne elemente in izpua tiste, ki nas ne zanimajo.

Modele razvijamo zato, da bi sisteme bolje razumeli.9PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 10 -Pomen konceptualnega nartovanjaJe najbolj kritino napake se prenaajo naprej na naslednje modele.Zahteva sodelovanje uporabnikov. Uporabniki so nosilci znanja o poslovni domeni, so poznavalci semantike.Konceptualno nartovanje mora upotevati tudi poslovna pravila.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 11 -Umestitev konceptualnega nartovanjasvetmentalni modelkonceptualni modellogini modelPBPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 12 -Predstavitev konceptualnih modelovNajpogosteje uporabljana tehnika za predstavitev konceptualnih podatkovnih modelov sta entitetni model (model entiteta-razmerje) ter razredni diagram. Obravnavali bomo prvega!Nazivi, ki se uporabljajo:Konceptualni podatkovni modelPodatkovni modelEntitetni modelER modelObstaja tudi razirjeni model entiteta razmerje

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 13 -Gradniki entitetnega modelaEntitetni tipAtributRazmerjeEnolini identifikatorPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 14 -Entitetni tip entiteta...Entitete so posamezni primerki tipov objektov iz poslovne domene: dogodki, predmeti, osebe, pravila, dejstvaO entitetah obstaja doloena predstava o tem:kakne lastnosti dejansko imajokakne lastnosti jim moramo doloiti (morajo imeti), da bodo izpolnjevale poslanstvo entitetnega modelaNa osnovi predstave o tem in percepcije, lahko entitete klasificiramo v entitetne tipe: vse entitete, ki ustrezajo doloeni predstavi, pripadajo posameznemu entitetnemu tipu.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 15 -Entitetni tip entiteta...

Prevozna sredstvaOsebeivaliHiePODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 16 -Entitetni tip entitetaVsak trenutek pripada posameznemu entitetnemu tipu mnoica entitet tega entitetnega tipa, ki jo imenujemo entitetna mnoicaEntitetna mnoica je asovno spremenljiva: entitete nastajajo, se spreminjajo in tudi izginjajo (izstopajo iz mnoice). Entitetna mnoica je v nekem trenutku lahko tudi prazna.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 17 -Predstavitev entitetnega tipa

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 18 -Atribut...Entitete imajo doloene lastnosti, posamezne entitete (istega entitetnega tipa) se med seboj razlikujejo po vrednosti njihovih lastnostiEntiteta ima praviloma veliko lastnosti, le del teh lastnosti je zanimiv oz. pomemben za opazovano poslovno domenoLastnosti, ki so pomembne za opazovano poslovno domeno, vkljuimo v konceptualni model tako, da jih kot atribute doloimo entiteti (entitetnemu tipu)PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 19 -Atribut...Govorimo lahko o ve vrstah lastnosti:Entitetna imena: naziv, ime, opisPrave entitetne lastnosti: viina, tea, cena, vrednostLastnosti, ki jih doloimo za potrebe poslovnih procesov, poslovnih funkcij in poslovnih pravil: statusiAtribut doloimo za tisto lastnost, ki je za poslovno domeno pomembnaPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 20 -AtributKardinalnost atributa je minimalna in maksimalna Glede na kardinalnost atributa loimo:Totalni atribut(1,n), kjer je n >= 1Parcialni atribut(0,n), kjer je n >= 1Enovrednostni atribut(m,1), kjer je m {0,1}Vevrednostni atribut (m,n), kjer je m {0,1} in n>1Minimalna tevnost 0 pomeni, da je atribut lahko brez vrednosti (ni obvezen).Atribut pripada doloenemu tipu: numerini, znakovni,Za veino tipov je potrebno doloiti tudi dolino.OSEBA(1,1)(1,3)(1,1)(0,n)EMOImePriimekVzdevekPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 21 -Predstavitev atributaOSEBA(1,1)(1,3)(1,1)(0,n)EMOImePriimekVzdevekOSEBAEMOImePriimekVzdevekPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 22 -Razmerja med entitetamiEntitete niso svet zase, medsebojno se povezujejo preko razmerij, povezavRazmerje ima doloen pomenPredstavitev razmerja v modelu entiteta-razmerje je povezava.Med opazovanim parom (v splonem podmnoici) entitet je lahko ve razmerij: OSEBA, KRAJ stalno bivalie, zaasno bivaliePODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 23 -Predstavitev razmerja...OSEBAKRAJiviOSEBAKRAJiviPomen razmerjaPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 24 -Predstavitev razmerjaOSEBAKRAJiviOSEBAKRAJivi vimaVloga entitete v razmerjuPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 25 -Kardinalnost razmerja...Kardinalnost (tevnost) predstavlja tevilo entitet entitetnega tipa, ki so v razmerju glede na pomen razmerja.Vsaka entiteta ima svojo kardinalnost v razmerju kardinalnost glede na vlogo. Entiteti OSEBA, POTA:Ena (nakljuno izbrana) oseba ima stalno bivalie v enem krajuV enem (nakljuno izbranem) kraju ima stalno bivalie ve osebPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 26 -Kardinalnost razmerja...

ABpovezava(n,m)(p,r)PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 27 -Kardinalnost razmerjaRazmerji med entitetama OSEBA in POTA

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 28 -Obveznost razmerjaObveznost pove, ali sta dve entiteti vedno v razmerju ali lahko tudi nista v razmerju: obvezno, neobvezno razmerjeObveznost lahko obravnavamo pod okriljem tevnosti, zaradi esar dodatno uvedemo tevnost 0PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 29 -Razmerje tudi opisuje lastnost entiteteRazmerje tudi opisuje lastnost entitetePrimer: OSEBA, POTARazmerje ima atributiven znaajPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 30 -Enolini identifikator entitete...Enolini identifikator entitete je podmnoica lastnosti entitete (atributov in razmerij drugih entitet), ki enolino razlikujejo posamezno instanco entitete znotraj entitetne mnoiceZ ozirom na to, ali tvorijo enolini identifikator entitete le atributi entitete ali pa je v enolinem identifikatorju tudi kakno razmerje, loimo med monim entitetnim tipom in ibkim entitetnim tipomPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 31 -Enolini identifikator entiteteImamo lahko ve enolinih identifikatorjev, vendar moramo enega izbrati doloitiIzbrani doloeni enolini identifikator je podlaga za klju v relacijskem modeluPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 32 -Predstavitev enolinega identifikatorjaOSEBA(1,1)(1,3)(1,1)(0,n)EMOImePriimekVzdevekOSEBAEMOImePriimekVzdevekPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 33 -Moni entitetni tipEnolini identifikator sestavljajo le atributi entitete (identifikacijski atributi){a1, ak} je enolini identifikator entitete A, e ustreza naslednjim pogojem:a1, ak so vsi totalni enovrednostni atributi, kar zagotavlja, da imajo vsi identifikacijski atributi definirano natanko eno vrednost (eno dimenzijo)T: V1 x x Vk ET je totalna ali parcialna enovrednostna funkcija, kar zagotavlja, da se vsak element kartezijskega produkta vrednostnih mnoic, ki so obmoja identifikacijskih atributov, preslika v najve eno entiteto tipa AJe minimalna podmnoica, ne obstaja prava podmnoica, za katero bi tudi veljal pogoj b)PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 34 -ibki entitetni tipEnolini identifikator ni sestavljen le iz lastnih atributov, temve tudi iz razmerij oz. drugih entitet v razmerju oz. njenih identifikatorjev.{a1, ak} IT1 .. ITn je enolini identifikator entitete A, e ustreza naslednjim pogojem:a1, ak so vsi totalni enovrednostni atributi, I pa identifikatorji entitetnih tipovT: V1 x x Vkx ET1 x .. X ETn ET je totalna ali parcialna enovrednostna funkcija, kar zagotavlja, da se vsak element kartezijskega produkta vrednostnih mnoic, ki so obmoja identifikacijskih atributov, preslika v najve eno entiteto tipa AJe minimalna podmnoica, ne obstaja prava podmnoica, za katero bi tudi veljal pogoj b)PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 35 -Generalizacija in specializacija...Entitetni tip A s podtipoma B in CB in C pokrivata A totalno in ekskluzivno, e velja: EB EC = EA in EB EC = {}B in C pokrivata A totalno in prekrivno, e velja: EB EC = EA in EB EC {}B in C pokrivata A delno in ekskluzivno, e velja: EB EC EA in EB EC = {}B in C pokrivata A delno in prekrivno, e velja: EB EC EA in EB EC {}PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 36 -OSEBAMOKIENSKATotalno in ekskluzivnoOSEBATUDENTPORTNIKDelno in prekrivnoGeneralizacija in specializacijaMetoda konceptualneganartovanjaPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 38 -Podpora orodij CASESUPBKonceptualni PMLogini PMFizini PM(skripta)Podatkovna bazai-CASEODBCReverse EngineeringOdloitev o PB:RelacijskaHierarhinaObjektnaLogino nartovanjePODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 39 -Prehod iz konceptualnega v logini modelPrehod iz konceptualnega v logini model je navadno avtomatiziran s strani CASE orodij.Primer:vrsta baze: relacijskaSUPB: OracleNARTOVANJEANALIZAKonceptualni modelEntitetni tipAtributEnolini identifikatorPovezava 1:nPovezava m:nAtribut / StolpecRelacija / TabelaVmesna tabelaTuji kljuKljuRelacijski modelPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 40 -Funkcionalne odvisnosti...Relacija je model nekega stanja v svetu njena vsebina ne more biti poljubna.Realne omejitve ne omogoajo, da bi bili odnosi v svetu kakrnikoli; mona so le doloena stanja.Odvisnosti so sredstvo, s katerim lahko v relacijskem modelu povemo, katere vrednosti relacij so veljavne in katere sploh ne morejo obstajati. PonovitevPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 41 -Funkcionalne odvisnosti...Poznamo ve vrst odvisnosti:Funkcionalne odvisnosti (functional dependency)Vevrednostne odvisnosti (multivalued dependency)Stine odvisnosti (join dependency)Obravnavali bomo funkcionalne odvisnosti; ostale bodo obravnavane v okviru postopka razirjene normalizacije (PB2, drugi semester).PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 42 -Funkcionalne odvisnosti...Predpostavimo, da obstaja relacijska shema R z mnoico atributov, katere podmnoici sta X in Y.

V relacijski shemi R velja X Y (X funkcionalno doloa Y oziroma Y je funkcionalno odvisen od X), e v nobeni relaciji, ki pripada shemi R, ne obstajata dve n-terici, ki bi se ujemali v vrednostih atributov X in se ne bi ujemali v vrednostih atributov Y.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 43 -Funkcionalne odvisnostiMnoico funkcionalnih odvisnosti, ki veljajo med atributi funkcionalne sheme R in v vseh njenih relacijah, oznaimo s F

X Y F r ( Sh(r) = R t, u (t r in u r in t.X = u.X t.Y = u.Y )

kjer

t.X, u.X, t.Y in u.Y oznaujejo vrednosti atributov Xoziroma Y v n-tericah t oziroma u.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 44 -Primeri funkcionalnih odvisnostiImamo relacijo s shemo Izpit( Vpt, Priimek, Ime, ifraPredmeta, Datum izpita,OcenaPisno, OcenaUstno)z naslednjim pomenom:tudent z vpisno tevilko Vpt ter priimkom Priimek inimenom Ime je na DatumIzpita opravljal izpit iz predmeta sifro ifraPredmeta. Dobil je oceno OcenaPisno in OcenaUstno.Funkcionalne odvisnosti relacijske sheme Izpit so:F { Vpt (Priimek, Ime), (Vpt, ifraPredmeta, DatumIzpita) (OcenaPisno, OcenaUstno) } PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 45 -Kljui relacije...Ker je relacija mnoica n-teric, so v njej vse n-terice loene med seboj.Za sklicevanje na posamezno n-terico ni potrebno poznati vseh vrednosti atributov n-terice, e v shemi nastopajo funkcionalne odvisnosti. Mnoici atributov, ki doloajo vsako n-terico, pravimo klju relacije oziroma klju relacijske sheme.PonovitevPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 46 -Kljui relacije...Predpostavimo, da obstaja relacijska shema z atributi A1 A2 ... An katere podmnoica je mnoica atributov X.

Atributi X so klju relacijske sheme oziroma pripadajoih relacij, e sta izpolnjena naslednja dva pogoja:

X A1 A2 ... Anne obstaja X, ki bi bila prava podmnoica od X in ki bi tudi funkcionalno doloala A1 A2 ... AnPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 47 -Kljui relacije...Poznamo ve vrst kljuev:Kandidat za klju (a key candidate)Primarni klju (primary key)Superklju (superkey)Tuji klju (foreign key)

Kandidat za klju je vsaka podmnoica atributov relacije, ki relacijo enolino doloa.

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 48 -Kljui relacijePrimarni klju je tisti kandidat za klju, ki ga izberemo za shranjevanje relacij v fizini podatkovni bazi. Superklju je vsaka mnoica atributov, v kateri je vsebovan klju klju je podmnoica superkljua.Tuji klju je mnoica atributov, v okviru ene relacije, ki je enaka kandidatu za klju neke druge ali iste relacije.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 49 -Primeri kljuevifraNazivZalogaA10Telovadni copati Nike10A12Trenerka Bali4BC80Moka jakna QuickSilver1X12enska jakna QuickSilver0Raunifra artiklaKoliina15/05A10115/05X121ARTIKELRAUNPrimarni klju v tabeli ArtikelPrimarni klju v tabeli RaunTuji klju v tabeli Raun kae na primarni klju v tabeli ArtikelPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 50 -Normalizacija...Kaj si bomo pogledali?Namen normalizacije.Uporaba normalizacije pri nartovanju relacijske podatkovne baze.Problemi zaradi redundance podatkov v osnovnih relacijah.Postopek normalizacije. Osnovne normalne oblike: I. normalna oblika, II. Normalna oblika, III. Normalna oblikaIV. Poslovna normalna oblikaPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 51 -Namen normalizacije...Normalizacija je postopek, s katerem pridemo do mnoice primernih relacij, ki ustrezajo potrebam poslovne domene.Nekaj lastnosti primernih relacij:Relacije imajo minimalen nabor atributov zgolj tiste, ki so potrebni za pokritje potreb poslovnega sistema;Atributi, ki so logino povezani, so zajeti v isti relaciji;Med atributi relacij je minimalna redundanca vsak atribut (razen tujih kljuev) je predstavljen samo enkrat.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 52 -PrimerRelacija StaffBranch ima odvene podatke.

Atribut z odvenimi (ponavljajoimi) podatkiPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 53 -Aurne anomalijeRelacije, ki vsebujejo odvene podatke lahko povzroajo anomalije pri spreminjanju podatkov govorimo o aurnih anomalijah.Poznamo ve vrst anomalij:Anomalije pri dodajanju n-teric v relacijoAnomalije pri brisanju n-teric iz relacijeAnomalije pri spreminjanju n-tericPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 54 -Anomalije pri dodajanjuPrimeri anomalij:e elimo dodati podatke o novih lanih (staff) za neko organizacijsko enoto (branch) moramo vpisati tudi vse podrobnosti o organizacijski enoti.e elimo dodati podatke o novi organizacijski enoti, ki e nima nobenega lana, moramo v vsa polja , ki lane opisujejo, vpisati Null.

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 55 -Anomalije pri brisanjuPrimeri anomalij:e iz relacije zbriemo n-terico, ki predstavlja zadnjega lana v neki organizacijski enoti, zgubimo tudi podatke o tej organizacijski enoti.

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 56 -Anomalije pri spreminjanjuPrimeri anomalij:e elimo spremeniti vrednost nekega atributa doloene organizacijske enote (npr. naslov), moramo popraviti vse n-terice, v katerih takna vrednost atributa nastopa.

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 57 -Postopek normalizacijePostopku preoblikovanja relacij v obliko, pri kateri do aurnih anomalij ne more priti, pravimo normalizacija.Obstaja ve stopenj normalnih oblik. Obravnavali bomo:1NO Prva normalna oblika2NO Druga normalna oblika3NO Tretja normalna oblika in4PNO etrta poslovna normalna oblikaPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 58 -1NO prva normalna oblikaRelacija je v prvi normalni obliki, e:Nima ponavljajoih atributov ne obstajajo atributi ali skupine atributov, ki bi imele ve vrednosti pri isti vrednosti ostalih atributov (na preseiu ene vrstice in enega stolpca je ve vrednosti)Ima definiran primarni klju in doloene funkcionalne odvisnosti

Koraki:Odstranimo ponavljajoe atributeDoloimo funkcionalne odvisnostiDoloimo primarni klju

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 59 -Primer relacija v nenormalizirani oblikiVpriimekimepotakrajifra predmetanazivocena64010632BratinaSimon4100Kranj200202002120033ISTPOIPI108864016209BizjakTadeja2250Ptuj2006020033E1IPI96Indeks( V, priimek, ime, pota, kraj, ( ifra predmeta, naziv, ocena ) )Skupina ponavljajoih se atributov.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 60 -Primer pretvorba v 1NO...Indeks( V, priimek, ime, pota, kraj, ( ifra predmeta, naziv, ocena ) )Indeks( V, priimek, ime, pota, kraj, ifra predmeta, naziv, ocena )Odpravimo ponavljajoe atributeIdentificiramo funkcionalne odvisnostiF { V (priimek, ime, pota, kraj), ifra predmeta naziv, pota kraj, (V, ifra predmeta) ocena }Doloimo primarni kljuIndeks( V, priimek, ime, pota, kraj, ifra predmeta, naziv, ocena )PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 61 -Primer pretvorba v 1NOV priimekimepotakrajifra predmetanazivocena64010632BratinaSimon4100Kranj20020IS1064010632BratinaSimon4100Kranj20021TPO864010632BratinaSimon4100Kranj20033IPI864016209BizjakTadeja2250Ptuj20060E1964016209BizjakTadeja2250Ptuj20033IPI6Vpriimekimepotakrajifra predmetanazivocena64010632BratinaSimon4100Kranj200202002120033ISTPOIPI108864016209BizjakTadeja2250Ptuj2006020033E1IPI96PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 62 -2NO druga normalna oblikaRelacija je v drugi normalni obliki:e je v prvi normalni obliki inNe vsebuje parcialnih odvisnosti noben atribut, ki ni del kljua, ni funkcionalno odvisen le od dela primarnega kljua, temve od celotnega kljuaDruga normalna oblika je odvisna predvsem od kljua relacije. Relacija je avtomatsko v drugi normalni obliki, e: Je njen primarni klju sestavljen le iz enega atributa,Je njen primarni klju sestavljen iz vseh atributov relacije aliJe njen primarni klju sestavljen iz vseh razen enega atributa relacijePODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 63 -Primer pretvorba v 2NO...Indeks( V, ifra predmeta, priimek, ime, pota, kraj, naziv, ocena )!Relacijo razbijemotudent( V, priimek, ime, pota, kraj)Predmet( ifra predmeta, naziv)Indeks( #V, #ifra predmeta, ocena)!PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 64 -Primer pretvorba v 2NOVpriimekimepotakrajifra predmetanazivocena64010632BratinaSimon4100Kranj20020IS1064010632BratinaSimon4100Kranj20021TPO864010632BratinaSimon4100Kranj20033IPI864016209BizjakTadeja2250Ptuj20060E1964016209BizjakTadeja2250Ptuj20033IPI6Vpriimekimepotakraj64010632BratinaSimon4100Kranj64016209BizjakTadeja2250Ptujifra predmetanaziv20020IS20021TPO20033IPI20060E120033IPIVifra predmetaocena64010632200201064010632200218640106322003386401620920060964016209200336PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 65 -3NO tretja normalna oblikaRelacija je v tretji normalni obliki:e je v drugi normalni obliki ine ne vsebuje tranzitivnih funkcionalnih odvisnosti med atributi, ki niso del primarnega kljua, ni odvisnosti.Relacija je avtomatsko v tretji normalni obliki, e: Je njen klju sestavljen iz vseh atributov relacijeJe njen klju sestavljen iz vseh razen enega atributa relacije.

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 66 -Primer pretvorba v 3NO...tudent( V, priimek, ime, pota, kraj)Predmet( ifra predmeta, naziv)Indeks( #V, #ifra predmeta, ocena)!tudent( V, priimek, ime, #pota)Pota(pota, kraj)Predmet( ifra predmeta, naziv)Indeks( #V, #ifra predmeta, ocena)Relacijo razbijemoPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 67 -Primer pretvorba v 3NOVpriimekimepotakraj64010632BratinaSimon4100Kranj64016209BizjakTadeja2250PtujVpriimekimepota64010632BratinaSimon410064016209BizjakTadeja2250potakraj4100Kranj2250PtujPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 68 -4PNO etrta poslovna normalna oblikaRelacija je v etrti poslovni normalni obliki, e:je v tretji normalni obliki inv relaciji ne obstajajo atributi, ki bi bili odvisni od vrednosti primarnega kljua.

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 69 -Primer pretvorba v 4PNO...tudent( V, priimek, ime, #pota, datum plaila olnine, rok diplome)Za izredne tudentaZa redne tudentatudent( V, priimek, ime, #pota)Redni tudent( #V, rok diplome)Izredni tudent( #V, datum plaila olnine)PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 70 -Primer pretvorba v 4PNOVPriimekImeDatum plaila olnineRok diplome64010632BratinaSimon15.3.200564016209BizjakTadeja19.4.200264010670BerceMarjan12.4.200464620010MeleSilvana1.4.200565120987LebanTibor15.7.2005VPriimekIme64010632BratinaSimon64016209BizjakTadeja64010670BerceMarjan64620010MeleSilvana65120987LebanTiborVDatum plaila olnine6401620919.4.20026401067012.4.2004VRok diplome6401063215.3.2005646200101.4.20056512098715.7.2005PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 71 -Uporaba nenormaliziranih relacij...Vasih zavestno uporabljamo relacije, ki ne ustrezajo najvijim normalnim oblikam.Prve in druge normalne oblike nikoli ne krimo. Vijim normalnim oblikam se vasih odreemo na raun doseganja bolje uinkovitosti.

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 72 -Uporaba nenormaliziranih relacijPrimer:Rezultat (portnik, tekmovanje, as prvega teka, as drugega teka, as skupaj)Relacija ni v tretji normalni formi. as skupaj je izpeljan atribut ni odvisen od kljua, temve je setevek asov obeh tekov. Skupen as raunamo ob vpisu v bazo, zato izboljamo uinkovitost pri nadaljnji obdelavi podatkov.Metoda logineganartovanjaPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 74 -Nartovanje fizine podatkovne baze...SUPBKonceptualni PMLogini PMFizini PM(skripta)Podatkovna bazai-CASEODBCReverse EngineeringOdloitev o PB:RelacijskaHierarhinaObjektnaNartovanje fizine PBPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 75 -Nartovanje fizine podatkovne bazeFizino nartovanje PB opredeljuje proces, s katerim izdelamo opis implementacije PB na sekundarnem pomnilnem mediju.Opisuje osnovne relacije, datoteno organizacijo, indekse za dosego uinkovitega dostopa do podatkov, povezane omejitve in varnostne mehanizme.

Metoda fizineganartovanjaPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 77 -K1.1 Identificiraj entitetne tipe...Na voljo razline tehnikeEna izmed tehnik je pregled uporabnikih zahtev:Pregledamo vse omenjene samostalnike in fraze (npr. profesor, predmet, izpit, rok, datum izpita,...)Pozorni smo na pomembne objekte (npr. ljudje, lokacije...)Skuamo loiti objekte (npr. profesor, izpit,...) od lastnosti objektov (ime, vpisna tevilka,...) Lastnosti objektov zdruujemo v entitetne tipePODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 78 -K1.1 Identificiraj entitetne tipe...Teave:Entitete niso vedno jasno predstavljene v dokumentacijiUporaba primerov, analogij, sinonimov, homonimovUporaba konkretnih imen osebNi vedno jasno, kaj je entitetni tip, kaj povezava in kaj atribut (npr. izpit)Nartovanje je subjektivne narave monih je ve (pravilnih) reitev. Nart zavisi od uporabnikove presoje in izkuenj

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 79 -K1.1 Identificiraj entitetne tipeEntitetne tipe je potrebno dokumentiratiPrimer dokumentacije:Naziv entitetnega tipaOpisSinonimtevilo entitetProfesorPredstavlja pedagokega delavca, ki je nosilec enega ali ve predmetovPedagoki delavecVsaka katedra ima enega ali ve profesorjevIzpitni rokPredstavlja datum, na katerega je za nek predmet in doloeno ciljno skupino (letnik, smer,...) razpisan izpitni rok.Rok, pisni izpit, kolokvijNa leto se razpie okrog 300 pisnih izpitov. Vsak predmet mora imeti vsaj tri roke letno...PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 80 -K1.2 Identificiraj povezave...Ko smo identificirali entitetne tipe, skuamo opredeliti vse povezave med njimiUporabimo lahko podoben postopek kot v K1 (pregled uporabnikih zahtev):Iemo glagole (npr. profesor razpie rok, tudent polaga izpit, tudent izbere mentorja, tudent se vpie v letnik,...)Zanimajo nas samo tiste povezave, ki so res potrebne (oitne povezave ali povezave, ki nas ne zanimajo z vidika hranjenja podatkov, so odve) PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 81 -K1.2 Identificiraj povezave...Postopek identifikacije povezav (nadaljevanje)Pozorni smo na povezave, ki niso binarne - povezujejo ve kot dve entiteti ali so rekurzivne. Npr. tudent opravi izpit za nek predmet pri nekem profesorju.Ali, pedagoki delavec ima asistenta, ki je tudi pedagoki delavec.Preverimo, e smo zajeli vse povezave (naeloma lahko preverimo za vsak par entitetnih tipov, e med njima obstaja povezava) postopek je lahko zelo potraten, zato ga ne izvajamo vedno (preverjanje modela je stvar K8)

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 82 -K1.2 Identificiraj povezave...Postopek identifikacije povezav (nadaljevanje)Povezavam doloimo tevnostPreverimo, e obstajajo kakne dvoumne ali nepopolne povezave (ang. chasm and fan tramps)Primer dvoumne povezave1..*1..11..11..*ProfesorKatedraLaboratorijje lanvkljuujePr1Pr2Pr3K1K2L1L2L3PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 83 -K1.2 Identificiraj povezave....Dvoumno povezavo odpravimo z restrukturiranjem modelaProfesorLaboratorijKatedraje lanvkljuujePr1Pr2Pr3L1L2K1K2K31..*1..11..*1.1PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 84 -K1.2 Identificiraj povezave...Primer nepopolne povezave1..11..*0..10..*KatedralanOpremaimaje skrbnikK1K2K3l1l2O1O2O3l3Kateri katedri pripada oprema O2?PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 85 -K1.2 Identificiraj povezave...Tudi nepopolno povezavo odpravimo z restrukturiranjem modela1..11..*0..10..*KatedralanOpremaimaje skrbnikK1K3l1l2O1O2l31..11..*pripadaK2PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 86 -K1.2 Identificiraj povezavePovezave je potrebno dokumentiratiPrimer dokumentacije:Entitetni tiptevnostPovezavatevnostEntitetni tiplan1..*1..1PripadaJe predstojnik1..10..1KatedraLaboratorij1..*Sodi v1..1Katedra...PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 87 -K1.3 Identificiraj atribute...Skuamo identificirati lastnosti entitet ter povezavUporabimo lahko tehniko prouevanja uporabnikih zahtev iemo samostalnike, ki predstavljajo lastnosti, opisne vrednosti ali identifikatorje objektovKorak doloanja atributov entitetnih tipov je relativno enostavenPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 88 -K1.3 Identificiraj atribute...Nekaj primerov, kjer je potrebna pazljivost:Enostavni in sestavljeni atributi (npr. naslov ulica, hina tevilka, tevilka pote, naziv pote). Kaj potrebuje uporabnik?Eno- in ve-vrednostni atributi (npr. telefonska tevila domaa, v sluni, mobilna... Izpeljani atributi (npr. skupna cena rauna, starost tudenta,...) pogosto ne kaemo v konceptualnih modelih. Obravnavamo pri fizinem nartovanju.

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 89 -K1.3 Identificiraj atribute...Dodatna priporoila:e identificiramo atributi, ki navidez pripadajo ve entitetam, preverimo:Ali je mono zdruiti entitete (npr. asistent in profesor zdruimo v pedagoki delavec);e imajo entitete ve skupnih vendar tudi svoje atribute, razmislimo o uporabi generalizacije (npr. poleg entitetnega tipa asistent in profesor uvedemo e entitetni tip pedagoki delavec, ki prevzame vse skupne atribute.)e identificiramo atribut, ki odraa povezavo (npr. atribut katedra v entitetnem tipu Profesor predstavlja povezavo z entiteto katedra):e povezava obstaja, potem je atribut odvee povezava ne obstaja, jo je potrebno dodati ter atribut zbrisati

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 90 -K1.3 Identificiraj atributeAtribute je potrebno dokumentirati:Naziv atributa, opis, podatkovni tip, dolina, sinonimi, ali je atribut sestavljen (iz katerih atributov je sestavljen?), ali je atribut izpeljan (iz katerih atributov je izpeljan?),...Primer dokumentacije:Entitetni tipAtributiOpisPodatkovni tipDolina...tudentVpisStImePriimek...Vpisna tevilka tudentaIme tudentaPriimek tudentaNumberCharacterCharacter82020.........PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 91 -K1.4 Atributom doloi domene...Domena je mnoica vrednosti, ki jih lahko zavzamejo atributi, vkljueni v to domeno.Domeni lahko doloimo: Seznam dovoljenih vrednostiMinimalno in maksimalno vrednostPodatkovni tip in dolinoDovoljene operacije nad atributom (e v raziskavi)Primeri domen:Barva {bela, rumena, oranna, rdea}Opis elementa character 50Starost [0..120]EMSO number 13

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 92 -K1.4 Atributom doloi domeneTudi domene dokumentiramoZapiemo naziv domene ter lastnosti oz. pravila, ki jih domena doloa.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 93 -K1.5 - Doloi kandidate za kljue...Za vsak entitetni tip doloimo kandidate za klju ter izberemo enega za primarni klju.Kandidati za klju so minimalne podmnoice atributov, ki enolino identificirajo vsako entiteto.e je kandidatov ve, izberemo enega, ki je primeren za primarni klju.tudentEMOVpisStDavcnaStImePriimekDtmRojPrimerPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 94 -K1.5 - Doloi kandidate za kljue...Nekaj priporoil za izbiro kljua, e je ve kandidatov:Kandidat z najmanj atributi;Kandidat, za katerega je najmanj verjetno, da se bodo njegove vrednosti spreminjale;Kandidat z najmanjo dolino znakov (za alfanumerine kandidate);Kandidat z najmanjo maksimalno vrednostjo (za numerine kandidate);Kandidat, ki ga je najlaje uporabiti s stalia uporabnika PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 95 -K1.5 - Doloi kandidate za kljueDodatna priporoila:Imena navadno niso dober kandidat za kljuBodi pozoren na ibke entitetne tipe (ibkim entitetam v okviru konceptualnega nartovanja ne moremo doloiti kljua)Tudi primarne in alternativne kljue je potrebno dokumentirati.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 96 -K1.6 uporabi elemente EER diagrama...EER razirjen ER diagramElementi razirjenega ER diagrama so:Specializacija: ugotovljamo razlike med entitetami dooenega tipa in entitetni tip razbiti na ve specializiranih entitet. Generalizacija: ugotavljamo skupne lastnosti entitet razlinih tipov in kreirati nov tip s skupnimi lastnostmi. Agregacija: modeliramo povezavo je del oziroma ima, s katero doloimo pripadnost tipa del tipu celota.Kompozicija: posebna vrsta agregacije z monim lastnitvom del ne more obstajati brez celote.

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 97 -K1.6 uporabi elemente EER diagrama...Primer specializacijetudentRedni tudentIzredni tudentZnak za specializacijo/generalizacijo.

Lahko tudi: PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 98 -K1.6 uporabi elemente EER diagrama...Primer generalizacijeProfesorAsistentPedagoki delavecPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 99 -K1.6 uporabi elemente EER diagrama...Primer agregacijetudentIndekspripada1..11..*Agregacija poveuje semantiko modelatudentIndekspripada1..11..*Navadna povezavaZnak zaagregacijo.

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 100 -K1.6 uporabi elemente EER diagrama...Primer kompozicijetudentIndekspripada1..11..*Kompozicija poveuje semantiko modelatudentIndekspripada1..11..*Navadna povezavaZnak zakompozicijo.

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 101 -K1.6 uporabi elemente EER diagramaKdaj uporabiti elemente razirjenega ER diagrama?Elementi razirjenega diagrama poveajo semantiko modela vendar lahko negativno vplivajo na berljivost modelaBerljivost, enostavnost modela naj bo vodilo pri odloanju o uporabi naprednih modelirnih elementov (predvsem agregacija in kompozicija)PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 102 -K1.7 - Preveri obstoj odvenih elem....Preverimo, e v modelu obstajajo redundantni elementi:Pregledamo povezava 1 1Odstranimo odvene povezavePreverimo asovni okvirPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 103 -K1.7 - Preveri obstoj odvenih elem....Povezave 1 1Pri identifikaciji entitetnih tipov smo morda zajeli ve tipov, ki predstavljajo iste objekte (npr. Profesor, Pedagoki delavec, Asistent)e taki tipi obstajajo, jih je potrebno zdruitie so primarni kljui razlini, izberemo enegaProfesorEMODavcnaStImePriimekDtmRojAsistentEMODavcnaStImePriimekDtmRojPedagogEMODavcnaStImePriimekDtmRojPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 104 -K1.7 - Preveri obstoj odvenih elem....Odstrani odvene povezavePovezava je odvena, e je mono priti do iste informacije prek drugih povezav!Izdelati elimo minimalen podatkovni model odvene povezave zato odstranimo.Zgolj pregledovanje poti med entitetnimi tipi ne zadoa (povezave imajo lahko razlien pomen)PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 105 -K1.7 - Preveri obstoj odvenih elem....Ali je kakna povezava odve?ProfesorKatedraje predstojnik1..10..1Laboratorijpripada1..11..*je lan1..11..*PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 106 -K1.7 - Preveri obstoj odvenih elem....Ali je kakna povezava odve?ProfesorKatedrapripada1..*1..1Laboratorijpripada1..11..*je lan1..11..*PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 107 -K1.7 - Preveri obstoj odvenih elem....Preveri asovni okvirasovni okvir povezav je lahko pomemben

Povezava je oe ni odve! Kaj npr. e ima oe otroka iz prejnjega zakona?

OeMatije poroen z0..10..1Otrokje mati1..10..*je oe0..*1..1?PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 108 -K1.8 - Preveri e model zdri transkacije...Preveriti moramo e model, ki smo ga dobili s koraki od K1 do K7, podpira vse zahtevane transakcije.Transakcije izvajamo ronoe neke transkacije ne uspemo izvesti, je model pomanjkljiv (manjka bodisi entitetni tip, povezava ali atribut)Mona dva pristopa:Preverjanje opisa transakcijPreverjanje transakcijskih potiPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 109 -K1.8 - Preveri e model zdri transkacije...Preverjanje opisa transakcijVsako transakcijo opiemo; Preverimo, e model zajema vse entitetne tipe, povezave in atribute, ki jih transakcija potrebuje.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 110 -K1.8 - Preveri e model zdri transkacije...Primer opisa transakcijskih zahtevVnos podatkov:Vnesi podatke o tudentih (npr. 24010637, Monika Jemec,...)Vnesi podatke o predmetih (npr. 70029, Razvoj IS, Letni,...)...Urejanje in brisanje podatkov:Uredi/brii podatke o tudentuUredi/brii podatke o predmetih...PoizvedbeIzpii vse tudente, ki so se vpisali v doloen letnik, doloene smeri, doloenega programaIzpii vse predmete, ki jih je opravil doloen tudent...PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 111 -K1.8 - Preveri e model zdri transkacije...Preverjanje transakcijskih potiTransakcije preverimo na modelu pot transakcije nariemoPristop nartovalcu omogoa:Da identificira pomanjkljivosti modela (e pot za neko transkacijo ni mona)Da identificira dele modela, ki so transakcijsko kritiniDa odkrije odvene dele modela (deli, ki jih ne potrebuje nobena transakcija)Preverjanje transkacij je zamudno vendar pomembno delo!!PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 112 -K1.8 - Preveri, e model zdri transkacijePrijavaprIDPredmetpredIDSmersmerIDProgramprogIDRokrokIDtudentvpisStIzpitstPolima0..11..1se predava na1..*1..*za1..10..*iz1..10..*se nanaa na1..10..*pripada1..10..*je opravljal1..10..*Izpii vse predmete, ki jih je opravil doloen tudent Izpii vse tudente, ki so se vpisali v doloen letnik, doloene smeri, doloenega programaa?bPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 113 -K1.9 Preveri model z uporabnikomNa koncu model preverimo z uporabnikomAnomalije, pomanjkljivosti, napake,... lahko vodijo v ponovitev korakov od K1 do K9.V mnogih podjetjih mora uporabnik podpisati podatkovni modelLoginonartovanjePODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 114 -Podatkovni model?Loginonartovanje

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 115 -Metoda loginega nartovanja...Moni koraki loginega nartovanja:K2.1: Za entitetne tipe kreiraj relacijeK2.2: Preveri relacije z normalizacijoK2.3: Preveri relacije s pregledom uporabnikih transakcijK2.4: Preveri omejitve integriteteK2.5: Preveri model z uporabnikomK2.6: Zdrui lokalne modele v globalni model (opcijsko)K2.7: Preveri zmonosti modela za raziritve

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 116 -K2.1 Za entitetne tipe kreiraj relacije...NamenIzdelati relacije za logini model, ki bo predstavljal entitete, povezave in atribute, ki smo jih identificirali v okviru konceptualnega modeliranja. Ta korak je navadno avtomatiziran pretvorba iz konceptualnega v logini model je podprta s strani tevilnih CASE orodij.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 117 -K2.1 Za entitetne tipe kreiraj relacije...Rona pretvorba:Moni entitetni tipiZa vsak moan entitetni tip kreiraj relacijo, ki vkljuuje vse enostavne atribute tega entitetnega tipa. Namesto sestavljenih atributov vkljui njihove atribute, ki jih sestavljajo.ibki entitetni tipiZa vsak ibki entitetni tip kreiraj relacijo, ki vkljuuje vse enostavne atribute tega entitetnega tipa. Primarni klju ibkega entitetnega tipa je delno ali v celoti sestavljen iz atributov, ki so klju v entitetnih tipih, s katerimi je opazovani entitetni tip povezan. Da bi lahko doloili klju, moramo najprej pretvoriti vse povezave.Enolini identifikator sestavljajo le atributi entitete (identifikacijski atributi)PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 118 -Primer: moni in ibki entitetni tipitudentEMOVpisStDavcnaStImePriimekDtmRojNaslovPredmetPredmetOpisStUrLetniIzpitDatumOcena1..10..*0..*1..1je opravilzaibki entitetni tiptudent(EMO, VpisSt, DavcnaSt, Ime, Priimek, DtmRoj, Ulica, Mesto)Predmet(Predmet, Opis, StUr, Letni)Izpit(Datum, #VpisSt, #Predmet, Ocena)Sestavljene atribute razbijemoPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 119 -K2.1 Za entitetne tipe kreiraj relacije...Rona pretvorba (nadaljevanje):Povezave 1:*Za vsako povezavo 1:* prenesi klju entitetnega tipa, ki nastopa v povezavi na strani 1 (oe) v entitetni tip, ki nastopa v povezavi na strani * (otrok). Dobimo tuji klju.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 120 -Primer: povezave 1:*tudentEMOVpisStDavcnaStImePriimekDtmRojNaslovDiplomaDatumOcena1..11..*je opraviltudent(EMO, VpisSt, DavcnaSt, Ime, Priimek, DtmRoj, Ulica, Mesto)Diploma(Datum, #VpisSt, Ocena)Prenos tujega kljua v smeri ena proti mnogoPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 121 -K2.1 Za entitetne tipe kreiraj relacije...Rona pretvorba (nadaljevanje):Povezave 1:1Pri tevnosti 1:1 ne moremo vedno enostavno doloiti oeta in otrok. Za odloitev, ali bomo entitetna tipa, ki sta povezana s povezavo 1:1, povezali v eno relacijo ali ju predstavili z dvema, preverimo predvsem, kako je z obveznostjo povezav. Mone omejitve so: obveznost na obeh straneh, neobveznost na eni in obveznost na drugi, neobveznost na obeh straneh.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 122 -K2.1 Za entitetne tipe kreiraj relacije...Rona pretvorba (nadaljevanje):Povezave 1:1 (nadaljevanje...)Obveznost na obeh straneh 1:1 povezave Entitetna tipa zdrui v eno relacijo. Za primarni klju izberi enega izmed primarnih kljuev originalnih entitetnih tipov. Obveznost na eni strani 1:1 povezaveEntitetni tip, ki ni obvezen v povezavi, naj bo oe, entitetni tip z obvezno povezavo pa naj bo otrok. Kopija primarnega kljua entitetnega tipa oeta se prenese na entitetni tip otroka. Neobvezna povezava na obeh straneh 1:1 povezaveV primerih, ko sta oba entitetna tipa neobvezna, je teko doloiti oeta in otroka povezave. Ko pridobimo dovolj podatkov, doloimo klju.

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 123 -Primer: povezave 1:1FakultetaFakultetaNazivDekanIDImePriimek1..11..1vodiDekan(ID, Ime, Priimek, Naziv_fakultete)Obveznost na obeh straneh: entitetna tipa predstavimo z eno relacijo; izberemo klju123Izbrali smo entitetni tip Dekan, ker ima entitetni tip Fakulteta samo en neosnovni atribut.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 124 -Primer: povezave 1:1FakultetaFakultetaNazivProfesorIDImePriimek1..10..1je dekanFakulteta(Fakulteta, Naziv, #ID)Profesor(ID, Ime, Priimek)Obveznost na eni strani: entitetni tip, ki igra vlogo oeta, dobi tuji klju primarni kljudrugega entitetnega tipa v povezavi se prenese.oePODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 125 -K2.1 Za entitetne tipe kreiraj relacije...Rona pretvorba (nadaljevanje):Rekurzivne povezave 1:1Pri rekurzivnih povezavah tipa 1:1 upotevaj pravila, ki izhajajo iz obveznosti povezav. Obveznost na obeh straneh: rekurzivno povezavo predstavi z eno relacijo in dvema kopijama primarnega kljua. Obveznost na eni, neobveznost na drugi strani: kreiraj eno relacijo z dvema kopijama primarnega kljua ali kreiraj novo relacijo. Nova relacija naj ima samo dva atributa kopiji primarnega kljua.Neobveznost na obeh straneh: kreiraj novo relacijo. Nova relacija naj ima samo dva atributa kopiji primarnega kljua. Kopije primarnih kljuev je v rekurzivnih povezavah potrebno ustrezno poimenovati, da lahko loimo med njimi!PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 126 -Primer: rekurzivne povezavePDelavecIDImePriimekNaziv1..10..*je mentorPDelavec(ID, Ime, Priimek, Naziv, IDmentorja)Obveznost na eni strani: kreiramo relacijo z dvema kopijama primarnega kljua. Eden igra vlogo primarnega drugi pa tujega kljua.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 127 -Primer: rekurzivne povezavePDelavecIDImePriimekNaziv1..10..*je mentorPDelavec(ID, Ime, Priimek, Naziv)Mentor(#IDmentorja, #IDdelavca)Obveznost na eni strani: Rekurzivno povezavo pretvorimo v relacijo. Relacija za vsakega pedagokegadelavca pove, kdo mu je (bil) mentor.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 128 -K2.1 Za entitetne tipe kreiraj relacije...Rona pretvorba (nadaljevanje):Povezave med nadtipi in podtipiIdentificiraj nadtipe kot oete ter podtipe kot otroke. Obstajajo razline monosti, kako takne povezave predstaviti z relacijami. Izbira najbolj ustrezne opcije je odvisna od tevilnih faktorjev: izkljuevanje, obveznost povezav, tevilo entitet v povezavi.... PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 129 -Primer: nadtipi, podtipiPREVOZNO SREDSTVORegistrska t.Datum izdelaveDatum registracijeMo motorjaBarvat. motorjaOSEBNI AVTOt. sedeevKilovatiVrsta motorjaPovprena porabaTOVORNO VOZILONosilnostTip xTip specializacijePODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 130 -K2.1 Za entitetne tipe kreiraj relacije...Rona pretvorba (nadaljevanje):Povezave *:*Kreiraj relacijo, ki predstavlja povezavo ter vse njene atribute. Primarne kljue entitetnih tipov, ki sta povezana s tako povezavo, vkljui v novo relacijo kot tuji klju. Tuji kljui bodo obenem tudi primarni kljui samostojno ali v kombinaciji z drugimi atributi relacije.

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 131 -Primer: povezave *:*tudentEMOVpisStDavcnaStImePriimekDtmRojNaslovPredmetPredmetOpisStUrLetni0..*je opravil0..*tudent(EMO, VpisSt, DavcnaSt, Ime, Priimek, DtmRoj, Ulica, Mesto)Predmet(Predmet, Opis, StUr, Letni)Izpit(Datum, #VpisSt, #Predmet, Ocena)PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 132 -K2.1 Za entitetne tipe kreiraj relacijeRona pretvorba (nadaljevanje):Ve-vrednostni atributiZa predstavitev ve-vrednostnih atributov kreiraj novo relacijo. V novo relacijo vkljui tudi klju entitetnega tipa, iz katerega izhajajo ve-vrednostni atributi. V novi relaciji predstavlja tuji klju. Primarni klju v novi relaciji je kombinacija tujega kljua in ve-vrednostnih atributov. e ve-vrednostni atributi sami predstavljajo kandidata za klju, potem ni potrebno, da primarni klju zajema tudi tuji klju.e je tevilo vrednosti za vevrednostni atribut znano in ni veliko (npr. je manje d 5), lahko tak atribut predstavimo z ve atributi v relaciji. Za vsako vrednost svoj atribut.

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 133 -Primer: vevrednostni atributitudentVpisStImePriimekDtmRojNaslovTelefontudent(VpisSt, Ime, Priimek, DtmRoj, Mesto, Ulica, GSM, StcTelefon)Vevrednostni atribut: tevilo vrednosti za Telefon je znano, zato za vsako doloimo svoj atribut v isti relaciji.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 134 -Primer: vevrednostni atributiKonferencaIDDatumNazivKonfKrajSponzorKonferenca(ID, Datum, NazivKonf, Kraj)Sponzor(Sponzor, Naziv)SponzorKonference(#ID, #Sponzor)Vevrednostni atribut: tevilo vrednosti za atribut sponzor ni znano, zato kreiramo novi relaciji.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 135 -K2.2 Preveri relacije z normalizacijo...Namen tega koraka je preveriti, e so vse pridobljene relacije v ustrezni normalni obliki. To zagotavlja:Da imajo relacije minimalno, vendar zadostno tevilo atributov za potrebe problemske domene;Da ni odvenih podatkov (razen za potrebe povezovanja)Prevedba konceptualnega modela v logini model navadno da relacije, ki ustrezajo 3NO. e to ne dri, so v konceptualnem modelu ali v postopku prevedbe napake.

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 136 -K2.2 Preveri relacije z normalizacijo...Vasih se zdi, da normalizirane relacije ne omogoajo zadovoljive uinkovitosti podatkovne baze. Upotevati je potrebno:V normaliziranih relacijah so podatki organizirani v skladu s funkcionalnimi odvisnostmi. Logini podatkovni model ni dokonen. Predstavlja le, kako nartovalec razume pomen in naravo podatkov, potrebnih za obravnavano problemsko domeno; Specifine potrebe v zvezi z uinkovitostjo lahko zahtevajo drugaen fizini model.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 137 -K2.2 Preveri relacije z normalizacijoUpotevati je potrebno (nadaljevanje):Normaliziran nart je robusten in odporen na podatkovne anomalije.Moderni raunalniki so veliko zmogljiveji vasih je upravieno uporabiti reitve, ki omogoajo enostavnejo obdelavo na raun ve procesiranja.Normalizacija nartovalca prisili, da se natanko spozna z vsakim atributom relacije.Z normalizacijo pridemo do fleksibilnega narta, ki ga brez teav razirimo.

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 138 -K2.3 Preveri relacije z vidika transakcijPodobno kot konceptualni model preverimo tudi logini model z vidika podpore transakcij, ki jih uporabnik specificira (glej K1.8). e vseh transakcij ni mo izvesti rono, smo pri pretvorbi naredili napako, ki jo je potrebno odpraviti.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 139 -K2.4 Preveri omejitve integritete...V tem koraku preverimo pravila za zagotavljanje celovitosti podatkov:Obveznost atributovOmejitve domen atributovtevnostOmejitve entitet (celovitost entitet)Omejitve povezav (celovitost povezav)Splone omejitvePODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 140 -Primeri omejitev povezav

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 141 -K2.5 Preveri model z uporabnikom...Namen tega koraka je preveriti model z uporabnikom ter ugotoviti, e ustreza vsem uporabnikim zahtevam.Model lahko zajema ve uporabnikih pogledov. Pri pregledu lahko nastopa ve uporabnikov.Odlien nain za pregled celovitosti podatkovnega modela je specifikacija podatkovnih tokov s pomojo diagrama podatkovnih tokov.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 142 -Povezava podatkovni model in DFDDFDPMPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 143 -K2.6 Zdrui lokalne modele...Namen tega koraka je zdruiti vse lokalne modele v en globalni model, ki predstavlja vse uporabnike vidike podatkovne baze.eprav so lokalni modeli preverjeni, lahko pri njihovem zdruevanju pride do prekrivanja in neskladnosti.Globalni model preverim podobno kot smo preverjali lokalne modele.e pri nartovanju nismo zajeli ve uporabnikih vidikov, lahko korak preskoimo.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 144 -K2.6 Zdrui lokalne modelePri zdruevanju lokalnih modelov uporabimo naslednje korake:K2.6.1 Lokalne modele zdrui v globalni modelK2.6.2 Preveri globalni modelK2.6.3 Globalni model preveri z uporabnikiPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 145 -Pravila zdruevanja lokalnih modelov...Pravila zdruevanja lokalnih modelov:Preveri imena in vsebino relacij ter njihove kandidate za klju. Preveri imena in vsebino povezav in tujih kljuev.Zdrui relacije z lokalnih podatkovnih modelov Brez zdruevanja vkljui relacije, ki so unikatne v posameznih podatkovnih modelih.Zdrui povezave in tuje kljue z lokalnih podatkovnih modelov.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 146 -Pravila zdruevanja lokalnih modelovPravila zdruevanja lokalnih modelov (nadaljevanje):Brez zdruevanja vkljui povezave in tuje kljue, ki so unikatni v posameznih podatkovnih modelih.Preveri, e morda manjkajo relacije, povezave in tuji kljui. Preveri tuje kljue.Preveri pravila za zagotavljanje celovitosti podatkov.Narii globalni podatkovni model.Auriraj dokumentacijo.

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 147 -Primer

Primer uporabnikega pogledaPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 148 -Primer

Primer globalnega loginega podatkovnegamodela.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 149 -K2.7 Preveri monosti za raziritve... V primeru, da so predvidene bodoe raziritve sistema, moramo preveriti, e logini model take raziritve podpira.Podatkovni model mora biti prilagodljiv; omogoati mora raziritve skladno z novimi zahtevami ter z minimalnim vplivom na obstojee uporabnike.Popolnoma odprt sistem za raziritve je teko dosei.Pravilo agilnega nartovanja:Fool me once, shame on you, fool me twice, shame on me!FizinonartovanjePODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 150 -Metoda nartovanja fizine PB...Moni koraki nartovanja fizine PB:K3 Pretvori logini model v jezik za ciljni SUPBK3.1 Izdelaj nart osnovnih relacijK3.2 Izdelaj nart predstavitve izpeljanih atributovK3.3 Izdelaj nart splonih omejitevK4 Izdelaj nart datotene organizacije ter indeksovK4.1 Analiziraj transakcijeK4.2 Izberi datoteno organizacijoK4.3 Doloi indekseK4.4 Oceni velikost podatkovne bazeKoraka K1 in K2 se nanaata na izdelavo konceptualnega in loginega podatkovnega modelaPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 151 -Metoda nartovanja fizine PB...Moni koraki nartovanja fizine PB (nadaljevanje):K5 Izdelaj nart uporabnikih pogledovK6 Izdelaj nart varnostnih mehanizmovK7 Preveri smiselnost uvedbe nadzorovane redundance podatkov (denormalizacija)PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 152 -K3 Pretvorba v jezik za SUPBNamen koraka: iz loginega modela izdelati podatkovno shemo za ciljni SUPB.Poznati moramo funkcionalnosti ciljnega SUPB, npr.:Kako izdelati osnovne relacije?Ali ciljni SUPB podpira primarne, tuje in alternativne kljue?Ali podpira obveznost podatkov (NOT NULL)?Ali podpira domene?Ali podpira pravila omejitve podatkov?Ali podpira sproilce (triggers) in bazne programe (stored procedures)?PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 153 -K3.1 Izdelava osnovnih relacij...Namen: doloiti, kako bodo osnovne relacije predstavljene v ciljnem SUPB. Vir podatkov je podatkovni slovar, jezik za opis pa DBDL (database definition language)Za vsako relacijo definiramo:Naziv relacije;Listo osnovnih atributov;Primarni klju ter kjer smiselno alternativne in tuje kljue;Omejitve povezav.

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 154 -K3.1 Izdelava osnovnih relacijV podatkovnem slovarju imamo za vsak atribut :Domeno, ki se sestoji iz podatkovnega tipa, doline in omejitev domene;Morebitno privzeto vrednost;Podatek o obveznosti atributa;Podatek, ali je atribut izpeljan in e je, kako ga izraunamo.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 155 -Primer opisa osnovnih relacij z DBDL

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 156 -K3.2 Predstavitev izpeljanih atributov... Namen: doloiti, kako bodo v SUPB predstavljeni izpeljani atributi.Preui logini podatkovni model in podatkovni slovar; izdelaj seznam izpeljanih atributov. Za vsak izpeljani atribut doloi:Atribut je shranjen v podatkovni baziAtribut se vsakokrat posebej izrauna in se ne hrani v podatkovni bazi.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 157 -K3.2 Predstavitev izpeljanih atributov...Pri odloitvi, kako predstaviti izpeljane atribute, upotevaj:stroek shranjevanja in vzdrevanja skladnosti izpeljanih atributov z osnovnimi atributi, iz katerih je izpeljan;stroek vsakokratnega izraunavanja izpeljanega atributa.Izberi strokovno ugodnejo reitev. PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 158 -Primer hranjenja izpeljanega atributa

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 159 -K3.3 Nart splonih omejitev Namen: izdelava narta splonih omejitev za ciljni SUPB. Glede podpore splonim omejitvam obstajajo velike razlike med SUPB-ji.Primer splone omejitve:

CONSTRAINT StaffNotHandlingTooMuchCHECK (NOT EXISTS (SELECT staffNo FROM PropertyForRent GROUP BY staffNo HAVING COUNT(*) > 100))Pomen omejitve: nihe od zaposlenih ne sme skrbeti za ve kot 100 nepremininPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 160 -K4 Datotena organizacija in indeksiNamen: izbrati optimalno datoteno organizacijo za shranjevanje osnovnih relacij ter potrebne indekse za doseganje ustrezne uinkovitosti.Nartovalec mora dobro poznati, kakne strukture in organizacije SUPB podpira ter kako deluje.Kljunega pomena so uporabnike zahteve v zvezi z eleno/priakovano uinkovitostjo transakcij.Med SUPB-ji velike razlike.

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 161 -K4.1 Analiza transakcij...Namen: razumeti namen transakcij, ki bodo tekle na SUPB ter analizirati tiste, ki so najpomembneje. Poskuaj doloiti kriterije uinkovitosti:Pogoste transakcije, ki imajo velik vpliv na uinkovitost;Transakcije, ki so kritinega pomena za poslovanje;Priakovana obdobja (v dnevu/ tednu), ko bo SUPB najbolj obremenjen (peak load).Preveri tudi:Atribute, ki jih transakcije spreminjajoIskalne pogoje v transakcijah...PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 162 -K4.1 Analiza transakcij...Pogosto ni mo analizirati vseh transakcij. Pregledamo zgolj najpomembneje. Za identifikacijo najpomembnejih transakcij lahko uporabimo:Matriko transakcija/relacija, ki kae, katere relacije se v transakcijah uporabljajo.Diagram uporabe transakcij, ki kae, katere transakcije bodo potencialno zelo frekventno izvajane.

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 163 -K4.1 Analiza transakcij...Moen pristop k obravnavi potencialno problematinih delov modela:Izdelamo matriko povezav transakcija/relacija,Ugotovimo, katere relacije se najpogosteje uporabljajo v transakcijah,Analiziramo, kateri podatki se uporabljajo v transakcijah, ki te relacije uporabljajo. PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 164 -Primer matrike transakcija/relacija

F: Identify the total number of properties assigned to each member of staff at a given branch.

Dodatno lahko zapiemo tevilooperacij na asovno enotoPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 165 -Primer diagrama uporabe transakcij

V specifikaciji zahtev je ocenjeno: 100.000 nepreminin; 2.000 zaposlenih v 100 agencijah; Vsaka agencija ima od 1.000 do 3.000 nepremininPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 166 -Obrazec za podrobno analizo transakcij

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 167 -K4.2 Izbira datotene organizacijeNamen: izbrati uinkovito datoteno organizacijo za vse osnovne relacije. Datotene organizacije:Kopica (Heap), Hash, Metoda indeksiranega zaporednega dostopa (Indexed Sequential Access Method - ISAM), Drevo B+-Grua (Cluster).Nekateri SUPB-ji ne podpirajo vseh datotenih organizacij.

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 168 -K4.3 Izbira indeksov...Namen: ugotoviti, ali lahko z dodatnimi indeksi poveamo uinkovitost sistema.Moen pristop:Zapise pustimo neurejene.Izdelamo toliko sekundarnih indeksov, kolikor je potrebno.Sekundarni indeks = indeks po atributu, ki ni obenem tudi atribut, po katerem je urejena relacijaPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 169 -K4.3 Izbira indeksov...Alternativni pristopZapise uredimo po primarnem kljuu ali po indeksu grue. V tem primeru kot atribut za sortiranje izberemo:Atribut, ki se najvekrat uporablja za povezovanja aliAtribut, ki se najpogosteje uporablja za dostop do podatkov v relaciji. e je izbrani atribut za sortiranje primarni klju, potem gre za primarni indeks sicer za indeks grue.Relacija ima lahko primarni indeks ali indeks gruePrimarni indeks = indeks po primarnem kljuu, po katerem je urejena relacija.Vsak zapis ima svojo vrednost.Indeks grue = indeks po atributu, ki je obenem tudi atribut, po katerem je urejena relacija, ni pa primarni klju. Klju ni unikaten!PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 170 -K4.3 Izbira indeksov...Sekundarni indeksi so nain, kako omogoiti uinkovito iskanje s pomojo dodatnih kljuev.Pri doloanju sekundarnih indeksov upotevamo:Poveanje uinkovitosti (predvsem pri iskanju po PB)Dodatno delo, ki ga mora sistem opravljati za vzdrevanje indeksov. To vkljuuje:Dodajanje zapisa v vsak sekundarni indeks, kadarkoli dodamo nek zapis v osnovno relacijoSpreminjanje sekundarnega indeksa vsakokrat, ko se osnovna relacija spremeniPoveanje porabe prostora v sekundarnem pomnilnikuPoveanje asovnega obsega za optimizacijo poizvedb zaradi preverjanja vseh sekundarnih indeksov.

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 171 -K4.3 Izbira indeksov...Nekaj smernic za uporabo sekundarnih indeksov:Ne indeksiraj majhnih relacij. e datoteka ni urejena po primarnem kljuu, potem kreiraj indeks na osnovi primarnega kljua. e je tuji klju pogosto v uporabi, dodaj sekundarni indeks na tuji klju. Sekundarni indeks dodaj vsakemu atributu, ki se pogosto uporablja kot sekundarni klju.Sekundarne indekse dodaj atributom, ki nastopajo v pogojih za selekcijo ali stik: ORDER BY; GROUP BY ali v drugih operacijah, ki vkljuujejo sortiranje (npr. UNION ali DISTINCT).

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 172 -K4.3 Izbira indeksovNekaj smernic za uporabo sekundarnih indeksov: (nadaljevanje):Dodaj sekundarni indeks atributom, ki nastopajo v vgrajenih funkcijah;Izogibaj se indeksiranju atributov, ki se pogosto spreminjajo.Izogibaj se indeksiranju atributov v relacijah, nad katerimi se bodo pogosto izvajale poizvedbe, ki bodo vkljuevale veji del zapisov.Izogibaj se indeksiranju atributov, ki so predstavljeni z daljimi stringi.

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 173 -K4.4 Ocena velikosti podatkovne bazeNamen: oceniti, koliko prostora v sekundarnem pomnilniku zahteva nartovana podatkovna baza.Ocena je odvisna od velikosti in tevila zapisov terod ciljnega SUPB.Primer: ocena velikosti podatkovne baze s pomojo orodja PowerDesigner.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 174 -K5 Nart uporabnikih pogledovNamen: izdelati nart uporabnikih pogledov, ki so bili opredeljeni v okviru zajema uporabnikih zahtev. Uporabimo mehanizem pogledov (view).Pogled je navidezna relacija, ki fizino ne obstaja v PB, temve se vsakokratno kreira s pomojo poizvedbe.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 175 -Primer pogledacreate or replace view OBREMENITEV asSelectPMET.PEDAGOG as Predavatelj, (PDG.PRIIMEK + PDG.IME) as Naziv_predavatelja, count(*) as Stevilo_Predmetov, sum(PMET.STUR) as Stevilo_ur_tedenskofrom PREDMET as PMET, PEDAGOKI DELAVEC as PDGwhere PMET.NOSILEC = PDG.PEDAGOGgroup by PMET.NOSILEC, (PDG.PRIIMEK + PDG.IME);Pedagoki delavecPedagog Vrsta PD Laboratorij ImePriimekStatus PredmetPredmet Smer Nosilec Asistent NazivStUr Nosilec = PedagogAsistent = PedagogObremenitevPredavatelj Naziv_predavateljaStevilo_PredmetovStevilo_ur_tedenskoPODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 176 -K6 Nart varnostnih mehanizmovNamen: izdelati nart varnostnih mehanizmov skladno z zahtevami naronika.SUPB-ji tipino podpirajo dve vrsti varnosti:Sistemsko varnost: varnost dostopa in uporabe podatkovne baze (navadno zagotovljeno s pomojo uporabnikih imen in gesel);Podatkovno varnost: varnost uporabe podatkov kdo lahko uporablja doloene relacije ter kako. Med SUPB-ji so velike razlike v mehanizmih, ki jih imajo na voljo za dosego varnosti.

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 177 -K7 Uvedba nadzorovane redundance...Namen: ugotoviti, ali je smiselno dopustiti doloeno mero redundance (denormalizacija) ter tako izboljati uinkovitost.Rezultat normalizacije je nart, ki je po strukturi konsistenten ter minimalen.Vasih normalizirane relacije ne dajo zadovoljive uinkovitosti. Razmislimo, ali se zavoljo izboljanja uinkovitosti odpovemo doloenim koristim, ki jih prinaa normalizacija. PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 178 -K7 Uvedba nadzorovane redundance...Upotevamo tudi:Implementacija denormaliziranih relacij je teja;Z denormalizacijo velikokrat zgubimo na prilagodljivosti modela; Denormalizacija navadno pospei poizvedbe, vendar upoasni spreminjanje podatkov.

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 179 -K7 Uvedba nadzorovane redundance...Denormalizacija:Denormaliacija se nanaa na dopolnitev relacijske sheme, tako da eni ali ve relacij zniamo stopnjo normalne oblike (npr. 3NO 2NO).

Nanaa se tudi na primere, ko dve normalizirani relaciji zdruimo v eno, ki je e vedno normalizirana, vendar zaradi zdruitve vsebuje ve nedefiniranih vrednosti (NULL).(4PNO 3NO). PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 180 -K7 Uvedba nadzorovane redundance...Koraki denormalizacije:K7.1 zdruevanje 1:1 povezavK7.2 Podvajanje neosnovnih atributov v povezavah 1:* za zmanjanje potrebnih stikov.K7.3 Podvajanje tujih kljuev v 1:* povezavah za zmanjanje potrebnih stikov.K7.4 Podvajanje atributov v *:* povezavah za zmanjanje potrebnih stikov.K7.5 Uvedba ponavljajoih skupin atributovK7.6 Kreiranje tabel, ki predstavljajo izvleek osnovne tabele.K7.7 Razbitje relacij.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 181 -Primer normaliziranega modela

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 182 -Primeri relacij

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 183 -K7.1 Zdruevanje 1:1 povezav

e podatke, ki so v razlinih relacijah obravnavamo skupaj, je zdruitev primerna.PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 184 -K7.2 Podvajanje neosnovnih atributov

Ko dostopamo do podatkov o nepremininah, nas v veini primerov zanima tudi ime lastnika (IName)PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 185 -Lookup Tabele...

LookUp tabele se sestoje zgolj iz ifre in naziva. Prednosti uporabe LookUp tabel so mnoge. Vseeno obstajajo primeri, ko je smiselno (LookUp tabele ukiniti in) podatke podvajati v osnovnih relacijah. Taki primeri so:Ko se do LookUp tabele frekventno dostopa Ko so LookUp tabele uporabljene v kritinih poizvedbahKo je majhna verjetnost, da se bodo po vrednosti spreminjalePODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 186 -Lookup tabele

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 187 -K7.3 - Podvajanje tujih kljuev

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 188 -K7.4 - Podvajanje atributov v povez. *:*

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 189 -K7.5 - Uvedba ponavljajoih skupin

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 190 -K7.6 Uporaba izvlekovtevilne poizvedbe in poroila zahtevajo dostop do ve osnovnih relacij ter kompleksne povezave med njimi.Z namenom izboljanja uinkovitosti je v doloenih primerih smiselno uvesti novo denormalizirano relacijo, ki vsebuje podatke z ve osnovnih relacij.

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 191 -K7.7 Razbitje relacijZa poveanje uinkovitosti nad relacijami z zelo velikim tevilom n-teric uporabimo pristop, kjer relacijo razbijemo na manje dele - particije. Dva naina delitve sta: Horizontalni in Vertikalni.

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 192 -Prednosti razbitja relacije na particijeUporaba particioniranja prinaa tevilne prednosti:Bolja porazdelitev vnosa (load balancing)Veja uinkovitosti (manj podatkov za obdelavo, paralelnost izvajanja,...)Bolja razpololjivost Bolja obnovljivostVe monosti za zagotavljanje varnosti

PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 193 -Slabosti razbitja relacije na particijeParticioniranje ima tudi slabosti:Kompleksnost (particije niso vedno transparentne za uporabnike...)Slaba uinkovitost (pri poizvedbah, kjer je potrebno poizvedovati po ve particijah, je uinkovitost slaba)Podvajanje podatkov (pri vertikalnem particioniranju)PODATKOVNE BAZEModul: Nartovanje PBLaboratorij za podatkovne tehnologije

- 194 -Primer particije v SUPB OracleCREATE TABLE ArchivedPropertyForRentPartition(propertyNo VARCHAR2(5) NOT NULL,street VARCHAR2(25) NOT NULL,...PRIMARY KEY (propertyNo),FOREIGN KEY (ownerNo) REFERENCES PrivateOwner(ownerNo),...PARTITION BY HASH (branchNo) (PARTITION b1 TABLESPACE TB01,PARTITION b2 TABLESPACE TB02,...);

A

Ime entitetnega tipa

A

Ime entitetnega tipa

Prostor za atribute

A

B

A

B

B

A

B

A

OSEBA

POTA

Stalno prebivalie

Zaasno prebivalie