Looginen suunnittelutMyn1 Looginen suunnittelu •Tässä lähdetään liikkeelle käsitemallista. •Laaditaan sisällöstä ja rakenteesta loogisen tason kuvaus,

Slides:



Advertisements
Samankaltaiset esitykset
DRAMATURGIAN PERUSKÄSITTEISTÖÄ
Advertisements

Rajapintaluokat Rajapintaluokka luettelee metodit, joille tulee löytyä toteutus asianomaisen rajapinnan toteuttavista luokista. Rajapintaluokka on siis.
ER-mallista relaatiomalliin
Sähköpostiviestien uudelleenohjaus ohje Maks Larionov DP11LA.
Ohjelmiston tekninen suunnittelu
Jumalan kanssa.
Active directory.
NAO/Maija-Leena Haapa-alho
© Jukka Harju, Viittausmuuttujat. © Jukka Harju, Viittaukset •Viittausmuuttuja sisältää tiedon siitä missä muistipaikassa olio.
Datan määrittely, MySQL
Relaatiomalli •Ted Codd 1970 •Matemaattinen perusta •Helppo toteuttaa •Helppo omaksua •Käytetyin tietomalli •Muodostaa perustan kurssin myöhemmille asioille.
Tietokanta.
Standardimääritykset
4H-Yrityksen liiketoimintasuunnitelma
Tietokannan suunnittelu
Aggregaattifunktiot (1)
TIETOKANNAT BY KMALINEN.
Johdetun luokan määrittely tMyn1 Johdetun luokan määrittely •Kun johdettu luokka periytetään kantaluokasta, saadaan kantaluokan jäsenet enemmän tai vähemmän.
Duaali Teemu Myllynen.
Antti-Jussi Lakanen Nuorten peliohjelmointi 2009 / Jyväskylän yliopisto.
Tietojärjestelmän suunnittelu
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.
CSC / Tietohallinnon asiakkaat ja tuotteet / Teemu Kemppainen Aikataulu 09:00-09:30Mallin kehitys versioon 1 ja tästä eteenpäin; UML-notaatio.
Fi.opasnet.org fi.opasnet.org/fi/Ydinvoima Haluamme tietää Sinun mielipiteesi. Äänestikö kansanedustajasi oikein ydinvoimasta? Kansalaisparlamentti ydinvoimasta.
Lapin sairaanhoitopiiri Tietohallintastrategia 2007–2011.
HALLITUKSEN PUHEENJOHTAJA VASTUUALUE 1VASTUUALUE 3 VASTUUALUE 4 VASTUUALUE 2 SIHTEERI MALLISEURA RY / HALLITUS - dynaamisen organisaatiokaavion esittely.
TyyppimuunnoksettMyn1 Tyyppimuunnokset Joskus kääntäjän on tehtävä itse päätöksiä, jos ohjelmoija ei ole ajatellut yksityiskohtia: int arvo1=10; long arvo2=25;
VINKIT HAASTATTELIJALLE
Kuvan tuominen sivulle Työvaiheet käytettäessä Kuvanhallinta-toimintoa: 1. Ladataan kuvatiedosto oman tietokoneen hakemistosta sivustolle 2. Liitetään.
Normalisointi Normalisointi liittyy ”bottom-up” –menetelmään.
2. Vuokaaviot.
Relaatioalgebra (1) Kokoelma relaatioiden käsittelyyn tarkoitettuja operaatioita Operaatiot muuntavat relaatioita uusiksi relaatioiksi Muodostaa perustan.
Normalisointi2tMyn1 Yksi kelpo perusavain on sarakkeet laakNro ja vastAika. Toinen voisi olla potNro ja vastAika, kolmas voisi olla huoneNro ja vastAika,…,
Tietokanta-analyysi, suunnittelu ja toteutus
Map-luokka Mikä Map on? Mapin esittely ja luonti Map-luokan metodeja Mappiin lisääminen Mapin läpikäynti Mapista poistaminen 1.
Erilaiset liitokset FROM-osassa voidaan määritellä relaatio myös erilaisia liitosoperaatioita käyttäen Vasen, oikea ja täysi puoliliitos eli ulkoliitos.
Viitelistat tietopalvelusta tilauksesta –kenelle ja miten Leena Koivula HY:n käyttäytymistieteellisen tiedekunnan kirjasto Arja Niskala HY:n oikeustieteellisen.
Datan käsittely MySQL SQL, Structured Query Language
Käsitemallin suunnittelu
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.
4-Tietokantaohjelmointi Teuhola Tietokantasovellusten ohjelmointi Taustaa 4.1. Relaatioskeemaa täydentäviä piirteitä 4.2. Sulautettu SQL, Java.
Muunnos luokkakaaviosta relaatiokaavioon
Global Grant -apuraha ulkomailla tapahtuvaa akateemista jatkokoulutusta varten Global Grant Scholarship- apuraha.
Tietokannan luominen Tietokanta luodaan komennolla CREATE DATABASE
4. Attribuutit 4.1. Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Tietokannan normalisointi
Tietokannat –kurssi SQL peruskyselyt
6. Relaatioalgebra ja relaatiokalkyyli
LISp_miner ohjelman voi ladata osoitteesta: Sijoita se asemaan C:\ Olkoon meillä seuraava tenttiä koskeva tiedosto (tekstitiedosto.
Testaus Testaus Testauksella pyritään löytämään virheitä, jotka sitten korjataan. Yksittäinen testi on yleensä ohjelman suoritus (tietyillä.
Rinnakkaisuus Järjestelmässä, jossa voi olla useita prosesseja rinnakkain suorituksessa voi tulla tilanteita, joissa prosessien suoritusta täytyy kontrolloida.
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.
Kontrollirakenteet laajemmin
Sidosryhmät.
Kehittävän asiantuntija-verkostotyön malli TATU – tartu tutkintoon!
Johdetun luokan olion alustus tMyn1 Johdetun luokan olion alustus määrätyillä arvoilla Kun ohjelmassa esiintyy johdetun luokan olion määrittely, järjestelmä.
Fyysinen suunnittelutMyn1 Fyysinen suunnittelu Tässä lähdetään liikkeelle tietokannan loogisesta mallista. Nyt pitää olla tiedossa valittava DBMS-tuote.
Henkilökunnan Ekokompassi- koulutus Tapahtuman nimi, pvm Kouluttaja.
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.
TIETOTURVA INTERNETISSÄ. MITÄ ON TIETOTURVA? Tietoturvalla pyritään suojaamaan yritykselle tärkeitä tietoja ulkopuolisilta. Tietoturvalle on asetettu.
Yksi kelpo perusavain on sarakkeet laakNro ja vastAika
(Ravintolatietokanta) Paikkatietojärjestelmä ”Paikkari”
Rajapintaluokat Rajapintaluokka luettelee metodit, joille tulee löytyä toteutus asianomaisen rajapinnan toteuttavista luokista. Rajapintaluokka on siis.
Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö
Kontrollirakenteet laajemmin
Esityksen transkriptio:

Looginen suunnittelutMyn1 Looginen suunnittelu •Tässä lähdetään liikkeelle käsitemallista. •Laaditaan sisällöstä ja rakenteesta loogisen tason kuvaus, esim. relaatiokuvaus, jos tavoitteena on relaatiotietokanta. •Tässä vaiheessa ei pitäisi olla mitään riippuvuutta mihinkään tiettyyn DBMS:ään vaikkakin tiedossa siis on, että tietokantajärjestelmään tullaan valitsemaan relaatiotietokanta, hierarkkinen tietokanta, oliotietokanta tms. •Normalisointitekniikkaa käytetään testaamaan loogisen tietokantamallin oikeellisuutta.

Looginen suunnittelutMyn2 •Loogisen mallin rakentamisen vaiheisiin kuuluu ainakin –Poistetaan käsitemallista ne piirteet, jotka eivät sovellu relaatiotietokantajärjestelmään (jos siis on päädytty relaatiotietokantaratkaisuun periaatetasolla) –Muodostetaan loogisen tason taulut –Validoidaan relaatiot normalisointitekniikalla –Määritellään eheysvaatimukset –Tarkistetaan, että saatu ratkaisu täyttää vaatimusmäärittelyn asettamat vaatimukset

Looginen suunnittelutMyn3 •Tarkastellaan erikseen eheysvaatimusten täyttämistä. •Eheys hoidetaan perus- ja viiteavainten avulla. •Otetaan esimerkkinä isätauluksi Henkilokunta ja lapsitauluksi Vuokrattavat. Olkoot ne tässä muotoa: Henkilokunta(hloNro, nimi, asema) Perusavain hloNro Vuokrattavat(tilaNro, osoite, hloNro) Perusavain tilaNro Viiteavain hloNro, joka viittaa Henkilokunta(hloNro)- sarakkeeseen

Looginen suunnittelutMyn4 •Tapaus 1: Lisätään rivi (INSERT) lapsitauluun Eheysvaatimus: viiteavaimen arvoksi on annettava NULL tai sitten jokin isätaulun perusavaimen arvo •Tapaus 2: Poistetaan (DELETE) rivi lapsitaulusta Eheysvaatimus: ei edellytä toimenpiteitä •Tapaus 3: Muutetaan (UPDATE) viiteavaimen arvo lapsitaulussa Eheysvaatimus: sama kuin kohdassa 1

Looginen suunnittelutMyn5 •Tapaus 4: Lisätään uusi rivi (INSERT) isätauluun Eheysvaatimus: ei edellytä toimenpiteitä •Tapaus 5: Poistetaan rivi (DELETE) isätaulusta. Eheysvaatimus: Eheys menetetään, jos lapsitaulussa on rivi, joka viittaa tähän poistettavaan riviin. Nyt on useampi tapa reagoida asiaan:

Looginen suunnittelutMyn6 •NO ACTION, RESTRICT Tämä tarkoittaa, että isätaulun rivin poistaminen estetään, jos lapsitaulussa on rivi, joka viittaa tähän poistettavaan riviin. Esim. ei voida poistaa Henkilokunta- taulusta riviä, jos kyseinen henkilö hoitaa jotakin vuokrattavaa kohdetta (taulu Vuokrattavat). •CASCADE Tämä valinta tarkoittaa, että jos isätaulusta poistetaan rivi, niin sitten poistetaan myös se rivi lapsitaulusta, joka viittaa tähän poistettavaan riviin isätaulussa. Tämä menee tarvittaessa eteenpäin: jos lapsitaulu on edelleen isätauluna toiselle lapsitaululle…

Looginen suunnittelutMyn7 •Henkilokunta – Vuokrattavat –esimerkissä: Jos isätaulusta poistetaan rivi (yksi henkilökunnan jäsen), niin sitten poistetaan myös kaikki ne kohteet (Vuokrattavat) joita hän mahdollisesti hallinnoi. Ei ole järkevä strategia tässä tapauksessa… •SET NULL Jos isätaulusta poistetaan rivi (yksi henkilökunnan jäsen), niin sitten lapsitaulussa kaikki vastaavat viiteavaimet saavat arvon NULL. Tulkinta: Jos henkilö jättää yrityksen, niin sitten hänen hallinnoimansa kohteet eivät ole enää kenenkään hoidettavana. Tämä valinta on mahdollinen, jos viiteavaimen arvoalueen yhtenä attribuuttina on NULL.

Looginen suunnittelutMyn8 •SET DEFAULT Kun isätaulun rivi poistetaan, niin sitten lapsitaulun vastaavien rivien viiteavaimet asetetaan oletusarvoikseen. Henkilokunta – Vuokrattavat –esimerkissä: Jos isätaulusta poistetaan rivi (yksi henkilökunnan jäsen), niin sitten tämän henkilön hallinnoimat kohteet annetaan jollekin toiselle henkilölle (konttoripäällikkö tms.) hoidettavaksi. Tämä valinta on mahdollinen, jos viiteavaimen arvoalueen yhtenä attribuuttina on määritelty jokin DEFAULT-arvo.

Looginen suunnittelutMyn9 •Tapaus 6: Muutetaan (UPDATE) isätaulun perusavaimen arvo. Eheysvaatimus: Jos mitään ei tehdä lapsitaulun sen rivin viiteavaimelle, joka viittaa tähän poistettavaan perusavaimeen isätaulussa, niin eheys menetetään. Yllä esitetyistä vaihtoehdoista (NO ACTION, CASCADE, SET NULL, SET DEFAULT) luontevin lienee CASCADE.

Looginen suunnittelutMyn10 •Valmis looginen suunnitelma voisi näyttää seuraavanlaiselta. Mukana on relaatiokuvaukset avaimineen ja UML-kaavio relaatioista.

Looginen suunnittelutMyn11 Toimipiste (tpNro, katuOs, kaupunki, postiNro, joHloNro) Primary Key tpNro Foreign Key joHloNro references Johtaja(hloNro) ON UPDATE CASCADE ON DELETE RESTRICT Henkilokunta(hloNro, eNimi, sNimi, asema, sPuoli, sAika, palkka, ryhmaPaallHloNro, tpNro) Primary Key hloNro Foreign Key ryhmaPaallHloNro references Henkilokunta(hloNro) ON UPDATE CASCADE ON DELETE RESTRICT Foreign Key tpNro references Toimipiste(tpNro) ON UPDATE CASCADE ON DELETE RESTRICT yksityisOmistaja(omistajaNro, eNimi, sNimi, osoite, puhNro) Primary Key omistajaNro

Looginen suunnittelutMyn12 Vuokrattavat(tilaNro, katuOs, kaupunki, postiNro, tyyppi, huoneLkm, vuokra, omistajaNro, hloNro, tpNro) Primary Key tilaNro Foreign Key omistajaNro references yksityisOmistaja(omistajaNro) AND yritysOmistaja(omistajaNro) ON UPDATE CASCADE ON DELETE RESTRICT Foreign Key hloNro references Henkilokunta(hloNro) ON UPDATE CASCADE ON DELETE RESTRICT Foreign Key tpNro references Toimipiste(tpNro) ON UPDATE CASCADE ON DELETE RESTRICT Puhelin(puhNro, tpNro) Primary Key puhNro Foreign Key tpNro references Toimipiste(tpNro) ON UPDATE CASCADE ON DELETE RESTRICT Johtaja(hloNro, johtAloitPva, bonus) Primary Key hloNro Foreign Key hloNro references Henkilokunta(hloNro) ON UPDATE CASCADE ON DELETE RESTRICT

Looginen suunnittelutMyn13 yritysOmistaja(omistajaNro, yrNimi, yrTyyppi, yhteysHlo, osoite, puhNro) Primary Key omistajaNro Esittely(asiakasNro, tilaNro, esPaiva, komm) Primary Key asiakasNro, tilaNro Foreign Key asiakasNro references Asiakas(asiakasNro) ON UPDATE CASCADE ON DELETE RESTRICT Foreign Key tilaNro references Vuokrattavat(tilaNro) ON UPDATE CASCADE ON DELETE RESTRICT Asiakas(asiakasNro, eNimi, sNimi, puhNro, paremm, maxV) Primary Key asiakasNro

Looginen suunnittelutMyn14 Vuokrasopimus(sopimusNro, maksutapa, takuusumma, alkPaiva, lopPaiva, asiakasNro, tilaNro) Primary Key sopimusNro Foreign Key asiakasNro references Asiakas(asiakasNro) ON UPDATE CASCADE ON DELETE RESTRICT Foreign Key tilaNro references Vuokrattavat(tilaNro) ON UPDATE CASCADE ON DELETE RESTRICT Mainos(tilaNro, slehdenNimi, pvm, kustannus) Primary Key tilaNro, slehdenNimi, pvm Foreign Key tilaNro references Vuokrattavat(tilaNro) ON UPDATE CASCADE ON DELETE RESTRICT Foreign Key slehdenNimi references Sanomalehti(slehdenNimi ) ON UPDATE CASCADE ON DELETE RESTRICT Sanomalehti(slehdenNimi, osoite, puhNro, yhteysHlo) Primary Key slehdenNimi

Looginen suunnittelutMyn15 Rekisterointi(asiakasNro, tpNro, hloNro, pvm) Primary Key asiakasNro Foreign Key asiakasNro references Asiakas(asiakasNro) ON UPDATE CASCADE ON DELETE RESTRICT Foreign Key tpNro references Toimipiste(tpNro) ON UPDATE CASCADE ON DELETE RESTRICT Foreign Key hloNro references Henkilokunta(hloNro) ON UPDATE CASCADE ON DELETE RESTRICT

Looginen suunnittelutMyn16 hloNro {PK} ryhmaPaallHloNro {FK} tpNro {FK} Henkilokunta tpNro {PK} joHloNro {FK} Toimipiste puhNro {PK} tpNro {FK} Puhelin Johtaja hloNro {PK, FK} asiakasNro {PK, FK} tpNro {FK} hloNro {FK} Rekisterointi Vuokrattavat tarjoaa * rekisteröi 1..* * toimipisteessä on 0..* 1..1 hoitaa valvoo IS A 1..1 johtaa * toimipisteellä on hallinnoi Vuokrattavat Asiakas 1..1 sopii

Looginen suunnittelutMyn17 Asiakas asiakasNro {PK} sopimusNro, {PK} asiakasNro {FK} tilaNro {FK} Vuokrasopimus asiakasNro {PK, FK} tilaNro {PK, FK} Esittely Vuokrattavat tilaNro {PK} omistajaNro {FK} hloNro {FK} tpNro {FK} yksityisOmistaja omistajaNro {PK} yritysOmistaja omistajaNro {PK} tilaNro, {PK, FK} slehdenNimi {PK, FK} pvm {PK} Mainos Sanomalehti slehdenNimi {PK} mainostaa * * laitetaan mukaan 1..* * 0..1 omistaa * otetaan mukaan Toimipiste tarjoaa 1..* 0..* 1..1 vuokrattu Henkilokunta hallinnoi pyytää * on voimassa * Rekisterointi sopii