Upload
john-franklin
View
116
Download
0
Embed Size (px)
DESCRIPTION
Entitetno relacijski model podatkov. Postopek načrtovanja PB. Splošni cilj razvijalcev IS: razvoj aplikacij, ki bodo podpirale dana opravila v realnem svetu. Načrtovanje podatkovne baze - postopek opredelitve in razvoja strukture PB - PowerPoint PPT Presentation
Citation preview
Entitetno relacijski Entitetno relacijski model podatkovmodel podatkov
22
Postopek načrtovanja PBPostopek načrtovanja PB Splošni cilj razvijalcev IS: razvoj Splošni cilj razvijalcev IS: razvoj
aplikacij, ki bodo podpirale aplikacij, ki bodo podpirale dana opravila v realnem svetu. dana opravila v realnem svetu.
Načrtovanje podatkovne baze - Načrtovanje podatkovne baze - postopek opredelitve in razvoja postopek opredelitve in razvoja strukturestrukture PB PB
V času načrtovanja podatkovne V času načrtovanja podatkovne baze naredimo formalni model baze naredimo formalni model nekaterih aspektov (vidikov) nekaterih aspektov (vidikov) realnega sveta – to je 'mini-realnega sveta – to je 'mini-sveta' ali 'problemske domene‘sveta' ali 'problemske domene‘
Mera za pravilnost načrtovane Mera za pravilnost načrtovane sheme PB = realni svet sheme PB = realni svet vsebina PB mora odražati vsebina PB mora odražati podatke, pravila in izjeme iz podatke, pravila in izjeme iz realnega sveta.realnega sveta.
33
Problemi načrtovanja PBProblemi načrtovanja PB
Nepoznavanje področja Nepoznavanje področja načrtovalec problemskega področja načeloma ne pozna. Zato se načrtovalec problemskega področja načeloma ne pozna. Zato se
mora najprej seznaniti in potem podrobno spoznati domeno mora najprej seznaniti in potem podrobno spoznati domeno problema in bodoče aplikacije.problema in bodoče aplikacije.
Pravila in izjemePravila in izjeme Poleg pravil v realnem svetu obstaja tudi veliko izjem. Realni svet in Poleg pravil v realnem svetu obstaja tudi veliko izjem. Realni svet in
njegovo okolje sta dinamična sistema, ki se pogosto spreminjata. njegovo okolje sta dinamična sistema, ki se pogosto spreminjata. Načrtovalec pri svojem delu mora upoštevati vsa pravila in tudi vse Načrtovalec pri svojem delu mora upoštevati vsa pravila in tudi vse izjeme. Hkrati mora narediti sistem dovolj fleksibilno shemo, ki bo izjeme. Hkrati mora narediti sistem dovolj fleksibilno shemo, ki bo prilagojena bodočim spremembam. prilagojena bodočim spremembam.
VelikostVelikost Načrti PB so pogosto zelo kompleksni Načrti PB so pogosto zelo kompleksni za človeka težko obvladljivi.za človeka težko obvladljivi.
Ključno sodelovanje z uporabnikiKljučno sodelovanje z uporabniki
44
Postopek izdelave PBPostopek izdelave PB
Mini svet
Zbiranje in analiza zahtev
Konceptualno načrtovanje
Logično načrtovanje
Fizično načrtovanje
Zahteve uporabnikov
Konceptualna shema
Notranja shema
Odvisno od SUPB-ja
I zbira SUPB-ja
Izbira SUPB-ja
Logična shema
Notranja shema
55
Opis faz izdelava PBOpis faz izdelava PB1. Zbiranje in analiza zahtev1. Zbiranje in analiza zahtev
spoznavanje segmenta realnega sveta ('mini sveta‘), ki ga bo spoznavanje segmenta realnega sveta ('mini sveta‘), ki ga bo predstavil z modelompredstavil z modelomRazumevanje: Razumevanje: –katere podatke je potrebno hraniti v PB,katere podatke je potrebno hraniti v PB,–kako so podatki povezani, kako so podatki povezani, –katere operacije se izvajajo nad podatki in katere operacije se izvajajo nad podatki in –kako bodo uporabniki uporabljali PB.kako bodo uporabniki uporabljali PB.
2. Konceptualno načrtovanje2. Konceptualno načrtovanje Izdelati konceptualni načrt oz. konceptualno shemo PBIzdelati konceptualni načrt oz. konceptualno shemo PBKonceptualni načrt zajema tudi omejitve, ki se nanašajo na Konceptualni načrt zajema tudi omejitve, ki se nanašajo na podatke. podatke. Za predstavitev konceptualnega načrta se uporabljajo:Za predstavitev konceptualnega načrta se uporabljajo:–entitetno – relacijski diagramientitetno – relacijski diagrami, , –diagrami razredov (UML notacija) in diagrami razredov (UML notacija) in –diagrami objekt-vloga (Object-role model). diagrami objekt-vloga (Object-role model).
uporabniki
razvijalec pod. sistema
66
Opis faz izdelava PB (nad.)Opis faz izdelava PB (nad.)3. Izbira SUPB-ja3. Izbira SUPB-ja (vodja projekta + uporabniki) (vodja projekta + uporabniki)
4. Logično načrtovanje4. Logično načrtovanje –Transformacija: konceptualne sheme Transformacija: konceptualne sheme podatkovni model, ki podatkovni model, ki ga podpira izbrani SUPB. ga podpira izbrani SUPB. –natančen pregled dobljene logične sheme in iskanje natančen pregled dobljene logične sheme in iskanje morebitnih napakmorebitnih napak–Preverjanje, ali je PB normalizirana (preverimo funkcionalne Preverjanje, ali je PB normalizirana (preverimo funkcionalne odvisnosti med atributi, ali obstaja nepotrebno podvajanje odvisnosti med atributi, ali obstaja nepotrebno podvajanje podatkov, …).podatkov, …).
5. Fizično načrtovanje podatkovne baze5. Fizično načrtovanje podatkovne baze–izboljšanje performans končnega sistemaizboljšanje performans končnega sistema–določamo indekse in parametre shranjevanja podatkovne bazedoločamo indekse in parametre shranjevanja podatkovne baze–Identificiramo različne skupine uporabnikov in preverjamo Identificiramo različne skupine uporabnikov in preverjamo ustreznost performans PB glede na potrebe in zahteve ustreznost performans PB glede na potrebe in zahteve uporabnikovuporabnikov
77
Cilji konceptualnega modelaCilji konceptualnega modela Izhodišče za razvoj podatkovnega sistemaIzhodišče za razvoj podatkovnega sistema KomunikacijaKomunikacija z naročniki in vodstvom z naročniki in vodstvom DokumentacijaDokumentacija Zagotavljanje kakovostiZagotavljanje kakovosti Modularnost (lažje obvladovanje kompleksnih primerov)Modularnost (lažje obvladovanje kompleksnih primerov)
Značilnosti ER modelaZnačilnosti ER modela– Avtor: Peter Pin-Shan Chen (1976)Avtor: Peter Pin-Shan Chen (1976)– semantična usmerjenost (usmerjen v pomensko predstavitev semantična usmerjenost (usmerjen v pomensko predstavitev
realnega sveta)realnega sveta)– izrazna grafična notacija izrazna grafična notacija boljši pregled nad strukturo boljši pregled nad strukturo
podatkovpodatkov– nazorna preslikava realni svet nazorna preslikava realni svet podatkovni model podatkovni model– omogoča dobro komunikacijo z uporabniki (lažje jih vključimo v omogoča dobro komunikacijo z uporabniki (lažje jih vključimo v
proces validacije načrta)proces validacije načrta)
88
OrodjaOrodja
CaseStudioCaseStudio ERWin (Computer Associates)ERWin (Computer Associates) Oracle DesignerOracle Designer DeZign for DatabasesDeZign for Databases MS VisioMS Visio Open Source: DB Designer, MyERDOpen Source: DB Designer, MyERD
99
Primer težav pri komunikaciji: Primer težav pri komunikaciji: uporabniki uporabniki načrtovalec načrtovalec
1010
Osnovni konstrukti ER Osnovni konstrukti ER modelamodela
Entiteta, entitetni tipEntiteta, entitetni tip Atribut, tip podatkovnih elementovAtribut, tip podatkovnih elementov Entitetni identifikator (ključ Entitetni identifikator (ključ
entitetnega tipa)entitetnega tipa) Razmerje, tip (števnost) razmerjaRazmerje, tip (števnost) razmerja Močne / šibke entiteteMočne / šibke entitete
1111
Entiteta, entitetni tipEntiteta, entitetni tip EntitetaEntiteta
– objekti (osebki) iz realnega sveta o katerih zbiramo, obdelujemo objekti (osebki) iz realnega sveta o katerih zbiramo, obdelujemo in hranimo podatke in informacijein hranimo podatke in informacije
– Primeri entitet: Primeri entitet: človek Miha Novakčlovek Miha Novak, , knjiga Vojna in mirknjiga Vojna in mir, , tečaj Angleščina 1tečaj Angleščina 1, , avto avto
Ford FiestaFord Fiesta, … , … – Pomembno: mora obstajati možnost razlikovanja med Pomembno: mora obstajati možnost razlikovanja med
posameznimi entitetami! (vsaka entiteta mora imeti neko posameznimi entitetami! (vsaka entiteta mora imeti neko lastnost, po kateri lahko enolično opredelimo posamezno lastnost, po kateri lahko enolično opredelimo posamezno entiteto)entiteto)
– Tej lastnosti pravimo tudi Tej lastnosti pravimo tudi entitetni identifikatorentitetni identifikator ali ključ ali ključ entiteteentitete
Entitetni tipEntitetni tip– predstava o množici podobnih entitetpredstava o množici podobnih entitet– podobnost entitete določamo glede na vrste informacij, ki jih podobnost entitete določamo glede na vrste informacij, ki jih
želimo hraniti o entitetahželimo hraniti o entitetah– je abstraktna predstavitev entitet, ki imajo enake atributeje abstraktna predstavitev entitet, ki imajo enake atribute
1212
Atribut, tip podatkovnih Atribut, tip podatkovnih elementovelementov AtributAtribut
– lastnost ali značilnost neke entitete ali razmerja med entitetami. lastnost ali značilnost neke entitete ali razmerja med entitetami. – Vrednost atributa je podatkovni element nekega podatkovnega Vrednost atributa je podatkovni element nekega podatkovnega
tipa (niz, število, …) in ga je možno prikazati v neki vidni ali tipa (niz, število, …) in ga je možno prikazati v neki vidni ali slišni obliki (zaslonski prikaz, natisnjena oblika, zvok …) slišni obliki (zaslonski prikaz, natisnjena oblika, zvok …)
Opcijski atributOpcijski atribut– Atribut, katerega vrednost je lahko tudi NULLAtribut, katerega vrednost je lahko tudi NULL
Enovrednostni / večvrednostni atributEnovrednostni / večvrednostni atribut– Atribut neke entitete ima le eno vrednost (ime, datum rojstva, Atribut neke entitete ima le eno vrednost (ime, datum rojstva,
….)….)– Atribut neke entitete ima več vrednosti (e-mail, telefon, …) // za Atribut neke entitete ima več vrednosti (e-mail, telefon, …) // za
potrebe relacijske PB jih s pomočjo razmerja preoblikujemo v potrebe relacijske PB jih s pomočjo razmerja preoblikujemo v enovrednostne atributeenovrednostne atribute
Oznake za števnost atributaOznake za števnost atributa::– (1,1) – zahtevan vnos, enovrednostni atribut(1,1) – zahtevan vnos, enovrednostni atribut– (0,1) - opcijski enovrednostni atribut(0,1) - opcijski enovrednostni atribut– (1,n) - zahtevan vnos, večvrednostni atribut(1,n) - zahtevan vnos, večvrednostni atribut– (0,n) – opcijski večvrednostni atribut(0,n) – opcijski večvrednostni atribut
Tip podatkovnih elementovTip podatkovnih elementov– Vsak podatek pripada določenemu tipu (nizi znakov, števila, datumi, slike, …). Vsak podatek pripada določenemu tipu (nizi znakov, števila, datumi, slike, …). – Večina SUPB-jev ima določeno število vnaprej definiranih tipov podatkov, ki jih Večina SUPB-jev ima določeno število vnaprej definiranih tipov podatkov, ki jih
podpirajo. podpirajo. – Dokončna izbira tipa podatkovnih elementov se opravi v fazi fizičnega načrtovanjaDokončna izbira tipa podatkovnih elementov se opravi v fazi fizičnega načrtovanja
1313
Razmerje med entitetnimi Razmerje med entitetnimi tipitipi
Razmerje opredeljuje povezavo med Razmerje opredeljuje povezavo med entitetnimi tipientitetnimi tipi
ER model dovoljuje povezovanje ER model dovoljuje povezovanje poljubnega števila entitetnih tipov, poljubnega števila entitetnih tipov, CASE orodja pa omogočajo je binarna CASE orodja pa omogočajo je binarna razmerjarazmerja
1414
Simboli v ER diagramu Simboli v ER diagramu (teoretično)(teoretično)
1515
Entitetni identifikator (ključ Entitetni identifikator (ključ entitetnega tipa / primarni entitetnega tipa / primarni
ključ)ključ) Definicija: Ključ entitetnega tipa E je atribut (ali več Definicija: Ključ entitetnega tipa E je atribut (ali več
atributov skupaj), ki enolično določajo / identificirajo atributov skupaj), ki enolično določajo / identificirajo posamezni primerek entitetnega tipa (entiteto). posamezni primerek entitetnega tipa (entiteto).
Ključ entitetnega tipa ni nikoli opcijski atribut Ključ entitetnega tipa ni nikoli opcijski atribut njegova vrednost njegova vrednost mora biti podana.mora biti podana.
Primarni ključ nekega entitetnega tipa je možno deklarirati tudi kot Primarni ključ nekega entitetnega tipa je možno deklarirati tudi kot sestavljenko iz dveh ali več atributov // slabo sestavljenko iz dveh ali več atributov // slabo dolgi ključi =>daljše dolgi ključi =>daljše (večje) indeksne datoteke =>počasnejše delovanje PB(večje) indeksne datoteke =>počasnejše delovanje PB
Pri grafični predstavitvi entitetnega tipa z atributi, imena atributov, ki Pri grafični predstavitvi entitetnega tipa z atributi, imena atributov, ki sestavljajo primarni ključ (entitetni identifikator) podčrtamo:sestavljajo primarni ključ (entitetni identifikator) podčrtamo:
1616
Števnost (kardinalnost) Števnost (kardinalnost) razmerjarazmerja Entiteta je lahko v razmerju z nič, eno ali več entitet Entiteta je lahko v razmerju z nič, eno ali več entitet
drugega tipa (teoretično)drugega tipa (teoretično) Praksa: obstajajo pravila, ki govorijo o dovoljenjem Praksa: obstajajo pravila, ki govorijo o dovoljenjem
številu pojavitev neke entitete v nekem konkretnem številu pojavitev neke entitete v nekem konkretnem razmerju razmerju
Ta pravila predstavimo s števnostjo razmerjaTa pravila predstavimo s števnostjo razmerja
Notacija: (min,max) število pojavitev entitete v razmerju Notacija: (min,max) število pojavitev entitete v razmerju Kardinalnost opredelimo za vsak entitetni tip posebejKardinalnost opredelimo za vsak entitetni tip posebej
1717
Značilne števnosti razmerjaZnačilne števnosti razmerja
1:1 (ena proti ena)1:1 (ena proti ena)1:M (ena – mnogo) oziroma M:1 1:M (ena – mnogo) oziroma M:1 (mnogo proti ena)(mnogo proti ena)
M:N (mnogo proti mnogo)M:N (mnogo proti mnogo)// zaradi poenostavitve je splošna praksa, da se za števnost razmerja // zaradi poenostavitve je splošna praksa, da se za števnost razmerja
beleži le max. števnost na obeh straneh razmerjabeleži le max. števnost na obeh straneh razmerja
1818
Udeležba (participacija) Udeležba (participacija) entitete v razmerjuentitete v razmerju
popolna ali totalna participacijapopolna ali totalna participacija: vsak : vsak primerek entitetnega tipa (vsaka entiteta) primerek entitetnega tipa (vsaka entiteta) se se moramora udeležiti v razmerju udeležiti v razmerju
delna ali parcialna participacijadelna ali parcialna participacija: : entitete se lahko udeležijo ali pa ne entitete se lahko udeležijo ali pa ne udeležijo razmerja.udeležijo razmerja.
Minimalne kardinalnosti Minimalne kardinalnosti ne vplivajone vplivajo na klasifikacijo (razvrstitev) na klasifikacijo (razvrstitev) razmerji med osnovne zvrsti 'ena proti ena', ' ena proti mnogo' in ' razmerji med osnovne zvrsti 'ena proti ena', ' ena proti mnogo' in ' mnogo proti mnogo'.mnogo proti mnogo'.
1919
Alternativne (veljavne) Alternativne (veljavne) notacijenotacije
CASE StudioDBDesigner
2020
Vaja za ocenoVaja za oceno
Izdelaj ER diagram za potrebe kina.Izdelaj ER diagram za potrebe kina. Upoštevaj, da:Upoštevaj, da:
– ima kino več dvoranima kino več dvoran– Predvaja več filmovPredvaja več filmov– Ima različne termine predvajanjaIma različne termine predvajanja– Sedeži so oštevilčeniSedeži so oštevilčeni
2121
Izdelava PB s pomočjo CASE Izdelava PB s pomočjo CASE orodjaorodja
Izdelaj konceptualni model (ER diagram):Izdelaj konceptualni model (ER diagram):– Dodaj entitetne tipeDodaj entitetne tipe– Entitetne tipe opiši z atributiEntitetne tipe opiši z atributi– Določi entitetni identifikator // če ga ni, dodaj ID ali šifroDoloči entitetni identifikator // če ga ni, dodaj ID ali šifro– Poveži entitetne tipePoveži entitetne tipe– Povezavi dodaj (morebitne) atributePovezavi dodaj (morebitne) atribute– Preveri (verificiraj in validiraj )modelPreveri (verificiraj in validiraj )model– Shrani, izdelaj dokumentacijoShrani, izdelaj dokumentacijo
========== Izberi SUPBIzberi SUPB Izdelaj skripto za ciljni SUPBIzdelaj skripto za ciljni SUPB Kreiraj PBKreiraj PB
2222
Močne in šibke entiteteMočne in šibke entitete
Značilnost močnega entitetnega tipa:Značilnost močnega entitetnega tipa: ključ sestavlja(jo) le atribut(i), ki pripada(jo) temu ključ sestavlja(jo) le atribut(i), ki pripada(jo) temu
entitetnemu tipuentitetnemu tipu
Šibka enititeta:Šibka enititeta: ne more obstajati brez svoje starševske entitetene more obstajati brez svoje starševske entitete med šibko in močno entiteto vedno obstaja razmerje, med šibko in močno entiteto vedno obstaja razmerje,
ki s kardinalnostjo (1:1) kaže proti močni entitetiki s kardinalnostjo (1:1) kaže proti močni entiteti ključ starševske entitete se prenese šibki entiteti kot ključ starševske entitete se prenese šibki entiteti kot
zunanji ključ in postane zunanji ključ in postane sestavni del ključa šibke sestavni del ključa šibke entiteteentitete
2323
Primer močnega in šibkega Primer močnega in šibkega entitetnega tipaentitetnega tipa
Case Studio:
-Močno in šibko entiteto povežemo z ‘identifying relationship’
-Dve močni entiteti povežemo z ‘non-identifying relationship’
2424
Pasti ER načrtovanjaPasti ER načrtovanja
Najpogostejše pasti pri ER Najpogostejše pasti pri ER načrtovanju so pasti ‘povezovanja’načrtovanju so pasti ‘povezovanja’
Najbolj znani sta:Najbolj znani sta:– ‘‘fan-trap’fan-trap’– ‘‘chasm-trap’chasm-trap’
2525
‘‘fan trap’fan trap’ Do fan pasti pride, ko model predstavlja razmerje med Do fan pasti pride, ko model predstavlja razmerje med
entitetnima tipoma, vendar so števnosti teh povezave nastavljene entitetnima tipoma, vendar so števnosti teh povezave nastavljene tako, da so povezave med posameznimi entitetami dvoumne. tako, da so povezave med posameznimi entitetami dvoumne.
Pojavlja se načeloma takrat, ko iz enega entitetnega tipa izhajata Pojavlja se načeloma takrat, ko iz enega entitetnega tipa izhajata dve 1:m povezavi. dve 1:m povezavi.
V katerem oddelku dela Miha Novak?V katerem oddelku dela Miha Novak?
2626
‘‘fan – trap’ - rešitevfan – trap’ - rešitev preoblikovanje originalnega ER modela tako, da razmerja preoblikovanje originalnega ER modela tako, da razmerja
prestavimo (uredimo) tako, kot v resnici obstajajoprestavimo (uredimo) tako, kot v resnici obstajajo Primer: Delavec dela v oddelku, oddelek se nahaja na lokaciji. Primer: Delavec dela v oddelku, oddelek se nahaja na lokaciji.
2727
‘‘chasm-trap’chasm-trap’ model nakazuje obstoj razmerja med entitetnimi tipi, vendar ne model nakazuje obstoj razmerja med entitetnimi tipi, vendar ne
obstaja pot med posameznimi konkretnimi entitetami.obstaja pot med posameznimi konkretnimi entitetami. Pojavlja se, ko na poti med dvema povezanima entitetama Pojavlja se, ko na poti med dvema povezanima entitetama
obstaja razmerje z delno udeležbo. obstaja razmerje z delno udeležbo.
kateri učbeniki obstajajo za kateri kateri učbeniki obstajajo za kateri predmet?predmet?
2828
‘‘chasm– trap’ - rešitevchasm– trap’ - rešitev Chasm past rešimo z dodajanjem manjkajočih relacij. Chasm past rešimo z dodajanjem manjkajočih relacij. V ER diagramu manjka relacija 'obstaja', ki neposredno V ER diagramu manjka relacija 'obstaja', ki neposredno
povezuje entitetna tipa povezuje entitetna tipa PredmetPredmet in in UčbenikUčbenik..