560 likes | 836 Views
PODATKOVNE BAZE 2. 2. letnik, visokošolski študij smer INFORMATIKA. UNIVERZA V LJUBLJANI Fakulteta za računalništvo in informatiko dr. Rok Rupnik. 1. PREDSTAVITEV PREDMETA Splošne informacije Vsebina predmeta. 1 - predstavitev predmeta. Splošne informacije. Predavatelj
E N D
PODATKOVNE BAZE 2 2. letnik, visokošolski študij smer INFORMATIKA UNIVERZA V LJUBLJANIFakulteta za računalništvo in informatiko dr. Rok Rupnik
1 • PREDSTAVITEV PREDMETA • Splošne informacije • Vsebina predmeta
1 - predstavitev predmeta Splošne informacije • Predavatelj • dr. Rok Rupnik, univ. dipl. ing. rok.rupnik@fri.uni-lj.si • Asistent - vaje • dr. Matjaž Kukar, univ. dipl. ing. matjaz.kukar@fri.uni-lj.si - 3 -
1 - predstavitev predmeta Splošne informacije (2) • Namen predmeta • Načrtovanje podatkov na konceptualnem in logičnem nivoju: katere so tiste podatkovne strukture, ki omogočajo zapis dejstev iz realnega sveta (poslovne domene); katere so tiste podatkovne strukture, ki podpirajo delovanje poslovnih procesov in izvajanje poslovnih funkcij; izdelava konceptualnega podatkovnega modela; pretvorba konceptualnega podatkovnega modela v relacijskega. • Kreiranje fizične podatkovne baze: Parametri delovanja fizične podatkovne baze; Skrbništvo fizične podatkovne baze. - 4 -
1 - predstavitev predmeta Splošne informacije (3) • Priporočena literatura • Tomaž Mohorič (1997).Načrtovanje relacijskih podatkovnih baz, Založba Bi-TIM. • Laboratorij za informatiko (2004). EMRIS – Strukturni razvoj, druga izdaja. • Ostala literatura bo navedena naknadno - 5 -
1 - predstavitev predmeta Vsebina predmeta • Predstavitev predmeta • Konceptualno načrtovanje • Logično načrtovanje – načrtovanje relacijske podatkovne baze • Kreiranje fizične podatkovne baze - 6 -
KONCEPTUALNO NAČRTOVANJE • Osnove konceptualnega načrtovanja • Abstrakcija • Entitetni model • Metodologija konceptualnega načrtovanja: tehnike, pristopi, recepti • Podatkovni podmodeli • Prehod iz konceptualnega modela v logični model 2 - 7 -
2 - Konceptualno načrtovanje Trije nivoji načrtovanja – trije modeli • Konceptualno načrtovanje – konceptualni oz. semantični podatkovni model • Logično načrtovanje – logični podatkovni model • Kreiranje fizične podatkovne baze – fizična podatkovna baza oz. fizični podatkovni model • Prehodi med modeli in avtomatizacija prehodov - 8 -
2 - Konceptualno načrtovanje Kaj je konceptualno načrtovanje? • Konceptualno načrtovanje je opredelitev podatkovnih potreb oz. zahtev poslovne domene s pomočjo konceptualnega na semantičnem nivoju (semantičnega modela) • Konceptualno načrtovanje preko konceptualnega modela poskrbi za opis pomena podatkov, potrebnih za poslovno domeno • Konceptualnega načrtovanja ne moremo avtomatizirati, za njegovo izvedbo je odgovoren analitik. Gre za prenos semantike v model - 9 -
2 - Konceptualno načrtovanje Kaj lahko še rečemo o konceptualnem načrtovanju? • Je najbolj kritično, saj se napake narejene pri konceptualnem načrtovanje prenašajo naprej na naslednje modele • Pri konceptualnem načrtovanju je zelo pomembno sodelovanje uporabnikov in interakcija z uporabniki. Uporabniki so nosilci znanja o poslovni domeni, so poznavalci semantike • Konceptualno načrtovanje mora upoštevati tudi poslovna pravila - 10 -
2 - Konceptualno načrtovanje Koraki konceptualnega načrtovanja • Percepcija sveta (poslovne domene), ki ga modeliramo: • Razumeti meje poslovne domene • Razumeti poslovno domeno (poslovne procese in poslovne funkcije) ter podatkovne potrebe poslovne domene • Predstavitev intencionalnega dela percepcije: • Opis dejstev, pravil, objektov in dogodkov ter razmerij med njimi preko izdelave konceptualnega oz. semantičnega modela - 11 -
2 - Konceptualno načrtovanje Percepcija, intencionalnost • Percepcija: zaznavanje, zaznava • Intencionalno: načrtno, premišljeno raziskovanje • Intencionalni del percepcije: načrt, model narejen kot posledica raziskovanja preko percepcije poslovne domene. Model je lahko narejen v katerikoli diagramski tehniki, priporočeno v standardni • Vir: Slovenski pravopis - 12 -
2 - Konceptualno načrtovanje Abstrakcija • Abstrakcija je temelj ustrezne percepcije v okviru konceptualnega načrtovanja • Epizodni spomin: pomnjenje dogodkov • Semantični spomin: pomnjenje principov, pomnjenje oz. razumevanje konceptov • Koncept predstavlja abstraktno idejo o tem, kaj neka stvar je, kaj pomeni, kako jo lahko opišemo… - 13 -
2 - Konceptualno načrtovanje Abstrakcija (2) • Abstrakcija je mentalni proces, s pomočjo katerega se pri opazovanju in razmišljanju o poslovni domeni osredotočimo le na za nas pomembne karakteristike • Za konceptualno načrtovanje so pomembne tri vrste abstrakcije: • Klasifikacija • Ureditev tipov • Agregacija - 14 -
2 - Konceptualno načrtovanje Klasifikacija • Uporablja se za definiranje koncepta kot tipa objektov (dogodkov, predmetov, oseb, pravil, dejstev) na osnovi njihove podobnosti oz. skupnih lastnosti • Skupne lastnosti so podlaga za razvrščanje objektov v pripadajoče tipe – koncepte • Posamezni objekt lahko klasificiramo bodisi v le en tip, bodisi v več tipov hkrati - 15 -
2 - Konceptualno načrtovanje Klasifikacija (2) OSEBA Peter Tina OSEBA ŠTUDENT Peter Tina - 16 -
2 - Konceptualno načrtovanje Ureditev tipov • V okviru poslovne domene obstaja več tipov objektov, ki jih je možno urediti v delno urejeno množico z relacijo “je” • Tip B je podtip tipa A, če ob vsakem trenutku velja, da so vsi primerki tipa B hkrati tudi primerki tipa A • Vsak tip je podtip samega sebe • Množice tipov objektov je delno urejena zato, ker vseh tipov objektov ni možno urediti z relacijo je • Zaradi preglednosti ne prikazujemo tranzitivnih in rekurzivnih povezav met tipi objektov - 17 -
2 - Konceptualno načrtovanje Ureditev tipov (2) • Urejenost tipov objektov podpira tudi dedovanje lastnosti • Vsak tip deduje vse lastnosti svojega neposrednega nadtipa in tranzitivno od vseh nadrejenih tipov • Ko ima tip več neposrednih nadtipov, deduje lastnosti od vseh - 18 -
2 - Konceptualno načrtovanje Ureditev tipov (3) OSEBA FAKULTETNI DELAVEC ŠTUDENT PEDAGOŠKI DELAVEC ADMINISTRATOR DEMONSTRATOR UČITELJ - 19 -
2 - Konceptualno načrtovanje Ureditev tipov (4) • Posebna primera urejanja tipov sta generalizacija in specializacija • Generalizacija je postopek prirejanja skupnega nadtipa dvema ali več obstoječim tipom • Specializacija je postopek, kjer posameznemu tipu priredimo dva ali več podtipov. Običajno temelji na določeni lastnosti nadtipa - 20 -
2 - Konceptualno načrtovanje Ureditev tipov (5) OSEBA ŠTUDENT PEVEC OSEBA MOŠKI ŽENSKA - 21 -
2 - Konceptualno načrtovanje Agregacija • Preko agregacije definiramo novi – agregirani tip na osnovi obstoječih tipov • Konceptualno ustreza agregaciji iz UML - 22 -
2 - Konceptualno načrtovanje Lastnosti konceptualnega modela • Pomen besedne zveze Konceptualni model: • Konkretni model okolja – poslovne domene, izražen z intencionalnimi tipi • Opisni in strukturni mehanizem, jezik za opis okolja – poslovne domene • Cilj je, predstaviti poslovno domeno na način, ki bo čim bližje človekovemu razumevanju in dojemanju sveta • Lastnosti konceptualnega modela: izraznost, preprostost, minimalnost, formalnost, grafična popolnost, berljivost - 23 -
2 - Konceptualno načrtovanje Izraznost • Potrebna je možnost prikaza različnih konceptov za modeliranje različnih aspektov poslovne domene • Zato so potrebni koncepti za predstavitev tipov objektov, predstavitev njihovih lastnosti in njihovih medsebojnih razmerij - 24 -
2 - Konceptualno načrtovanje Preprostost • Konceptualni model mora biti preprost, enostaven za uporabo ter lahko in nedvoumno razumljiv • Konceptualni model namreč služi tudi za komunikacijo med uporabnikom in analitikom - 25 -
2 - Konceptualno načrtovanje Minimalnost • Vsak koncept naj ima svoj pomen • Model naj ne obsega sestavljenih konceptov – kompozitov, ki se jih da izraziti s pomočjo ostalih osnovnih konceptov • Uporaba kompozitov bi morda povečala izraznost in preprostost - 26 -
2 - Konceptualno načrtovanje Formalnost • Vsak koncept mora imeti natančno, enoumno in dobro definiran pomen • Ne sme biti dvoma o tem, kaj predstavlja oz. kaj pomeni nek koncept - 27 -
2 - Konceptualno načrtovanje Grafična popolnost • Vsak koncept mora imeti svojo grafično predstavitev • Model naj ne bo predstavljen le v linearni obliki z uporabo simbolov, temveč v grafični obliki • Grafična oblika pozitivno vpliva na preprostost in večjo informativnost - 28 -
2 - Konceptualno načrtovanje Berljivost • Model naj bo predstavljen pregledno • Za potrebe preglednosti uporabljati tudi večkratne pojavitve istega koncepta - 29 -
2 - Konceptualno načrtovanje Entitetni model – model entiteta razmerje • Je najpogosteje uporabljana tehnika za predstavitev konceptualnih podatkovnih modelov • Nazivi, ki se uporabljajo: • Konceptualni podatkovni model • Podatkovni model • Entitetni model • ER model • … • Razširjeni model entiteta razmerje - 30 -
2 - Konceptualno načrtovanje Vloga konceptualnega modela v razvoju IS • Predstavlja podatkovne strukture, ki: • Omogočajo delovanje poslovnih procesov, poslovnih funkcij in izvajanje poslovnih pravil • Predstavljajo podatkovno podlago poslovnim procesom, poslovnim funkcijam in poslovnim pravilom • Govorimo lahko o poslanstvu konceptualnega modela – entitetnega modela - 31 -
2 - Konceptualno načrtovanje Koncepti entitetnega modela • Entitetni tip (v žargonu se uporablja kar izraz entiteta) • Atribut • Razmerje • Enolični identifikator entitete - 32 -
2 - Konceptualno načrtovanje Entitetni tip - Entiteta • Entitete so posamezne instance 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 - 33 -
2 - Konceptualno načrtovanje Entitetni tip – Entiteta (2) • 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 • Simbol za predstavitev entitete IME ENTITETE - 34 -
2 - Konceptualno načrtovanje Entitetni tip – Entiteta (3) • Različno dojemanje in/ali poimenovanje istega entitetnega tipa – istega koncepta • Razumevanje/poznavanje koncepta iz različnih zornih kotov - 35 -
2 - Konceptualno načrtovanje 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) - 36 -
2 - Konceptualno načrtovanje Atribut (2) • 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 - 37 -
2 - Konceptualno načrtovanje Atribut (3) • Kardinalnost atributa je minimalna in maksimalna • Kardinalnost atributa: • 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 atribut lahko trudi nima vrednosti, kar pomeni, da atribut ni obvezen • Atribut pripada določenemu tipu: numerični, znakovni, datumski, … - 38 -
2 - Konceptualno načrtovanje Razmerje med entitetami – entitetnimi tipi • Entitete niso svet zase, medsebojno se povezujejo preko razmerij, povezav • Razmerje ima določen pomen • Predstavitev razmerja v klasičnem modelu entiteta-razmerje in v entitetnem modelu (v zadnjem času se v praksi uporablja entitetni model) • Med opazovanim parom (v splošnem podmnožici) entitet je lahko več razmerij: OSEBA, KRAJ – stalno bivališče, začasno bivališče - 39 -
2 - Konceptualno načrtovanje Predstavitev razmerja • v tem primeru se simbol razmerja enostavno nadomesti s povezavo, ki ima ravno tako pomen razmerja OSEBA živi KRAJ Se pretvori v živi OSEBA KRAJ - 40 -
2 - Konceptualno načrtovanje Predstavitev razmerja (2) • V tem primeru je poudarek na vlogi entitete v razmerju • Nekatera orodja CASE uporabljajo kombiniran pristop OSEBA živi KRAJ Se pretvori v živi v ima OSEBA KRAJ - 41 -
2 - Konceptualno načrtovanje 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. Rekli bi lahko tudi, da govorimo o kardinalnosti iz zornega kota vsake od entitet • 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 - 42 -
2 - Konceptualno načrtovanje Kardinalnost razmerja (2) • Primeri povezav – razmerij med entiteto A in B - 43 -
2 - Konceptualno načrtovanje Kardinalnost in mandatornost razmerja • Mandatornost pomeni, ali sta dve entiteti vedno v razmerju ali lahko tudi nista v razmerju: obvezno, neobvezno razmerje • Mandatornost lahko obravnavamo pod okriljem števnosti, zaradi česar dodatno uvedemo števnost 0 - 44 -
2 - Konceptualno načrtovanje Kardinalnost razmerja (3) • Razmerji med entitetama OSEBA in POŠTA - 45 -
2 - Konceptualno načrtovanje Razmerje tudi opisuje lastnost entitete • Razmerje tudi opisuje lastnost entitete • Primer: OSEBA, POŠTA • Razmerje - povezava ima atributiven značaj - 46 -
2 - Konceptualno načrtovanje 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 - 47 -
2 - Konceptualno načrtovanje 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, … ak so vsi totalni enovrednostni atributi, kar zagotavlja, da imajo vsi identifikacijski atributi definirano natanko eno vrednost (eno dimenzijo) • T: V1 x …x Vk -> AT 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) - 48 -
2 - Konceptualno načrtovanje Šibki entitetni tip • Enolični identifikator ni sestavljen le iz lastnih atributov, temveč tudi iz razmerij oz. drugih entitet (tistih, s katerimi je opazovana entiteta v razmerju) oz. njenih identifikatorjev • {a1, … ak} u IT1 u .. u ITn je enolični identifikator entitete A, če ustreza naslednjim pogojem: • a1, … ak so vsi totalni enovrednostni atributi, I pa identifikatorji entitetnih tipov • T: V1 x …x Vkx AT1 x .. X ATn -> AT 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) - 49 -
2 - Konceptualno načrtovanje Generalizacija/specializacija/prekrivanje • Entiteta 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 ≠ {} - 50 -