1 / 528

Podatkovne baze II

Podatkovne baze II. 3. letnik, univerzitetni študij smer INFORMATIKA. UNIVERZA V LJUBLJANI Fakulteta za računalništvo in informatiko Prof. dr. Marko Bajec. Gradivo, verzija 2.5. I. Splošne informacije. Predavatelj Prof. dr. Marko Bajec, univ. dipl. ing. marko.bajec@fri.uni - lj.si

Download Presentation

Podatkovne baze II

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Podatkovne baze II 3. letnik, univerzitetni študij smer INFORMATIKA UNIVERZA V LJUBLJANIFakulteta za računalništvo in informatiko Prof. dr. Marko Bajec Gradivo, verzija 2.5

  2. I Splošne informacije... • Predavatelj • Prof. dr. Marko Bajec, univ. dipl. ing. • marko.bajec@fri.uni-lj.si • http://bajecm.fri.uni-lj.si/ • Asistenti • Bojan Klemenc, Ana Šaša, Eva Zupančič, Starc Iztok • {ime.priimek}@fri.uni-lj.si • http://ucilnica.fri.uni-lj.si/ http http - 2 -

  3. Splošne informacije… • Priporočena literatura • [1] Thomas M. Connolly, Carolyn E. Begg (2005). Database Systems, A Practical Approach to Design, Implementation and Management, Fourth Edition, Addison-Wesley • [2] Ramez Elmasri, Shamkant B. Navathe (2003). Fundamentals of Database Systems, Fourth Edition, Addison Wesley. • [3] Tomaž Mohorič (1997).Načrtovanje relacijskih podatkovnih baz, Založba Bi-TIM. • [4] Peter Rob, Carlos Coronel (2005).Database Systems: Design, Implementation and Management, Sixth Edition, Addison Wesley. Citiranje: glej [3,15-20] = glej v knjigi T. Mohorič, strani od 15 do 20. - 3 -

  4. Splošne informacije • Priporočena literatura (nadaljevanje): • [5] Raghu Ramakrishnan, Johannes Gehrke (2003). Database Management Systems, Third Edition, McGraw-Hill - 4 -

  5. II Vsebina predmeta... • I. Načrtovanje podatkovnih baz • Pristopi k načrtovanju • Konceptualno načrtovanje • Metoda konceptualnega načrtovanja • Logično načrtovanje • Normalizacija • Metoda logičnega načrtovanja • Fizično načrtovanje • Metoda fizičnega načrtovanja - 5 -

  6. Vsebina predmeta • II. Obvladovanje transakcij • Transakcije in njihove lastnosti • Nadzor sočasnosti • Obnova podatkov po nesrečah • Obvladovanje transakcij v porazdeljenih PB • III. Evaluacija poizvedb • O optimizaciji poizvedb • Hevristična optimizacija poizvedb • Stroškovna opredelitev operacij relacijske algebre • Alternativne strategije izvedbe poizvedb • Optimizacija poizvedb v SUPB Oracle - 6 -

  7. Povzeto po [1] Poglavje 1 Načrtovanje podatkovnih baz • Pristopi k načrtovanju PB • Konceptualno načrtovanje • Metoda konceptualnega načrtovanja • Logično načrtovanje in normalizacija • Metoda logičnega načrtovanja • Fizično načrtovanje • Metoda fizičnega načrtovanja - 7 -

  8. Pristopi k načrtovanju PB • Obstajata dva glavna pristopa k načrtovanju podatkovne baze: • Pristop od spodaj navzgor in • Pristop od vrha navzdol. Ime in priimek študenta, Vpisna številka, Datum vpisa v prvi letnik, Starost študenta, Spol študenta, Stalno prebivališče, Začasno prebivališče, Vpisani predmeti, Opravljeni izpiti, Trenutni vpis, Naziv predmeta, Semester izvajanja predmeta, število ECTS… Normalizacija ŠTUDENT (Vpisna številka, ime, priimek,…) PREDMET (Šifra predmeta, naziv predmeta,…) VPIS (…) INDEKS (…) ŠTUDENT PREDMET INDEKS VPIS - 8 -

  9. Pristop od spodaj navzgor • Pristop od spodaj navzgor: • začne z atributi ter jih združuje v skupine • Tak pristop predstavlja normalizacija • Pristop od spodaj navzgor primeren za enostavne podatkovne baze z majhnim številom atributov. Normalizacija = identifikacija potrebnih atributov in njihovih agregacij v normalizirane relacije na osnovi funkcionalnih odvisnosti. - 9 -

  10. Pristop z vrha navzdol • Za večje baze primeren pristop z vrha navzdol. • Na začetku podatkovni modeli z le nekaj osnovnih entitetnih tipov in razmerij • Korakoma razgradnja na pod-entitete, povezave in atribute • Tak pristop predstavlja uporaba tehnike Entiteta – Razmerje (E-R). ŠTUDIJSKI PROGRAM ŠTUDENT PREDMETNIK korakoma INDEKS - 10 -

  11. Načrtovanje PB po delih • V praksi načrtovanje pogosto poteka po delih, t.j.načrtovanje razdelimo na več lažje obvladljivih delov: • Najprej kreiramo okvirno shemo z najpomembnejšimi entitetnimi tipi in razmerji med njimi • Shemo razdelimo na področja (jedra so identificirani entitetni tipi) • Za vsako področje so vključeni poznavalci področja • Načrtovanje za posamezna področja lahko poteka vzporedno • Posamezne sklope na koncu združimo v eno shemo - 11 -

  12. Načrtovanje PB po delih Delitev poslovne domene na področja, kreiranje osnovne sheme Okvirna shema Področje 2 Področje 1 Področje n ... Področna shema 1 Področna shema 2 Področna shema n Končna shema - 12 -

  13. Trije nivoji načrtovanja • Glede na raven abstrakcije ločimo: • Konceptualno načrtovanje • CILJ: izdelati načrt PB, ki bo neodvisen od tehnologije in ga bomo lahko uporabili za izdelavo kakršnekoli podatkovne baze: relacijske, XML, objektne…; • REZULTAT: konceptualni načrt ali konceptualni podatkovni model • Logično načrtovanje • CILJ: na osnovi konceptualnega načrta izdelati logični načrt podatkovne baze, to je zapisati načrt v jeziku, ki bo razumljiv izbranemu SUPB. • REZULTAT: logični načrt ali logični podatkovni model • Fizično načrtovanje • CILJ: pripraviti vse potrebne skripte, programe itn za izdelavo fizične podatkovne baze. • REZULTAT: načrt za generiranje fizične podatkovne baze visok Nivo abstrakcije nizek - 13 -

  14. Trije nivoji načrtovanja – trije modeli i-CASE Konceptualni PM • Odločitev o PB: • Relacijska • Hierarhična • Objektna Logični PM Fizični PM (skripta) Reverse Engineering SUPB Podatkovna baza ODBC - 14 -

  15. Konceptualno načrtovanje • Konceptualno načrtovanje oziroma modeliranje je način, s katerim želimo na najvišji ravni abstrakcije opredeliti tiste pojme iz poslovne domene, o katerih želimo hraniti podatke. Zakaj je izdelava modelasmiselna? Zakaj ne izdelamo PB direktno z orodji, ki so nam na voljo? Kaj sploh je model? - 15 -

  16. Splošno o modeliranju… • Modeliranje je uveljavljena inženirska tehnika na mnogih področjih: • Gradbeništvo, • Strojništvo, • Kemija, • Ekonomija, • Sociologija, • Računalništvo… - 16 -

  17. Splošno o modeliranju… • Modele razvijamo zato, da bi sisteme bolje razumeli. - 17 -

  18. Splošno o modeliranju… • Model je poenostavitev realnosti, pri čemer je abstrakcija realnosti poljubno natančna. • Pomembno je, da model prikazuje pomembne elemente in izpušča tiste, ki nas ne zanimajo. - 18 -

  19. Splošno o modeliranju… • Modeliranje prinaša naslednje bistvene prednosti: • Omogoča vizualizacijo sistema, • Prikazuje tako statične kot dinamične lastnosti sistema, • Predstavlja šablono za nadaljnjo gradnjo sistema, • Dokumentira sprejete odločitve. - 19 -

  20. Splošno o modeliranju… • Izbira modelov za modeliranje sistemov • Za modeliranje sistema lahko izberemo različne modele. • Izbira modelov določa, kako bomo pristopili k reševanju problema ter kako oblikovali rešitev. • Modeli morajo podpirati izražanje na različnih ravneh natančnosti. • Najboljši modeli so tesno povezani z realnostjo. • En sam model nikoli ni dovolj. Sistem je potrebno modelirati iz različnih vidikov. Najboljši pristop je izbira nekaj modelov, ki kar najbolje pokrijejo najpomembnejše vidike sistema. • Metodologije razvoja IS predlagajo različne modele. - 20 -

  21. Splošno o modeliranju • Primer • Če IS izdelujemo po strukturnem pristopu, potem v analizi izdelamo tri modele: • Podatkovni model, • Procesni model in • Model procesne logike. - 21 -

  22. Pomen konceptualnega načrtovanja • Je najbolj kritično – napake se prenašajo naprej na naslednje modele. • Zahteva sodelovanje uporabnikov. Uporabniki so nosilci znanja o poslovni domeni, so poznavalci semantike. • Konceptualno načrtovanje mora upoštevati tudi poslovna pravila. - 22 -

  23. mentalni model svet konceptualni model PB logični model Umestitev konceptualnega načrtovanja - 23 -

  24. Predstavitev konceptualnih modelov • Najpogosteje 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 model • Podatkovni model • Entitetni model • ER model • Obstaja tudi razširjeni model entiteta razmerje - 24 -

  25. Gradniki entitetnega modela • Entitetni tip • Atribut • Razmerje • Enolični identifikator - 25 -

  26. Entitetni tip – entiteta... • Entitete so posamezni primerki tipov objektov iz poslovne domene: dogodki, predmeti, osebe, pravila, dejstva • O entitetah obstaja določena predstava o tem: • kakšne lastnosti dejansko imajo • kakšne lastnosti jim moramo določiti (morajo imeti), da bodo izpolnjevale poslanstvo entitetnega modela • Na osnovi predstave o tem in percepcije, lahko entitete klasificiramo v entitetne tipe: vse entitete, ki ustrezajo določeni predstavi, pripadajo posameznemu entitetnemu tipu. - 26 -

  27. Entitetni tip – entiteta • Vsak trenutek pripada posameznemu entitetnemu tipu množica entitet tega entitetnega tipa, ki jo imenujemo entitetna množica • Entitetna množica je časovno spremenljiva: entitete nastajajo, se spreminjajo in tudi izginjajo (izstopajo iz množice). • Entitetna množica je v nekem trenutku lahko tudi prazna. - 27 -

  28. Predstavitev entitetnega tipa - 28 -

  29. Atribut... • Entitete imajo določene lastnosti, posamezne entitete (istega entitetnega tipa) se med seboj razlikujejo po vrednosti njihovih lastnosti • Entiteta ima praviloma veliko lastnosti, le del teh lastnosti je zanimiv oz. pomemben za opazovano poslovno domeno • Lastnosti, ki so pomembne za opazovano poslovno domeno, vključimo v konceptualni model tako, da jih kot atribute določimo entiteti (entitetnemu tipu) - 29 -

  30. Atribut... • Govorimo lahko o več vrstah lastnosti: • Entitetna imena: naziv, ime, opis • Prave entitetne lastnosti: višina, teža, cena, vrednost • Lastnosti, ki jih določimo za potrebe poslovnih procesov, poslovnih funkcij in poslovnih pravil: statusi • Atribut določimo za tisto lastnost, ki je za poslovno domeno pomembna - 30 -

  31. (1,1) EMŠO OSEBA (1,3) Ime (1,1) Priimek (0,n) Vzdevek Atribut • Kardinalnost atributa je minimalna in maksimalna Glede na kardinalnost atributa ločimo: • Totalni atribut (1,n), kjer je n >= 1 • Parcialni atribut (0,n), kjer je n >= 1 • Enovrednostni atribut (m,1), kjer je m € {0,1} • Večvrednostni atribut (m,n), kjer je m € {0,1} in n>1 • Minimalna števnost 0 pomeni, da je atribut lahko brez vrednosti (ni obvezen). • Atribut pripada določenemu tipu: numerični, znakovni,… • Za večino tipov je potrebno določiti tudi dolžino. - 31 -

  32. (1,1) EMŠO OSEBA (1,3) Ime (1,1) Priimek (0,n) Vzdevek Predstavitev atributa OSEBA EMŠO Ime Priimek Vzdevek - 32 -

  33. Razmerja med entitetami • Entitete niso svet zase, medsebojno se povezujejo preko razmerij, povezav • Razmerje ima določen pomen • Predstavitev razmerja v modelu entiteta-razmerje je povezava. • Med opazovanim parom (v splošnem podmnožici) entitet je lahko več razmerij: OSEBA, KRAJ – stalno bivališče, začasno bivališče - 33 -

  34. Predstavitev razmerja... OSEBA živi KRAJ živi OSEBA KRAJ Pomen razmerja - 34 -

  35. Predstavitev razmerja OSEBA živi KRAJ živi v ima OSEBA KRAJ Vloga entitete v razmerju - 35 -

  36. 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, POŠTA: • Ena (naključno izbrana) oseba ima stalno bivališče v enem kraju • V enem (naključno izbranem) kraju ima stalno bivališče več oseb - 36 -

  37. Kardinalnost razmerja... A (n,m) povezava (p,r) B - 37 -

  38. Kardinalnost razmerja • Razmerji med entitetama OSEBA in POŠTA - 38 -

  39. Obveznost razmerja • Obveznost pove, ali sta dve entiteti vedno v razmerju ali lahko tudi nista v razmerju: obvezno, neobvezno razmerje • Obveznost lahko obravnavamo pod okriljem števnosti, zaradi česar dodatno uvedemo števnost 0 - 39 -

  40. Razmerje tudi opisuje lastnost entitete • Razmerje tudi opisuje lastnost entitete • Primer: OSEBA, POŠTA • Razmerje ima atributiven značaj - 40 -

  41. Enolični identifikator entitete... • Enolični identifikator entitete je podmnožica lastnosti entitete (atributov in razmerij – drugih entitet), ki enolično razlikujejo posamezno instanco entitete znotraj entitetne množice • Z ozirom na to, ali tvorijo enolični identifikator entitete le atributi entitete ali pa je v enoličnem identifikatorju tudi kakšno razmerje, ločimo med močnim entitetnim tipom in šibkim entitetnim tipom - 41 -

  42. Enolični identifikator entitete • Imamo lahko več enoličnih identifikatorjev, vendar moramo enega izbrati – določiti • Izbrani – določeni enolični identifikator je podlaga za ključ v relacijskem modelu - 42 -

  43. (1,1) EMŠO OSEBA (1,3) Ime (1,1) Priimek (0,n) Vzdevek Predstavitev enoličnega identifikatorja OSEBA EMŠO Ime Priimek Vzdevek - 43 -

  44. Močni entitetni tip • Enolični identifikator sestavljajo le atributi entitete (identifikacijski atributi) • {a1, … ak} je enolični identifikator entitete A, če ustreza naslednjim pogojem: • a1, … akso 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 množic, ki so območja identifikacijskih atributov, preslika v največ eno entiteto tipa A • Je minimalna podmnožica, ne obstaja prava podmnožica, za katero bi tudi veljal pogoj b) - 44 -

  45. Šibki entitetni tip • Enolični identifikator ni sestavljen le iz lastnih atributov, temveč tudi iz razmerij oz. drugih entitet v razmerju oz. njenih identifikatorjev. • {a1, … ak}  IT1 ..  ITn je enolični identifikator entitete A, če ustreza naslednjim pogojem: • a1, … akso vsi totalni enovrednostni atributi, I pa identifikatorji entitetnih tipov • T: V1 x …x Vkx ET1 x .. X ETn ET je totalna ali parcialna enovrednostna funkcija, kar zagotavlja, da se vsak element kartezijskega produkta vrednostnih množic, ki so območja identifikacijskih atributov, preslika v največ eno entiteto tipa A • Je minimalna podmnožica, ne obstaja prava podmnožica, za katero bi tudi veljal pogoj b) - 45 -

  46. Generalizacija in specializacija... • Entitetni tip A s podtipoma B in C • B 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 ≠ {} - 46 -

  47. Generalizacija in specializacija OSEBA Totalno in ekskluzivno MOŠKI ŽENSKA OSEBA Delno in prekrivno ŠTUDENT ŠPORTNIK - 47 -

  48. Metoda konceptualnega načrtovanja • Možni koraki konceptualnega načrtovanja: • K1.1: Identificiraj entitetne tipe • K1.2: Identificiraj povezave • K1.3: Identificiraj in z entitetnimi tipi poveži atribute • K1.4: Atributom določi domene • K1.5: Določi kandidate za ključe; izmed kandidatov izberi primarni ključ • K1.6: Po potrebi uporabi elemente razširjenega diagrama entiteta – razmerje • K1.7: Preveri, če v modelu obstajajo odvečni elementi • K1.8: Preveri, če model “zdrži” transkacije • K1.9: Preveri model z uporabnikom - 48 -

  49. K1.1 – Identificiraj entitetne tipe... • Na voljo različne tehnike • Ena izmed tehnik je pregled uporabniških zahtev: • Pregledamo vse omenjene samostalnike in fraze (npr. profesor, predmet, izpit, rok, datum izpita,...) • Pozorni smo na pomembne objekte (npr. ljudje, lokacije...) • Skušamo ločiti objekte (npr. profesor, izpit,...) od lastnosti objektov (ime, vpisna številka,...) • Lastnosti objektov združujemo v entitetne tipe - 49 -

  50. K1.1 – Identificiraj entitetne tipe... • Težave: • Entitete niso vedno jasno predstavljene v dokumentaciji • Uporaba primerov, analogij, sinonimov, homonimov • Uporaba konkretnih imen oseb • Ni vedno jasno, kaj je entitetni tip, kaj povezava in kaj atribut (npr. izpit) • Načrtovanje je subjektivne narave – možnih je več (pravilnih) rešitev. • Načrt zavisi od uporabnikove presoje in izkušenj - 50 -

More Related