Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Muunnos luokkakaaviosta relaatiokaavioon

Samankaltaiset esitykset


Esitys aiheesta: "Muunnos luokkakaaviosta relaatiokaavioon"— Esityksen transkriptio:

1 Muunnos luokkakaaviosta relaatiokaavioon

2 Muunnos luokkakaaviosta relaatiokaavioon
Järjestelmän määrittelyn yhteydessä järjestelmän tietosisältö voidaan määrittellä luokkakaavion avulla Luokkakaavio kuvaa tällöin kuvaa järjestelmän pysyväisluonteisia (persistent) tietoja - tietojen on säilyttävä ohjelman suorituskertojen välillä Luonteva paikka säilyttää olioiden tila on tietokanta: oliorakenteinen tietokanta (oliotietokanta) relaatiotietokanta

3 Muunnos luokkakaaviosta relaatiokaavioon
relaatiotietokanta standardoitu SQL ja liittymät perinteisiin ohjelmointikieliin ei suoraa tukea olioiden välisille yhteyksille ei luokkahierarkiaa eikä periytymistä vain data ei toimintoja uusimmissa tkhj:ssä mukana oliopiirteitä edellyyttää muunnosta oliorakenteista relaatiorakenteiksi

4 Muunnos luokkakaaviosta relaatiokaavioon
Lähtökohtana normalisoitu luokkakaavio = tiettyjä sääntöjä noudattava kaavio Yhteydet näkyviä, ei attribuuteiksi piilotettuja Kukin asia esitetään vain kertaalleen Ei johdettavissa / pääteltävissä olevaa tietoja Yhteydet määritelty oikeiden osapuolten välillä

5 Yhteydet piilotettu Olioiden välinen kytkentä esitetään aina yhteytenä, sitä ei piiloteta ominaisuudeksi (attribuutiksi) Kurssi Opettaja Nimi Opettajan_nimi Kytkentä on piilotettuna kurssin attribuuttiin opettajan_nimi

6 Yhteyden piilotus Olioiden välinen kytkentä esitetään aina yhteytenä, sitä ei piiloteta ominaisuudeksi (attribuutiksi) Kurssi Opettaja Nimi Opettajan_nimi opetus Kurssi

7 Asiat esitetään vain kertaalleen
Samaa asiaa ei pidä esittää sekä yhteytenä että ominaisuutena tilaaja 0..n 1 Tilaus Tilaajan_nimi Asiakas Nimi

8 Ei esitetä johdettavissa olevaa tietoa
tulisi selvittää mitkä tiedot ovat perustietoja ja mitkä voidaan päätellä (laskea) muiden tietojen perusteella attribuutin arvo tai yhteyden olemassaolo voi olla pääteltävissä Opiskelija nimi …. Kurssi nimi ilmoittautuneiden_lkm ilmoittautunut 0..n 0..n laskettavissa

9 Ei esitetä johdettavissa olevaa tietoa
Kurssi 1..n Harjoitusryhmä 0..n 0..n ryhmässä 1..n kurssilla Opiskelija 1..n Kurssilla-yhteys on pääteltävissä, jos jokaisen kursillaolijan on oltava jossain ryhmässä

10 Muunnoksen perussäännöt:
Kutakin olioluokkaa vastaa samanniminen taulu Kullakin luokan yksiarvoisella attribuutilla on samanniminen vastinsarake luokkaa vastaavassa taulussa Luokan tunnistavia attribuutteja vastaavat sarakkeet kuuluvat luokkaa vastaavan taulun avaimeen

11 Luokkakaavio: Vippi oy
laina lainanro {id} summa 1 0..* 1..* pantti kuittinro{id} tyyppi ikä arvo asiakas hetu {id} nimi osoite 1 {id} 1..* 0..* maksusuunnitema nro {+id} korko arvioija 1..* 0..* virkailija nro {id} nimi 1 hyväksyjä {id} erä eräpvm {id} maksupvm summa 1..*

12 Relaatiorakenteen ydin - jokaista luokkaa vastaa taulu
laina lainanro summa pantti kuittinro tyyppi ikä arvo asiakas hetu nimi osoite maksusuunnitema nro korko virkailija nro nimi erä eräpvm maksupvm summa

13 Kokoelma-attribuutit
Kutakin kokoelma-attribuuttia (moniarvoista) vastaa taulu, jonka sarakkeina ovat viiteavain kokoelmatyyppisen attribuutin sisältävää luokkaa vastaavaan tauluun, sarake attribuutin arvoa varten. Taulun kaikki sarakkeet kuuluvat avaimeen

14 Kokoelma-attribuutit
Vippi oy:n esimerkissä ei ole kokoelma-attribuutteja esim: henkilö hetu (id) oppiarvo [ ] moniarvoinen oppiarvo hetu henkilö hetu viiteavain

15 Monen suhde moneen yhteydet
Kutakin monen suhde moneen yhteyttä vastaa taulu Taulun nimi = yhteyden nimi Taulun sarakkeina ovat yhteyden osapuoliin osoittavat viiteavaimet. Taulun kaikki sarakkeet kuuluvat taulun pääavaimeen monen suhde moneen yhteys on yhteys, jossa kummankin osapuolen maksimiosallistumisrajoite on suurempi kuin 1.

16 Monen suhde moneen yhteydet
pantti kuittinro (id) tyyppi ikä arvo 0..* arvioija 1..* virkailija nro (id) nimi

17 Monen suhde moneen yhteydet
laina lainanro summa pantti kuittinro tyyppi ikä arvo asiakas hetu nimi osoite maksusuunnitema nro korko virkailija nro nimi arvioija kuittinro virkailija_nro erä eräpvm maksupvm summa

18 Yhden suhde moneen yhteydet
Vaihtoehto 1: Lisää yhteyskumppaniin osoittava viiteavain sitä osapuolta vastaavaan tauluun, jolla on korkeintaan yksi kumppani Jos kookoonpanoyhteydessä kokoonpanon osien tunnistamiseen tarvitaan tieto kokonaisuudesta, niin lisätty viiteavain kuuluu taulun avaimeen. Tällaisessa tilanteessa ei ole muita vaihtoehtoja.

19 Yhden suhde moneen yhteydet
Vaihtoehto 2: Toimi kuten monen suhde moneen yhteyksien kohdalla ja tee yhteyttä varten erillinen taulu Taulujen määrän minimoimiseksi vaihtoehtoa 1 tulisi suosia, ellei siitä seuraa epäedullisia viittaussyklejä taulujen välille.

20 Yhden suhde moneen yhteydet
1 0..n laina lainanro (id) summa 1..n pantti kuittinro (id) tyyppi ikä arvo asiakas hetu (id) nimi osoite 1 1..n 0..n maksusuunnitema nro (id*) korko arvioija 1..n 0..n virkailija nro (id) nimi 1 hyväksyjä erä eräpvm (id*) maksupvm summa 1..n

21 laina lainanro summa asiakas pantti kuittinro tyyppi ikä arvo lainanro asiakas hetu nimi osoite maksusuunnitema lainanro nro korko hyväksyjä virkailija nro nimi arvioija kuittinro virkailija_nro erä lainanro nro eräpvm maksupvm summa

22 Yhden suhde yhteen yhteydet
Vaihtoehtoja: Lisää yhteyskumppaniin osoittava viiteavain yhteyden toista osapuolta vastaavaan tauluun ensisijaisesti sille, jolle yhteys on pakollinen jos yhteys on pakollinen molemmille, valitse kumpi tahansa Tee erillinen taulu, kuten monen suhde moneen tapauksessa. jos yhteys on molemmille osapuolille valinnainen

23 Yhden suhde yhteen yhteydet
1 0..1 ajokortti ajokorttinro (id) ... henkilö hetu (id) nimi vaimo 0..1 naimisissa 0..1 aviomies naimisissa vaimo aviomies henkilö hetu nimi ajokortti ajokorttinro hetu ...

24 Yleistyshierarkia Vaihtoehto 1: Taulu sekä ala- että yläluokalle. Alaluokan tauluun sijoitetaan yläluokan tauluun osoittava viiteavain. Jos yläluokalla on käyttäjän määrittelemiä tunnistavia attribuutteja otetaan viiteavain alaluokan taulun avaimeksi. Jos yläluokan taululla ei ole käyttäjän määrittämää tunnistavaa attribuuttia, joudutaan sille luomaan keinotekoinen avain. Tätä ei oteta alaluokan taulun avaimeksi, jos alaluokalle on määritelty tunnistavia attribuutteja.

25 Yleistyshierarkia oik_henkilö omist. osake nippu (id) 0..* henkilö
hetu (id) yritys rekno (id) pienyritys

26 Yleistyshierarkia käytetty keinotekoista avainta omist. osake rekno
nippu oik_henkilö oh_nro henkilö hetu oh_nro yritys rekno oh_nro pienyritys rekno upotettu yläluokan avain

27 Yleistyshierarkia Vaihtoehto 2: Alaluokalle ei tehdä omaa taulua, vaan alaluokan tauluun loogisti kuuluvat sarakkeet upotetaan yläluokan tauluun. työntekijä hetu (id) nimi työntekijä hetu nimi alaisten_lukumäärä johtaja alaisten lukumäärä


Lataa ppt "Muunnos luokkakaaviosta relaatiokaavioon"

Samankaltaiset esitykset


Iklan oleh Google