28
Entitetno Entitetno relacijski model relacijski model podatkov podatkov

Entitetno relacijski model podatkov

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

Page 1: Entitetno relacijski model podatkov

Entitetno relacijski Entitetno relacijski model podatkovmodel podatkov

Page 2: Entitetno relacijski model 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.

Page 3: Entitetno relacijski model podatkov

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

Page 4: Entitetno relacijski model podatkov

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

Page 5: Entitetno relacijski model podatkov

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

Page 6: Entitetno relacijski model podatkov

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

Page 7: Entitetno relacijski model podatkov

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)

Page 8: Entitetno relacijski model podatkov

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

Page 9: Entitetno relacijski model podatkov

99

Primer težav pri komunikaciji: Primer težav pri komunikaciji: uporabniki uporabniki načrtovalec načrtovalec

Page 10: Entitetno relacijski model podatkov

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

Page 11: Entitetno relacijski model podatkov

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

Page 12: Entitetno relacijski model podatkov

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

Page 13: Entitetno relacijski model podatkov

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

Page 14: Entitetno relacijski model podatkov

1414

Simboli v ER diagramu Simboli v ER diagramu (teoretično)(teoretično)

Page 15: Entitetno relacijski model podatkov

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:

Page 16: Entitetno relacijski model podatkov

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

Page 17: Entitetno relacijski model podatkov

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

Page 18: Entitetno relacijski model podatkov

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'.

Page 19: Entitetno relacijski model podatkov

1919

Alternativne (veljavne) Alternativne (veljavne) notacijenotacije

CASE StudioDBDesigner

Page 20: Entitetno relacijski model podatkov

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

Page 21: Entitetno relacijski model podatkov

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

Page 22: Entitetno relacijski model podatkov

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

Page 23: Entitetno relacijski model podatkov

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’

Page 24: Entitetno relacijski model podatkov

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’

Page 25: Entitetno relacijski model podatkov

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?

Page 26: Entitetno relacijski model podatkov

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.

Page 27: Entitetno relacijski model podatkov

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?

Page 28: Entitetno relacijski model podatkov

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..