Slides:



Advertisements
Samankaltaiset esitykset
1. Missä vietät joulun useimmiten?. 2. Missä viettäisit joulun mieluiten?
Advertisements

Juha Kauppinen Consulting oy Työntekijäkysely Tietoja
ER-mallista relaatiomalliin
Ohjelmiston tekninen suunnittelu
Esiopetuksen huoltajat 2014 Generated on :41.
Moodlen ohje opiskelijoille
AUTOMATIC DELIVERY REWARDS (ADR) (New Programme – 01 September) LifePak ® (Example) PSV 5% Discount= €51.71 (68.97 PSV) Shipping= €4.5.
Lineaarisia malleja.
Mitä on kirjoittaminen? (s. 55)
Liikevaihdon kehitys Pirkanmaalla 2009
Luku 5 – Tietojen hakeminen sovelluksiin
Relaatiomalli •Ted Codd 1970 •Matemaattinen perusta •Helppo toteuttaa •Helppo omaksua •Käytetyin tietomalli •Muodostaa perustan kurssin myöhemmille asioille.
Tietokanta.
Looginen suunnittelutMyn1 Looginen suunnittelu •Tässä lähdetään liikkeelle käsitemallista. •Laaditaan sisällöstä ja rakenteesta loogisen tason kuvaus,
Relaatiomallin perusteet
Tietokannan suunnittelu
2.8.3 Abstraktit tietotyypit
Aggregaattifunktiot (1)
EXtensible Markup Language
Rakenteinen ohjelmointi
Valitse sanomapalkissa Ota muokkaus käyttöön,
Michael Sundvist, Jussi Huttunen, Tommi Vekkilä, Antti Raessalo TV10s1
Perusopetuksen huoltajat 2014 Generated on :04.
Päivi Ovaska Tutkijaopettaja LTY/Tite
Tietokannat II Lasse Bergroth Turun yliopisto, IT-laitos Kevät 2013
Pasi Helasuo Työn valvoja Professori Jukka Manner
Kuvien lähde:. Kuinka pitkä on pitkä? Subprime kriisi alkoi Yhdysvalloista elokuussa Se muuttui finanssikriisiksi lokakuussa Kreikkakriisi.
Perusopetuksen oppilaat 2014 Generated on :03.
TMA.003 / L3 ( )1 3. Funktioista 3.1. Kuvaus ja funktio Olkoon A ja B ei-tyhjiä joukkoja. Tulojoukon A  B = {(x,y) | x  A, y  B} osajoukko on.
2. Vuokaaviot.
Haaga-Helia Ammattikorkeakoulu
Relaatioalgebra (1) Kokoelma relaatioiden käsittelyyn tarkoitettuja operaatioita Operaatiot muuntavat relaatioita uusiksi relaatioiksi Muodostaa perustan.
Erilaiset liitokset FROM-osassa voidaan määritellä relaatio myös erilaisia liitosoperaatioita käyttäen Vasen, oikea ja täysi puoliliitos eli ulkoliitos.
Aritmeettinen jono jono, jossa seuraava termi saadaan edellisestä lisäämällä sama luku a, a + d, a+2d, a +3d,… Aritmeettisessa jonossa kahden peräkkäisen.
Aritmeettinen jono jono, jossa seuraava termi saadaan edellisestä lisäämällä sama luku a, a + d, a+2d, a +3d,… Aritmeettisessa jonossa kahden peräkkäisen.
Monikon lisääminen (1) Luetellaan kaikki lisättävän rivin arvot INSERT INTO Asiakas VALUES (4, ’Assi’, ’Asiakas’); Luetellaan vain osa arvoista; muut arvot.
Oulu ALO-luokka 12kyl, 4pys Tuomari: Tytti Lintenhofer Kyl:
© Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto Access merkkijonovertailut 
10. Funktionaaliset riippuvuudet ja relaatiotietokannan normalisointi

© Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto Kantataulujen päivitys: Lisäys.
1. Joukko-oppi Merkinnät
Syntaksin harjoituskurssi CYK140
Muunnos luokkakaaviosta relaatiokaavioon
Opiskelun ja opetuksen tukipalveluiden arkkitehtuurin ”Tvärminnen risti”
© 2010 IBM Corporation1 Objektien käyttöoikeudet  Kaikilla sisällönhallinnan objekteilla on käyttöoikeudet. Käyttöoikeudet on jaoteltuina Lukuoikeuksiin,
Tietokannan luominen Tietokanta luodaan komennolla CREATE DATABASE

@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
5. Relaatiomalli, relaatioiden rajoitukset ja relaatioalgebra
Tietokannan normalisointi
3.1. DERIVAATAN MÄÄRITELMÄ
6. Relaatioalgebra ja relaatiokalkyyli
3-Suunnittelu Teuhola 2012 / Bergroth Tietokannan suunnittelu Suunnitteluprosessi Tiedon tarkastelu eri tasoilla Pyrkimys laatuun ja tehokkuuteen.
Suomen Lääkäriliitto | Finnish Medical AssociationLääkärit Suomessa | Physicians in Finland Tilastotietoja lääkäreistä ja terveydenhuollosta 2014 Statistics.
7. ER- ja EER-mallin kuvaaminen relaatiotietokannaksi
DO NOT PRINT THIS DOCUMENT SQL -valintaehto CREATE TABLE opettaja ( opetunnus varchar(12) NOT NULL, nimi varchar(40) NOT NULL, puhelin varchar(12), tyohuone.
11. Relaatiotietokannan suunnittelualgoritmit ja lisäriippuvuudet Tällä kurssilla käsitellään kirjan luvusta 11 ainoastaan algoritmi 11.1 häviöttömän liitoksen.
Yleistä Kotisivuja päivitetty Demoryhmät Luentomonisteen ensimmäiset osat Luentokalvot jaossa Demot alkavat maanantaina Selvitä oma demoryhmäsi Tutustu.
Tietokannat Tietotekniikan perusteet Pekka Orponen.
XML – osa 2 Teppo Räisänen
Tietokannat -kurssi KSAO, Datanomit, käytön tuki kevät 2015 Lauri Tapola.
Tietokannat -kurssi KSAO, Datanomit, käytön tuki kevät 2015 Lauri Tapola.
DTD rakenne ELEMENT elementtien määrittely ATTLISTattribuuttien määrittely ENTITYentiteettien määrittely NOTATIONnotaatioiden määrittely.
Tietokannan hallinta Kevät 2006 Jan Lindström R&G Chapter 1.
Miika Kuusinen LTY/Tietoliikenteen laitos 2003
Procedural Language Extensions to SQL
UML-mallinnus osana tietotuotemäärittelyä
Tietomallista tietokannaksi
Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö
Esityksen transkriptio:

Relaatiomalli 5. Relaatiomalli Käsitteet Säännöt 07/04/2017 Relaatiomalli 5. Relaatiomalli Käsitteet Säännöt Käyttö 6. Relaatioalgebra (EI TENTTIIN!) Select, Project, Union, Difference, Join 7. (E)ER-mallin muuntaminen relaatioiksi Kaava

Mikä on tietomalli? Malli, jolla tietokannan rakenne ja sisältö kuvataan Mallinnuksen abstraktiotasot: Käsitetaso, esim. (E)ER-malli Rakenteellinen käsitetaso, esim. relaatiomalli Sisäinen taso, järjestelmäkohtainen Vrt. Kolmikaava-arkkitehtuuri! 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

Relaatiomallin taustaa Codd, 1970 (IBM Research) Matemaattinen perusta Yksinkertainen käsitteistö Vähän ’rakennuspalikoita’ Helppo ja havainnollinen taulukkoesitys Perustana suosituimmissa tietokantajärjes- telmissä (Oracle, Informix, DB2, Sybase, SQLServer,… myös Accessissä) Relaatiomalli sopii ohjelmoijille ja SQL-käyttäjille 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

Relaatiomallin käsitteitä 1/2 (kuva 5.1) Relaatio = Taulu Tupla (monikko) = Rivi Edustaa reaalimaailman ’kohdetta’ tai ’faktaa’ (relaatioon kootaan joukko samantyyppisiä kohteita / faktoja) Järjestetty lista arvoja (esityksen yksinkertaistamiseksi, loogisesti arvojen järjestyksellä ei väliä) Attribuutti = Sarake Samannimisiä relaation kohteiden ominaisuuksia Arvot atomisia Komponenttiattribuutit erillisinä Moniarvoinen attribuutti omana relaationa Arvojoukko = Attribuutin tietotyyppi (null?) 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

Relaatiomallin käsitteitä 2/2 (kuva 5.1) Relaation aste = Attribuuttien lukumäärä Relaatiokaava = Relaation nimi + attribuuttien joukko Tulkitaan predikaattina (väite, tosiasia) Relaation tila (instanssi*) = Tuplien joukko Tuplien järjestyksellä ei merkitystä (kuvat 5.1-5.3) 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

Merkinnät Relaatiokaava: RELNIMI(Attrnimi1,..., Attrnimin) Tupla t = <arvo1,...,arvon> t [Attri] = tietyn attribuutin i arvo tuplassa t Q, R, S,... = Relaatio q, r, s,... = Relaation tila/instanssi t, u, v,… = Tupla Pelkkä relaation nimi viittaa kyseisen relaation sen hetkiseen instanssiin RELNIMI.Attrnimi ilmoittaa yksiselitteisesti attribuutin johon viitataan EMPLOYEE.Age 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

Relaatiomallin säännöt 1/2 1. Arvojoukkorajoite Attribuutin arvo on atominen ja kuuluu sille määriteltyyn arvojoukkoon Tyhjä arvo (NULL) sisältyy aina arvojoukkoon 2. Avainrajoite Relaatiossa ei saa olla tuplia, joiden kaikkien attribuuttien arvot samat; relaatio on matemaattinen joukko 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

Avaimiin liittyviä käsitteitä Superavain = Attribuuttien joukko, jonka arvot eivät ole samat kahdella eri tuplalla Avain = Minimaalinen superavain Ei voida poistaa yhtään attribuuttia siten, että jäljelle jäisi superavain Ehdokasavain = Attribuutti(ryhmä), joka on avain Pääavain = Valitaan yksi ehdokasavaimista Pääavain yleensä alleviivataan relaatio-kaavassa 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

07/04/2017 Lisää avaimista Avainominaisuus on relaation semantiikkaan liittyvä asia, joka edellyttää sovelluksen tuntemusta Attribuutin tai attribuuttiryhmän satunnainen yksikäsitteisyys jossakin relaatioinstanssissa ei tee siitä avainta Esim. HLÖ=[Nimi, Ikä] taulun 4 instanssia: (Elina, 26), (Jussi, 23), (Mikko, 21), (Anne, 23) ”Nimi” tuskin avain, mutta riippuu semantiikasta 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

Relaatiomallin säännöt 2/2 3. Olioeheys Pääavaimen minkään komponentin arvo ei voi olla NULL 4. Viite-eheys Toiseen relaatioon viittaavan tuplan tulee viitata olemassa olevaan tuplaan Attribuutti(joukko) FK relaatiossa R1 on relaatioon R2 osoittava viiteavain, jos FK:lla sama arvojoukko kuin R2:n pääavaimella FK:n arvo relaation R1 tuplassa t1 esiintyy jonkin R2:n tuplan t2 pääavaimena tai = NULL 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

Viiteavain (kuva 7.7) Kutsutaan myös ’vierasavaimeksi’ Mahdollistaa relaatioiden väliset kytkökset Relaatiomalli ei tunne varsinaisia osoittimia Kaikki liittymät esitetään data-arvojen kautta Esim. Kurssi(knimi, lukukausi, opettajanimi) Opettaja(opettajanimi, virka-asema) Viiteavain määrittelee M:1 –suhteen viittaavan relaation ja kohderelaation välille Viittauksen kohteeseen voi olla useita viittauksia samasta tai eri relaatiosta Viiteavain voi viitata myös saman relaation pääavaimeen Kyseessä on eräänlainen rekursiivinen suhde 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

Lisää viiteavaimista Viiteavaimen merkintä Yhden attribuutin käsittävä viiteavain: Kurssi(kurssino, kurssinimi, ope  Opettaja) Opettaja(hetu, nimi, laitos) Attribuuttiyhdelmä viiteavaimena: Osallistuu(opno, nimi, (kurssino, vuosi)Kurssi) Kurssi(kurssino, vuosi, kurssinimi, opettaja) 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

Semanttisia rajoitteita Miten valvoa ja rajoittaa tietueiden arvojen sisältöä? Tilarajoitukset ”Työntekijän palkan tulee olla pienempi kuin pomolla” ”Yläraja työntekijän projektien työtunneille viikossa on 56” Muutosrajoitukset ”Työntekijän palkka voi vain nousta, ei laskea” Toteutetaan Kannassa ns. constraint specification language Triggers and assertions Sovellusohjelmassa (ohjelmointikielellä) 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

Relaatiotietokannan kaava (kuva 5.5,5.6) Nyt kohteena relaatioiden joukko Relaatiotietokannan kaava koostuu Relaatiokaavoista ja Eheyssäännöistä Relaatiotietokannan tilan/instanssin on koostuttava relaatiokaavojen mukaisista relaation tiloista/instansseista jotka toteuttavat em. eheyssäännöt 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

Relaatiotietokannan määrittely Lyhyesti tietokannan määrittelyn vaiheet Tietokannan nimeäminen Relaatioiden määrittely Relaation nimi Attribuutit Avaimet Eheyssäännöt Arvojoukkojen määrittely attribuuteille 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

Päivitysoperaatiot ja –ongelmat 07/04/2017 Päivitysoperaatiot ja –ongelmat Lisäys voi rikkoa: Arvojoukkorajoitetta, avainrajoitetta, olioeheyttä, tai viite-eheyttä Poisto voi rikkoa: Vain viite-eheyttä Muutos voi rikkoa: Ei-avainattribuutti: Arvojoukkorajoitetta (Pää)avainattribuutti = ”poisto + lisäys” Voi rikkoa kaikkia rajoitteita Viiteavainattribuutti: Viite-eheyttä 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

Päivitysongelmien korjaaminen Operaation estäminen Operaation muuttaminen Vyörytys: Päivitysoperaatio kohdistetaan myös viittaaviin (tai viittauksen kohteena oleviin) tupliin Harjoituksia: Mieti seuraavan sivun päivityksiä, niistä mahdollisesti aiheutuvia ongelmia ja tarvittavia korjaustoimenpiteitä Ks. myös esimerkki s.143 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

Esimerkkejä (kuvat 5.6, 5.7) Insert < ‘Sales’, Null, ‘987987987’, ‘02-FEB-91’> into DEPARTMENT Insert < ‘Test’, 3, ’Houston’, 5 > into PROJECT Insert < ‘123456789’, ‘Sue’, ‘Y’, ‘32-MAY-79’, ‘SON’ > into DEPENDENT Insert < ‘Modelling’, 7, ‘Memphis’, 3 > into PROJECT Delete EMPLOYEE tuple with SSN='987654321' Delete WORKS_ON tuple with ESSN='999887777’ and PNO=20 Delete PROJECT tuple with PNUMBER=3 Modify the DNO of the EMPLOYEE tuple with SSN='999887777' to 2 Modify PNUMBER of the PROJECT tuple with PNUMBER=3 to 4 Modify the SSN of the EMPLOYEE tuple with SSN='999887777' to '987654321' 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

6. Relaatioalgebra EI TENTTIIN! Operaatiot relaatioiden käsittelyyn Joukko-opin operaatiot Erityisoperaatiot relaatiotietokannoille Operaation tulos on relaatio Unaariset: Valinta, projektio, aggregaattifunktiot Binääriset: Unioni, leikkaus, erotus, karteesinen tulo, liitos 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

7.1-7.2 (E)ER-to-relational (1/14) Tiivistelmä kirjan sivuista 192-203 Ks. myös taulu 7.1 Vaihe 1: Tavalliset entiteettityypit Luo oma relaatio ja liitä siihen yksinkertaiset attribuutit Liitä yhdistetyt attribuutit komponentteinaan Valitse yksi avainattribuutti(joukko) pääavaimeksi Viiteavaimia ei vielä tässä vaiheessa 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

... (E)ER-to-relational (2/14) Vaihe 2: Heikot entiteettityypit Käsittele viimeiseksi ne heikot entiteetit, joiden omistajana on toinen heikko entiteetti Luo oma relaatio ja liitä yksinkertaiset attribuutit Hajoita yhdistetyt attribuutit erillisiksi Liitä omistajaentiteetin pääavain viiteavaimeksi Relaation pääavain on omistajan pääavain + heikon entiteetin osittainen avain 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

... (E)ER-to-relational (3/14) Vaihe 3: Binaariset 1:1 –liittymät Valitse toinen entiteeteistä ja liitä toisen osapuolen pääavain sen relaatioon viiteavaimeksi Viiteavain on parempi liittää osapuoleen, jolla on täydellinen riippuvuussuhde (ei esiinny NULL-arvoja) Esim. [EMP] <manages> [DEPT]; viiteavain DEPT-relaatioon Liitä liittymän yksinkertaiset attribuutit samaan relaatioon kuin viiteavain Toinen vaihtoehto: Molemmat entiteetit ja liittymä yhdeksi relaatioksi Erityisen sopiva, jos molempien riippuvuussuhteet täydellisiä ja entiteeteillä ei muita liittymiä Kolmas vaihtoehto: Kuten M:N -liittymät 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

... (E)ER-to-relational (4/14) Vaihe 4: Binaariset 1:N –liittymät (ei heikko) Liitä ”N”-puoleisen entiteetin relaation viiteavaimeksi ”1”-puolen pääavain Liitä liittymän yksinkertaiset attribuutit myös ”N”-puoleiseen relaatioon Toinen vaihtoehto: Kuten M:N –liittymät 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

... (E)ER-to-relational (5/14) Vaihe 5: Binaariset M:N –liittymät Luo oma relaatio Liitä liittymään osallistuvien entiteettien pääavaimet relaation viiteavaimiksi Ovat yhdessä uuden relaation pääavain Liitä myös liittymän yksinkertaiset attribuutit relaatioon Aiemmat 1:1 ja 1:N –liittymät voidaan myös kuvata tällä tavalla Jos liittymällä vähän instansseja, vältetään NULL-arvot Relaation pääavain on yhden osallistuvan entiteetin viiteavain (1:N):n tapauksessa ”N”-puoleinen (1:1):n tapauksessa se jolla täydellinen riippuvuus (jos on) 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

... (E)ER-to-relational (6/14) Vaihe 6: Moniarvoiset attribuutit Luo oma relaatio, jossa Attribuutti joka vastaa moniarvoista attribuuttia Entiteetin pääavain Relaation pääavain on edellisten yhdistelmä Jos moniarvoinen attribuutti on yhdistetty, se liitetään komponentteinaan Huom! Tapauskohtaisesti avain sisältää kaikki komponentit tai osan komponenteista, kunhan avainominaisuus on olemassa 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

... (E)ER-to-relational (7/14) (kuva 7.3) Vaihe 7: Liittymät joiden aste > 2 Luo oma relaatio Liitä osallistuvien entiteettien pääavaimet attribuuteiksi Liitä myös liittymän tavalliset attribuutit Pääavain on kaikkien viiteavaimien yhdistelmä Jos jonkun entiteetin osallistumisessa max=1  ei pääavaimeen; muiden avainten yhdistelmä riittää Huom! ”>2”-liittymät kannattaa muuttaa kaksiasteisiksi, jos vain mahdollista (esim. kuva 4.11) 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

... EER-to-relational (8/14) (kuva 7.4) Em. on tärkeää omaksua! Jotta (E)ER-rakenteiden mallinnus olisi luontevaa, on hallittava rakenteiden toteuttaminen Vaihe 8: Luokkahierarkioiden esittäminen Merkitään PK(R) = relaation R pääavain (primary key) Muunna erikoistamishierarkia, jossa m aliluokkaa {S1 , S2 , ..., Sm} (yleistetty) yliluokka C{k, a1 , a2 , ..., an} PK(C) = k ... relaatiokaavoiksi käyttäen yhtä seuraavista optioista A, B, C, tai D 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

... (E)ER-to-relational (9/14) Luo C:lle relaatio L, jolla attribuutit {k, a1,..., an}, missä PK(L)=k Luo jokaiselle aliluokalle Si oma relaatio Li , jolla attribuutit {k}  {Si :n attribuutit}; missä PK(Li)=k Liitos jollekin Li :lle ja L:lle pääavaimen suhteen tuottaa kaikki periytyvät ja Li :lle spesifiset attribuutit Toimii sekä erillisillä, päällekkäisillä, täydellisillä että osittaisilla optioilla 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

... EER-to-relational (10/14) 8B Luo relaatio Li jokaiselle aliluokalle Si, jolla attribuutit {Si :n attribuutit }  {k, a1 , a2 , ..., an} ja PK(Li)=k Toimii hyvin vain täydellisillä ja erilisillä optioilla Ongelmatapaukset Osittainen hierarkia & entiteetti ei kuulu mihinkään aliluokkaan  entiteetti menetetään Päällekkäinen hierarkia entiteetti kuuluu moneen aliluokkaan  perityt attribuutit toistetaan alirelaatioissa Li  redundanssia Yliluokan entiteetit eivät esiinny suoraan missään relaatiossa OUTER UNION kaikille tuottaa yliluokan entiteetit Tietyn instanssin C haku vaatii kaikkien Li :den haun 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

... EER-to-relational (11/14) 8C Luo yksi relaatio L, jolla attribuutit {k, a1 , a2 , ..., an}  {Si :n attribuutit} ... {Sm:n attribuutit}  {t}; ja PK(L)=k t = tyyppiattribuutti, joka ilmoittaa aliluokan johon tupla kuuluu Aliluokkien oltava erilliset 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

... EER-to-relational (12/14) 8D Luo yksi relaatio L, jolla attribuutit {k, a1 , a2 , ..., an}  {Si :n attribuutit} ... {Sm :n attribuutit}  {t1 , t2 , ..., tm}; ja PK(L)=k ti = Boolen-attribuutti, joka ilmoittaa kuuluuko tupla aliluokkaan Si Päällekkäisille aliluokille 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

... EER-to-relational (13/14) (kuva 7.5) Ratkaisuista 8A-8D C- ja D-kohtia ei suositella, jos aliluokilla on paljon spesifisiä attribuutteja  paljon NULL-arvoja Jaettujen aliluokkien kuvaaminen relaatioiksi Luokilla oltava sama avain, muuten mallinnetaan kategoriana Hierarkian ja hilan kuvauksessa voidaan käyttää eri osissa eri optioita, yleensä vaihtoehto 8A Katso kuva 7.5, jossa työntekijähila (kuva 4.7) on toteutettu usealla tavalla Esim. ENGINEER_MANAGER 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto

...EER-to-relational (14/14) (kuva 7.6) Vaihe 9: Kategorioiden kuvaaminen relaatioiksi Voi olla useita avaimia yliluokilla (OWNER-esim; kuva 4.8) Jos eri avaimia: määritellään uusi (sijais)avain joka esiintyy vierasavaimena yläluokkien relaatioissa Jos sama avain: ei tarvita ylimääräistä avainta 2004 © Antti Tuomisto, 2001 © Jukka Teuhola muokattu 2005 (Tommi Tapanainen) Tietojenkäsittelytieteet, Turun yliopisto