Muunnos luokkakaaviosta relaatiokaavioon

Slides:



Advertisements
Samankaltaiset esitykset
Tuloksellinen Java-ohjelmointi Luku 3 Luokkien käyttäminen
Advertisements

Rajapintaluokat Rajapintaluokka luettelee metodit, joille tulee löytyä toteutus asianomaisen rajapinnan toteuttavista luokista. Rajapintaluokka on siis.
1 Opiston Moodleopas KALVOSTO 3 – KURSSIN MUOKKAAMINEN KTOL:n Moodle-työryhmä Olli Ruohomäki.
– Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä.
ER-mallista relaatiomalliin
Koostumussuhde Jukka Juslin © Jukka Juslin.
Ohjelmiston tekninen suunnittelu
Moodlen ohje opiskelijoille
@ Leena Lahtinen Helia TIETO JA TIETOKONEOHJELMA  TIETOKONEOHJELMA KÄSITTELEE TIETOJA  TIETOJA VOIDAAN KÄSITELLÄ OHJELMASSA VAIN SALLITUILLA.
Tietojärjestelmät 2.
Relaatiomalli •Ted Codd 1970 •Matemaattinen perusta •Helppo toteuttaa •Helppo omaksua •Käytetyin tietomalli •Muodostaa perustan kurssin myöhemmille asioille.
Entity-Relationship Diagrams ER-mallit Käsitemallit Kohde-suhde-kaavio
Tietokanta.
Looginen suunnittelutMyn1 Looginen suunnittelu •Tässä lähdetään liikkeelle käsitemallista. •Laaditaan sisällöstä ja rakenteesta loogisen tason kuvaus,
Tietokannan suunnittelu
Tapahtumasekvenssit = Käyttötapausten realisointi
Olio-ohjelmointi. Mitä olio-ohjelmointi on ?  Pyritään mallintamaan jotain reaalimaailman kohdetta tietokoneohjelman avulla  Olio on luokan ilmentymä.
Aggregaattifunktiot (1)
5 Toimintojen ja tietojen kuvaus
Olio-mallinnus Tietojärjestelmien suunnittelu KYAMK, Liiketalous, Kouvola Jarkko Ansamäki, 2002.
Sisältö: Johdanto kryptografiaan Salakirjoitus
Michael Sundvist, Jussi Huttunen, Tommi Vekkilä, Antti Raessalo TV10s1
OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT. LUOKKA JAVA ohjelma koostuu luokista LUOKKA sisältää metodeja molemmat sisältävät attribuutteja eli muuttujia.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
VB:n tietokantakäsittely
Osaamisenhallintajärjestelmä ”Komppari” (kompetenssien hallintajärjestelmä) Jouni Huotari & IDM6S1 Versio 0.3 ( ): lisätty käsitemallista versio,
Oliomallittaminen ja UML
TIETO JA TIETOKONEOHJELMA TIETOKONEOHJELMA KÄSITTELEE TIETOJA TIETOJA VOIDAAN KÄSITELLÄ OHJELMASSA VAIN SALLITUILLA MENETELMILLÄ.
© Jukka Harju, Jukka Juslin
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.
Kalenteri 2005 AJAVA – Ajanvarausjärjestelmä CSP Compact Software Products.

Kuinka tehdä blogi o365:ssä
Miika Nurminen, Kerho -alusta() : void +lue_tiedostosta(tied : String) : String +talleta() : String +kerhon_nimi(): String +jasenia() : int +poista(nro:
Käyttötapauskaavio ja käyttötapaukset
SQL Standardoitu kieli, jonka avulla voidaan
© 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
Käsitteellisen mallinnuksen tekniikkaa
4. Attribuutit 4.1. Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2.
5. Kapselointi Yleistä Kapseloinnilla (encapsulation) tarkoitetaan luokan tietojen ja toimintojen pakkaamista yhdeksi suojatuksi kokonaisuudeksi.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Tietokannan normalisointi
Tietokannat –kurssi SQL peruskyselyt
6. Relaatioalgebra ja relaatiokalkyyli
Komponenttipohjainen ohjelmistotekniikka (TJTSS56) Osa 4 Kevätlukukausi 2010 Jyväskylän yliopisto Tietojenkäsittelytieteiden laitos Markku Sakkinen.
5. Lineaarinen optimointi
Mallinnustavat.
Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö
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.
Johdetun luokan olion alustus tMyn1 Johdetun luokan olion alustus määrätyillä arvoilla Kun ohjelmassa esiintyy johdetun luokan olion määrittely, järjestelmä.
Java - Tietokanta. JDBC=Java database connectivity  ODBC:n kaltainen ohjelmointiliittymä SQL- tietokantoihin  Koostuu Java-kehitysympäristön (esim.
Karteesinen tulo Huomaa attribuuttien nimien tarkentaminen taulujen nimillä.
Käyttöönottokaavio– Deployment diagram Vesa Jokikokko Tarmo Kemi TIK9SNA.
1 © Jukka Juslin Luokat, attribuutit ja metodit Yleistietoa: seuraavalla koulutusviikolla tarkempi käsittely.
Tietokannat -kurssi KSAO, Datanomit, käytön tuki kevät 2015 Lauri Tapola.
8. Periytyminen Sisällys Mitä on periytyminen? Yksittäis- ja moniperiytyminen. Oliot ja perityt luokat. Periytymisen käyttö.
DTD rakenne ELEMENT elementtien määrittely ATTLISTattribuuttien määrittely ENTITYentiteettien määrittely NOTATIONnotaatioiden määrittely.
Tietokantapalvelimet Ville Parviainen. Sisältö Yleistä tietokannoista SQL PostgreSQL MySQL MySQL vs. PostgreSQL Linux -työ.
MapInfon tiedostot TAB – Tiedosto, jonka avulla tietokanta avataan MapInfossa. Tiedostossa tietoja kentistä ja koordinaattijärjestelmästä. DAT, XLS. TXT.
UML-luokkakaavio ● Luokkakaavio (class diagram) kuvaa järjestelmän luokkarakennetta ● Mitä luokkia on olemassa ● Minkälaisia luokat ovat ● Luokkien suhteet.
5. Kapselointi.
Tietomallista tietokannaksi
Rajapintaluokat Rajapintaluokka luettelee metodit, joille tulee löytyä toteutus asianomaisen rajapinnan toteuttavista luokista. Rajapintaluokka on siis.
SQL Trainer systeemiarkkitehtuuri
– Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä
WinOodi versio 5.1 OPIT/Katri L
Esityksen transkriptio:

Muunnos luokkakaaviosta relaatiokaavioon

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

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

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ä

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

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

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

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

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ä

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

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

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

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

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

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.

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

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

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.

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.

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

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

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

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

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.

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

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

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ä