1 / 27

Muunnos luokkakaaviosta relaatiokaavioon

Muunnos luokkakaaviosta relaatiokaavioon. Muunnos luokkakaaviosta relaatiokaavioon. Järjestelmän määrittelyn yhteydessä järjestelmän tietosisältö voidaan määrittellä luokkakaavion avulla

Download Presentation

Muunnos luokkakaaviosta relaatiokaavioon

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 Harjoitusryhmä 1..n 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 olioluokkaavastaa samanniminen taulu • Kullakin luokan yksiarvoisella attribuutillaon 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 oppiarvo henkilö hetu viiteavain

  15. Monen suhde moneen yhteydet • Kutakin monen suhde moneenyhteyttä 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ä

More Related