Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Samankaltaiset esitykset


Esitys aiheesta: ""— Esityksen transkriptio:

199 3.1. ER-malli ja sen laajennos
ER-malli on yleisimmin käytettyjä käsitetason malleja, erityisesti tietokannan suunnittelussa. Graafinen esitystapa Kuvaa tietokannan tietosisältöä ja tietyntyyppisiä rajoitteita. Perus-ER: Entiteetit, attribuutit, liittymät sekä niihin liittyvät lisäpiirteet Laajennettu (EER) malli: Ali-/ylityypit (-luokat), perintä, unionityypit. 3-1-EER-malli Tuomisto 2006, Teuhola-2012

200 ER-mallin peruskomponentit
Entiteettityyppi: Edustaa reaalimaailman konkreettisia tai abstrakteja olioita. Heikko entiteettityyppi: Olemassa vain liittyneenä vahvaan entiteettiin, eikä sillä ole omaa identifioivaa avainta (mahd. osittaisavain) Henkilö Tilaus 3-1-EER-malli Tuomisto 2006, Teuhola-2012

201 ER-mallin peruskomponentit (jatk.)
Liittymä (relationship): Entiteettien välinen suhde, Osapuolia 2 (binäärinen) tai useampia (kork.asteinen) Max-lukumääräsuhde 1 tai M (‘monta’) kunkin osapuolen suhteen. Min-lukumääräsuhde 0 (osittainen eli valinnainen liittymä) tai > 0 (totaalinen eli pakollinen liittymä; tuplaviiva) Rekursiivisen liittymän osapuolille roolinimet. Työntekijä Osasto Kuuluu M 1 Henkilö Avioliitto Mies Vaimo 3-1-EER-malli Tuomisto 2006, Teuhola-2012

202 ER-mallin peruskomponentit (jatk.)
Attribuutti: Entiteettiä tai liittymää karakterisoiva ominaisuus Erikoistapauksia: Työntekijä Nimi Osasto Toimipaikka Työntekijä Hetu Avain (id) Moniarvoinen Osoite Katuos Postino Postitmp Rakenteinen #työntek Johdettu 3-1-EER-malli Tuomisto 2006, Teuhola-2012

203 ER-mallin peruskomponentit (jatk.)
Identifioiva liittymä: Heikolla entiteetillä ei ole täy- dellistä id-attribuuttia. Sen esiintymien identifiointiin tarvitaan (mahdollisen osittais-avaimen lisäksi) siihen liittyvän vahvan entiteetin id-attribuutti. Huom! Oheinen esimerkki olettaa, että jos molemmat vanhemmat ovat työntekijöitä, vain toinen voi olla huoltaja. (Vrt. Company: ‘dependent’) Työntekijä Lapsi Huoltaja 1 M Hetu Nimi 3-1-EER-malli Tuomisto 2006, Teuhola-2012

204 Esimerkki ER-kaaviosta
Opettaja Onimi Hetu Opiskelija Opnimi Opnro Kurssi Tentti Kurssi-id Kurssinimi Liittyy 1 M Pvm Ohjaa Luennoi Suorittaa Arvos. Osallistuu 3-1-EER-malli Tuomisto 2006, Teuhola-2012

205 ER-mallin laajennuksia
Entiteettien tyyppihierarkiat: Kutsutaan jatkossa yli-/aliluokkasuhteiksi Saadaan esim. erikoistamalla entiteettiluokasta aliluokkia tai (kääntäen) yleistämällä eli yhdistämällä useita entiteettiluokkia ylemmän tason luokaksi. Ali-/yliluokkien esiintymäjoukkojen välillä sisältymissuhde Aliluokka perii kaikki yliluokkansa attribuutit ja liittymät Aliluokkia kannattaa muodostaa, jos niillä on lisäksi omia attribuutteja, liittymiä tai toimintoja. 3-1-EER-malli Tuomisto 2006, Teuhola-2012

206 Esimerkki luokkahierarkiasta
Työntekijä Nimi Hetu Teknikko Sihteeri Kouluttaja Johtaja d Kirj.nop Oppiarvo Koul.ala Osasto Johtaa 1 ‘d’=disjoint OsNo Sihteeri, teknikko ja kouluttaja ovat toisensa poissulkevia aliluokkia. Sen sijaan johtaja voi olla esim. teknikko. Työntekijän ei ole pakko kuulua mihinkään aliluokkaan. 3-1-EER-malli Tuomisto 2006, Teuhola-2012

207 Esimerkki luokkahierarkiasta: erilliset ja kattavat aliluokat
Henkilö Nimi Hetu Mies Nainen d Parran pit. #Synnyt. Jokainen henkilö on joko mies tai nainen 3-1-EER-malli Tuomisto 2006, Teuhola-2012

208 Esimerkki luokkahierarkiasta: Päällekkäiset aliluokat
Henkilö Nimi Hetu Opettaja Opiskelija o Oppiarvo ‘o’ = overlapping OpPist Opettaja voi olla samalla (jatko-)opiskelija Henkilön ei tarvitse kuulua kumpaankaan aliluokkaan 3-1-EER-malli Tuomisto 2006, Teuhola-2012

209 Esimerkki entiteettiluokkien yhteisestä aliluokasta.
Henkilö Nimi Hetu Opettaja Opiskelija o Oppiarvo Opiskelija-assist. Tutkimusaihe OpPist Kyseessä on ns. moni-perintä, eli opiskelija-assistentilla on sekä opettajan että opiskelijan attribuutit ja liittymät (henkilöattribuuttien lisäksi). 3-1-EER-malli Tuomisto 2006, Teuhola-2012

210 Yleistys luokkahierarkiasta: unionityyppi eli kategoria
Rek.ajoneuvo Rek.no Hlöauto Kuorma-auto U Kantavuus Henk.lkm Ajoneuvo-id Kategoria ‘rekisteröity ajoneuvo’ voi olla henkilö- tai kuorma-auto, mutta kaikki autot eivät ole rekisteröityjä. 3-1-EER-malli Tuomisto 2006, Teuhola-2012

211 (E)ER-kaaviosta relaatiokaavaksi (-> ’looginen suunnittelu’)
Vaihe 1: tavallinen entiteettityyppi: Luo entiteettityypille oma relaatio ja liitä siihen yksinkertaiset attribuutit Ota yhdistetyt attribuutit mukaan jaettuina komponenteikseen. Valitse yksi avainattribuutti(joukko) pääavaimeksi Viiteavaimia ei spesifioida vielä tässä vaiheessa 3-1-EER-malli Tuomisto 2006, Teuhola-2012

212 Esimerkki: Tavallinen entiteettityyppi relaatioksi
Työntekijä Osoite Katuos Postino Postitmp Hetu Nimi Työntekijä (Hetu, Nimi, Katuos, Postino, Postitmp) 3-1-EER-malli Tuomisto 2006, Teuhola-2012

213 (E)ER-kaaviosta relaatiokaavaksi (jatk.)
Vaihe 2: heikot entiteetit: Luo heikolle entiteettityypille oma relaatio ja liitä siihen tavalliset attribuutit (hajoita yhdistetyt erillisiksi). Liitä omistajaentiteetin pääavain viiteavaimeksi. Relaation pääavain = omistajan pääavaimen ja heikon entiteetin osittaisen avaimen yhdelmä. 3-1-EER-malli Tuomisto 2006, Teuhola-2012

214 Esimerkki heikon entiteetin muuntamisesta relaatioksi
Työntekijä Lapsi Huoltaja 1 M Hetu Lnimi Tnimi Työntekijä (Hetu, Tnimi) Lapsi (Hetu, Lnimi) 3-1-EER-malli Tuomisto 2006, Teuhola-2012

215 (E)ER-kaaviosta relaatiokaavaksi (jatk.)
Vaihe 3: binäärinen 1:1 –liittymä Valitse toinen entiteeteistä ja liitä sen relaatioon viiteavaimeksi toisen osapuolen pääavain. Viiteavain on parempi liittää osapuoleen, jolla on täydellinen osallisuus (kaikki esiintymät mukana liittymässä, jolloin ei synny NULL-arvoja). Ota liittymän yksinkertaiset attribuutit mukaan samaan relaatioon kuin viiteavain. Toinen mahdollisuus: molemmat entiteetit ja liittymä yhdeksi relaatioksi; sopiva, jos molempien osalli-suudet täydellisiä. 3-1-EER-malli Tuomisto 2006, Teuhola-2012

216 Esimerkki 1:1 –liittymän muuntamisesta relaatioiksi
Osasto Osnimi Osno Työntekijä Hetu Tnimi Johtaa 1 Nimityspvm Työntekijä (Hetu, Tnimi) Osasto (Osno, Osnimi, Hetu, Nimityspvm) Työntekijä (Hetu, Tnimi, Nimityspvm, Osno) Osasto (Osno, Osnimi) EI: 3-1-EER-malli Tuomisto 2006, Teuhola-2012

217 (E)ER-kaaviosta relaatiokaavaksi (jatk.)
Vaihe 4: tavallinen binäärinen 1:M –liittymä (ei heikko): Liitä M-puoleisen entiteetin relaation viiteavaimeksi 1-puolen pääavain. Ota liittymän yksinkertaiset attribuutit mukaan M-puoleiseen relaatioon 3-1-EER-malli Tuomisto 2006, Teuhola-2012

218 Esimerkki 1:M –liittymän muuntamisesta relaatioiksi
Kurssi Knimi Kurssi-id Opettaja Hetu Onimi Luennoi 1 M Periodi Opettaja (Hetu, Onimi) Kurssi (Kurssi-id, Knimi, Hetu, Periodi) 3-1-EER-malli Tuomisto 2006, Teuhola-2012

219 (E)ER-kaaviosta relaatiokaavaksi (jatk.)
Vaihe 5: binäärinen M:N –liittymä: Luo liittymälle oma relaatio. Liitä sen viiteavaimiksi liittymään osallistuvien entiteettien pääavaimet (ovat yhdessä uuden relaation pääavain). Ota myös liittymän yksinkertaiset attribuutit relaatioon. 1:1 ja 1:N voidaan myös kuvata tällä tavalla, jos halutaan välttää NULL-arvoiset viittaukset (tässä mielekästä, jos liittymällä on vähän instansseja). 3-1-EER-malli Tuomisto 2006, Teuhola-2012

220 Esimerkki M:N –liittymän muuntamisesta relaatioiksi
Kurssi Knimi Kurssi-id Opiskelija Opno Opnimi Osall. M N Periodi Opiskelija (Opno, Opnimi) Kurssi (Kurssi-id, Knimi) Osall (Opno, Kurssi-id, Periodi) 3-1-EER-malli Tuomisto 2006, Teuhola-2012

221 3-1-EER-malli Tuomisto 2006, Teuhola-2012
Esimerkki vähän instansseja omaavan M:1 –liittymän muuntamisesta relaatioiksi Prof Profnimi Hetu Opiskelija Opno Opnimi Gradun ohj. M 1 Aihe Opiskelija (Opno, Opnimi) Prof (Hetu, Profnimi) GradunOhj (Opno, ProfHetu) Huom! Pääavain voi olla myös viiteavain 3-1-EER-malli Tuomisto 2006, Teuhola-2012

222 (E)ER-kaaviosta relaatiokaavaksi (jatk.)
Vaihe 6: moniarvoinen attribuutti Luo oma relaatio, jossa on entiteetin pääavain sekä attribuutti, joka vastaa moniarvoista attribuuttia. Relaation pääavain on edellisten yhdistelmä Jos moniarvoinen attribuutti on yhdistetty, se liitetään komponentteinaan (Huom. relaation pääavaimeen joko kaikki komponentit tai vain osa). 3-1-EER-malli Tuomisto 2006, Teuhola-2012

223 Esimerkki moniarvoisen attribuutin muuntamisesta relaatioksi
Osasto OsNo OsNimi Toimipaikka Osasto (OsNo, OsNimi) OsastoPaikat (OsNo, Toimipaikka) Huom. pääavaimet! 3-1-EER-malli Tuomisto 2006, Teuhola-2012

224 (E)ER-kaaviosta relaatiokaavaksi (jatk.)
Vaihe 7: liittymät joiden aste > 2: Luo liittymälle oma relaatio. Liitä osallistuvien entiteettien pääavaimet relaation attribuuteiksi. Ota relaatioon myös liittymän tavalliset attribuutit. Pääavain on kaikkien viiteavainten yhdistelmä, paitsi ... Jos jonkin entiteetin osallistumisessa max=1, sen pääavain ei kuulu liittymää edustavan relaation pääavaimeen; muiden avainten yhdistelmä riittää. 3-1-EER-malli Tuomisto 2006, Teuhola-2012

225 Esimerkki 3-asteisen liittymän muuntamisesta relaatioiksi
Kurssi Knimi Kurssi-id Opiskelija Opno Opnimi Suoritus M 1 Sali Tentti N Ajankohta Arvosana Laitos Opiskelija (Opno, Opnimi) Kurssi (Kurssi-id, Knimi) Tentti (Sali, Ajankohta, Laitos) Suoritus (Opno, Kurssi-id, Sali, Ajankohta, Arvosana) 3-1-EER-malli Tuomisto 2006, Teuhola-2012

226 3-1-EER-malli Tuomisto 2006, Teuhola-2012, Bergroth-2013
Huom! 3- tai korkeampiasteista liittymää ei yleisesti voi jakaa binäärisiksi Projekti Projnimi Projnum Toimittaja Toimnum Toimnimi Toimitus M O Osanum Osa N OsanNimi Yritetään nyt esittää 3. asteen liittymä Toimitus (Toimnum, Osanum, Projnum) jakamalla se kolmeksi binääriseksi relaatioksi seuraavasti: OsienToimitus (Toimnum, Osanum) (Eri toimittajilta saatavat osat) OsienKäyttö (Osanum, Projnum) (Mitä osia tarvitaan eri projekteihin?) ToimitusProjektille (Toimnum, Projnum) (Projektit, joille toimitetaan) 3-1-EER-malli Tuomisto 2006, Teuhola-2012, Bergroth-2013

227 3-1-EER-malli Tuomisto 2006, Teuhola-2012, Bergroth-2013
Huom! 3- tai korkeampiasteista liittymää ei yleisesti voi jakaa binäärisiksi (jatk.) Toimnum Osanum A 1 3 B 2 Toimnum Projnum A P1 P2 B P3 Osanum Projnum 1 P1 P3 3 P2 Oletetaan seuraavaksi, että alkuperäisessä 3-asteisessa relaatiossa Toimitus esiintyisi monikko (A, 1, P1), mutta monikkoa (B, 1, P1) ei siellä esiintyisi. Jos kyseinen liittymä puretaan kolmeksi binääriseksi liittymäksi, ei tarkalleen tätä tietoa pystytä säilyttämään (myös B voisi toimittaa osaa 1 projektille P1)! 3-1-EER-malli Tuomisto 2006, Teuhola-2012, Bergroth-2013

228 (E)ER-kaaviosta relaatiokaavaksi (jatk.)
Vaihe 8: Luokkahierarkioiden esittäminen Merk. PK(R) = relaation R pääavain Muunna luokkahierarkia, jossa m (erikoistettua) aliluokkaa {S1 , S2 , ..., Sm} (yleistetty) yliluokka C(k, a1 , a2 , ..., an) PK(C) = k ... relaatiokaavoiksi käyttäen yhtä seuraavista optioista (8A) – (8D): 3-1-EER-malli Tuomisto 2006, Teuhola-2012

229 (E)ER-kaaviosta relaatiokaavaksi (jatk.)
8A: Luo C:lle relaatio L, jolla attribuutit {k, a1,..., an}, missä L:n pääavain PK(L) = k; luo jokaiselle aliluokalle Si oma relaatio Li , jolla attribuutit {k}  {Si :n attribuutit}; pääavain PK(Li) = k. Ominaisuuksia: Liitos jollekin Li:lle ja L:lle pääavaimen suhteen tuottaa sekä kaikki periytyvät että Li :lle spesifiset attribuutit Toimii sekä erillisillä (’d’), päällekkäisillä (’o’), täydellisillä (kattavilla ’||’) että osittaisilla (ei-kattavilla ’|’) hierarkioilla. 3-1-EER-malli Tuomisto 2006, Teuhola-2012

230 Esimerkki luokkahierarkian muunnosta relaatioiksi (vaihtoehto A)
Henkilö Nimi Hetu Opettaja Opiskelija o Oppiarvo OpPist Henkilö (Hetu, Nimi) Opettaja (Hetu, Oppiarvo) Opiskelija (Hetu, OpPist) 3-1-EER-malli Tuomisto 2006, Teuhola-2012

231 (E)ER-kaaviosta relaatiokaavaksi (jatk.)
8B: Luo relaatio Li jokaiselle aliluokalle Si, jolla attri-buutit {Si :n attribuutit }  {k, a1 , a2 , ..., an} ja PK(Li)=k. Ominaisuuksia: Toimii hyvin vain erillisillä ja täydellisillä (=kattavilla) optioilla. Ongelmatapaukset: Osittainen suhde: Yliluokan entiteetti ei välttämättä kuulu mihinkään aliluokkaan  entiteetti menetetään. Päällekkäisen, moneen luokkaan kuuluvan entiteetin perityt attribuutit toistetaan alirelaatioissa Li  redundanssia. Yliluokan entiteettijoukko ei esiinny kokonaisena missään relaatiossa. OUTER UNION kaikille tuottaa yliluokan entiteetit. Tietyn instanssin C haku vaatii kaikkien Li :iden haun. 3-1-EER-malli Tuomisto 2006, Teuhola-2012

232 Esimerkki luokkahierarkian muunnosta relaatioiksi (vaihtoehto B)
Henkilö Nimi Hetu Mies Nainen d Parran pit. #Synnyt. Mies (Hetu, Nimi, ParranPit) Nainen (Hetu, Nimi, SynnytMäärä) 3-1-EER-malli Tuomisto 2006, Teuhola-2012

233 (E)ER-kaaviosta relaatiokaavaksi (jatk.)
8C: Yksi relaatio L, jolla attribuutit { k, a1 , a2 , ..., an }  { Si :n attribuutit } ... { Sm:n attribuutit }  { t } missä L:n pääavain PK(L) = k, aliluokkien on oltava erilliset, t = tyyppiattribuutti, joka ilmoittaa aliluokan, johon monikko (eli relaation rivi) kuuluu. 3-1-EER-malli Tuomisto 2006, Teuhola-2012

234 Esimerkki luokkahierarkian muunnosta relaatioiksi (vaihtoehto C)
Työntekijä Nimi Hetu Teknikko Sihteeri Kouluttaja d Kirj.nop Oppiarvo Koul.ala Työntekijä (Hetu, Nimi, Tehtävä, Kirj.nop, Oppiarvo, Koul.ala) 3-1-EER-malli Tuomisto 2006, Teuhola-2012

235 (E)ER-kaaviosta relaatiokaavaksi (jatk.)
8D: Yksi relaatio L, jolla attribuutit {k, a1 , a2 , ..., an}  {Si :n attribuutit} ... {Sm :n attr.}  {t1 , t2 , ..., tm} missä L:n pääavain PK(L)=k; sopii päällekkäisille (overlapping) aliluokille, ti = Boolen-attribuutti (true/false), joka ilmoittaa kuuluuko monikko aliluokkaan Si 3-1-EER-malli Tuomisto 2006, Teuhola-2012

236 Esimerkki luokkahierarkian muunnosta relaatioiksi (vaihtoehto D)
Henkilö Nimi Hetu Opettaja Opiskelija o Oppiarvo OpPist Henkilö (Hetu, Nimi, OnkoOpettaja, OnkoOpisk, Oppiarvo, OpPist) 3-1-EER-malli Tuomisto 2006, Teuhola-2012

237 (E)ER-kaaviosta relaatiokaavaksi (jatk.)
Ratkaisuista 8A-8D: C- ja D-kohtia ei suositella, jos aliluokilla on paljon spesifisiä attribuutteja  syntyy paljon NULL-arvoja (muutoin OK). Laajemman luokkahierarkian ja hilan (yhteisiä aliluokkia) kuvauksessa voidaan käyttää eri osissa eri optioita. 3-1-EER-malli Tuomisto 2006, Teuhola-2012

238 (E)ER-kaaviosta relaatiokaavaksi (jatk.)
Yhteisten aliluokkien (moniperintätilanne) kuvaaminen relaatioiksi: Yliluokilla on oltava sama pääavain, muuten mallinnetaan kategoriana. Muunnoksessa yleisin vaihtoehto on 8A. 3-1-EER-malli Tuomisto 2006, Teuhola-2012

239 3-1-EER-malli Tuomisto 2006, Teuhola-2012
Esimerkki luokkien ja niiden yhteisen aliluokan kuvaamisesta relaatioiksi Nimi Hetu Opettaja Opiskelija Oppiarvo Opiskelija-assist. Tutkimusaihe OpPist Huom! Viiteavaimia ei voi määritellä tässä kaavassa Opettaja (Hetu, Nimi, Oppiarvo) Opiskelija (Hetu, Nimi, OpPist) Opiskelija-assist (Hetu, Tutkimusaihe) 3-1-EER-malli Tuomisto 2006, Teuhola-2012

240 (E)ER-kaaviosta relaatiokaavaksi (jatk.)
Kategorioiden kuvaaminen relaatioiksi: Yliluokilla voi olla useita avaimia Jos eri avain, niin määritellään uusi (sijais)avain (surrogate key). Jos sama avain, ei tarvita ylimääräistä avainta. 3-1-EER-malli Tuomisto 2006, Teuhola-2012

241 Esimerkki kategorian kuvaamisesta relaatioiksi: sijaisavaimen käyttö
Omistaja Ostopvm Henkilö Yritys U Ynimi Hnimi Y-tunnus Hetu Osoite Kunta Henkilö (Hetu, Hnimi, Osoite, OmistajaId) Yritys (Y-tunnus, Ynimi, Kunta, OmistajaId) Omistaja (OmistajaId, Ostopvm) Huom! null-arvoiset viiteavaimet mahdollisia 3-1-EER-malli Tuomisto 2006, Teuhola-2012

242 Esimerkki kategorian kuvaamisesta relaatioiksi: ei sijaisavainta
Rek.ajoneuvo Rek.pvm Hlöauto Kuorma-auto U Kantavuus Henk.lkm Ajoneuvo-id Rek.no Huom! Ei viite- avaimia, koska pääavain ei voi olla null-arvoinen Hlöauto (Ajoneuvo-id, Henk.lkm) Kuorma-auto (Ajoneuvo-id, Kantavuus) Rek.ajoneuvo (Ajoneuvo-id, Rek.no, Rek.pvm) 3-1-EER-malli Tuomisto 2006, Teuhola-2012

243 Yleishavainto kategorioista
Kyseessä on moniperintätilanne, joka on aina hankala; nyt lisäksi kaikki yliluokkien instanssit eivät ole mukana aliluokassa (kategoriassa). Viiteavainten null-arvot eivät ole toivottavia oikeellisuuden ylläpidon näkökulmasta. Tilannetta selkeyttäisi jos yliluokilla olisi vielä yhteinen ‘super-yliluokka’, esim. Henkilöauto U Kuorma-auto = Ajoneuvo. 3-1-EER-malli Tuomisto 2006, Teuhola-2012

244 EER relaatiokaava –muunnoksen viimeistely
Liitetään saman pääavaimen omaavat relaatiot yhteen, jos avainten arvojoukot ovat joka tilanteessa samat. Tarkistetaan lopputuloksena saadun relaatio-kaavan laatu soveltamalla normalisoinniksi kutsuttua teoriaa (esitellään seuraavassa kappaleessa). 3-1-EER-malli Tuomisto 2006, Teuhola-2012


Lataa ppt ""

Samankaltaiset esitykset


Iklan oleh Google