Tietokannan suunnittelu

Samankaltaiset tiedostot
Tietokannan suunnittelu

Tietokannan rakenteen suunnittelu

HELIA 1 (20) Outi Virkki Tiedonhallinta

Luento 3 Tietokannan tietosisällön suunnittelu

HELIA 1 (17) Outi Virkki Tiedonhallinta

HELIA 1 (19) Outi Virkki Tietokantasuunnittelu

HELIA TIKO-05 1 (28) ICT03D Tieto ja tiedon varastointi O.Virkki

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

TIEDONHALLINTA - SYKSY Luento 7. Pasi Ranne /10/17 Helsinki Metropolia University of Applied Sciences

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

Tietokantojen suunnittelu, relaatiokantojen perusteita

HAAGA-HELIA TIKO-05 1 (19) ICT23a Tietokannan suunnittelu ja toteutus O.Virkki

HELIA 1 (14) Outi Virkki Tiedonhallinta

HELIA TIKO-05 1 (20) ICT03D Tieto ja tiedon varastointi O.Virkki

Tietokantasuunnittelun pääperiaatteena on tiedon toiston välttäminen. Tiedon toistumiseen liittyy monenlaisia ongelmia.

3. Käsiteanalyysi ja käsitekaavio

HAAGA-HELIA heti09 1 (27) ICT05 Tiedonhallinta ja tietokannat O.Virkki Relaatiomalli

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

HELIA 1 (12) Outi Virkki Tiedonhallinta

TIEDONHALLINTA - SYKSY Luento 2. Pasi Ranne /8/17 Helsinki Metropolia University of Applied Sciences

Tietomallit. Näkökulmat tietoon. Näkökulmat tietoon. Mitä malleja olisi tarjolla? Abstraktiotasot tiedon käsittelyssä

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

Korkeakoulujen yhteentoimivuusmalli

Tietokannan hallinta. Kevät 2004 Jan Lindström R&G Chapter 1

On autoja, henkilöitä, Henkilöllä on nimi Autolla on omistaja, joka on henkilö. Taulu AUTO(rekno, malli) Taulu HENKILO(nimi, )

Jouni Huotari & Ari Hovi. Käsitemallinnuksesta relaatiokantaan KÄSITEMALLI. LOOGINEN MALLI: tietomalli valittu. FYYSINEN MALLI: DBMS valittu

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Relaatiomallin peruskäsitteet Harri Laine 1. Relaatiotietokannat DONOTP

Mikä on tietomalli? Relaatiomallin käsitteitä 1/2 (kuva 5.1) Relaatiomallin taustaa

Tietomallit. Näkökulmat tietoon. Näkökulmat tietoon. Näkökulmat tietoon. Abstraktiotasot tiedon käsittelyssä

Helsingin yliopisto/tktl Tietokantojen perusteet, k 2003 Relaatiomallin peruskäsitteet Harri Laine 1. Tietomallit. Näkökulmat tietoon

millainen on se kohde, jota tiedoilla pitäisi kuvata asiat, joita pitäisi esittää Mitä tietoelementtien arvot tarkoittavat

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

Tietokantasuunnittelun pääperiaatteena on tiedon toiston välttäminen. Tiedon toistumiseen liittyy monenlaisia ongelmia.

Paikkatiedon mallinnus Dokumentoinnin ymmärtäminen. Lassi Lehto

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, k 2006 relaatioalgebra. Harri Laine 1

JHS 179 ICT-palvelujen kehittäminen: Kokonaisarkkitehtuurin kehittäminen Liite 2 Arkkitehtuurikehyksen kuvaus

Relaatiomalli ja -tietokanta

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2005 relaatiomalli Harri Laine 1.

Tietokantasuunnittelun pääperiaatteena on tiedon toiston välttäminen. Tiedon toistumiseen liittyy monenlaisia ongelmia

Ohjelmistojen mallintaminen, mallintaminen ja UML

HARJOITUS 2. Kasvattamot ja mittaukset

Tieto ohjelmassa ja tietokoneella

Helsingin yliopisto Tietojenkäsittelytieteen laitos (H.Laine) Tietokantojen perusteet. Liitteenä: Tiivistelmä SQL-syntaksista

TIETOKANNAN SUUNNITTELU

2. Käsiteanalyysi ja relaatiomalli

HAAGA-HELIA TIKO - Heti09 1 (22) ICT05 Tiedonhallinta ja Tietokannat E.Räty, O.Virkki, M.Laiho

Haaga-Helia / TIKO-05 1 (12) Tietokannan suunnittelu ja Toteutus Outi Virkki

Helsingin yliopisto, TKTL Tietokantojen perusteet, k 2004 Tietokannan suunnittelusta. Harri Laine 1

Arkkitehtuuripankki. Mallintamisen metamalli ja notaatiot

Helsingin yliopisto, TKTL Tietokantojen perusteet, k 2000 Tietokannan suunnittelusta Harri Laine 1

Oppijan palvelukokonaisuus. Tietomallinnuksen laaja katselmointi

Ohjelmistojen mallintaminen Luokkakaaviot Harri Laine 1

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

HELIA 1 (11) Outi Virkki Tiedonhallinta

Ohjelmistojen mallintaminen kertausta Harri Laine 1

Yhteentoimivuutta edistävien työkalujen kehittäminen - JulkICTLab pilottiehdotus

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2007 ER-mallin peruskäsitteet.

Relaatioista TIETOJENKÄSITTELYTIETEIDEN LAITOS, JUHA IISAKKA 11-14

Yhteentoimivuusalusta ja Sanastot-työkalu

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Luokkakaavion laatiminen

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

HELIA 1 (17) Outi Virkki Tiedonhallinta

IIO30100 Tietokantojen suunnittelu (6 op)

Analyysi on tulkkaamista

UML-kielen formalisointi Object-Z:lla

Mallinnus. 5. Järjestelmämallit. Abstraktiot. Mallinnuksen etuja. Arkkitehtuurimalli. Yhteysmallit. Ohjelmistotuotanto, järjestelmämallit Kevät 2005

5. Järjestelmämallit. Mallinnus

UML ja luokkien väliset suhteet

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

Ohjelmistojen mallintaminen, kesä 2010

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

Yhteydelle voi antaa nimen kumpaankin suuntaan Sille ei tarvise antaa lainkaan nimeä Yhteysnimen asemasta tai lisäksi voidaan käyttää roolinimiä

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

IIO30100 Tietokantojen suunnittelu (6 op)

JHS 179 ICT-palvelujen kehittäminen: Kokonaisarkkitehtuurimenetelmä

1. Tarkastellaan seuraavaa kaaviota

Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, , H.Laine

YHTEYSSUHDE (assosiation)

Semanttinen Web. Ossi Nykänen Tampereen teknillinen yliopisto (TTY), DMI / Hypermedialaboratorio W3C Suomen toimisto

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Tietokantakurssit / TKTL

Oppimisympäristöt. Kristiina Uolia CSC Suomalainen tutkimuksen, koulutuksen, kulttuurin ja julkishallinnon ICT-osaamiskeskus

TIETOKANTOJEN PERUSTEET OSIO 11 MARKKU SUNI

HELIA 1 (14) Outi Virkki Käyttöliittymät ja ohjlmiston suunnittelu

Katsaus tietoarkkitehtuurityöhön

Ohjelmistotekniikan menetelmät, kesä 2008

Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen

Keskustelutilaisuus ICT-palvelujen kehittäminen -suositussarjasta

Tieto/datamallit. Marttila-Kontio/Unicta Oy

GroupDesk Toiminnallinen määrittely

Yhteentoimivuusvälineistö

NORMALISOINTI TIETOJEN MALLINNUS JOUNI HUOTARI & ARI HOVI

Käsitteellinen mallintaminen

Johdatus sovellussuunnitteluun, s99, osa3 Helsingin yliopisto;/tktl Harri Laine 1. Olioiden väliset yhteydet. Olioiden väliset yhteydet

HAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät

Kirjoita jokaiseen erilliseen vastauspaperiin kurssin nimi, tenttipäivä, oma nimesi (selkeästi), opiskelijanumerosi ja nimikirjoituksesi

Ohjelmistojen mallintaminen, olioja relaatiomallinnuksen suhteesta

Transkriptio:

HELIA TIKO-05 1 (12) ICT03D Tieto ja tiedon varastointi Tietokannan suunnittelu Tietokannan suunnitteluprosessi... 2 Tavoitteet...2 Tietojärjestelmän suunnitteluprosessi...3 Abstraktiotasot tietokannan suunnittelussa...4 3-taso -malli...4 TIHA-standardi...5 Looginen mallintaminen... 6 Muunnos luokkakaaviosta relaatiokaavioksi 1.vaihe...7 Relaatiokaaviosta relaatiokaavoiksi 2.vaihe...9 Käsitekaavion ja relaatiokaavion eroja... 11 Käsitteitä... 12

HELIA TIKO-05 2 (12) ICT03D Tieto ja tiedon varastointi Tietokannan suunnitteluprosessi Tavoitteet 1. Tyydyttää käyttäjien tietotarpeet 2. Tiedon luotettavuus 3. Hyvä suorituskyky 4. Yhteensopivuus 5. Jatkokehitettävyys Vastaa todellisuuden rakennetta Eheä Yksinkertainen Ilmaisuvoimainen Ei toistoa Suunnittelumenetelmä on työkalu tavoitteiden saavuttamiseksi 1. Vaihejako 2. Työskentelymenetelmät 3. Kuvaustavat

HELIA TIKO-05 3 (12) ICT03D Tieto ja tiedon varastointi Tietojärjestelmän suunnitteluprosessi Tietokannan suunnittelu osana tietojärjestelmän suunnittelua 1. Esitutkimus 2. Vaatimusmäärittely 3. Rakenteen ja toiminnan suunnittelu 4. Toteutus 5. Käyttöönotto 6. Ylläpito

HELIA TIKO-05 ICT03D Tieto ja tiedon varastointi 4 (12) Abstraktiotasot tietokannan suunnittelussa 3-taso -malli Käsitetaso Looginen taso Fyysinen taso Tiedon nimi, merkitys ja arvot Tiedon esitys valitulla tietomallilla Tiedon esitys fyysisellä tallennusvälineellä Riippumaton toteutusratkaisuista Sidottu käytettävään tietomalliin Sidottu käytettävään toteutusympäristöön Eri tasojen kuvaukset yhdessä kuvaavat tiedot kokonaisuudessaan Samaa asiaa ei kuvata monella tasolla. Kullakin tasolla on oma peruskäsitteistönsä ja esitystekniikkansa Piirrokset / piirroskielet (Formaalit) tekstimuotoiset kuvauskielet; Tietohakemistot tks_loog.doc 11.9.2007 10:18:00

HELIA TIKO-05 ICT03D Tieto ja tiedon varastointi 5 (12) TIHA-standardi Taso Keskeinen sisältö Suunnittelun tulos Käsitetaso Looginen taso Tekninen taso Fyysinen taso (SFS-106) 198 Kohdealueen käyttämien käsitteiden rakenne Tietomallin mukainen (looginen) tietorakenne Tietyn DBMS:n mukainen (tekninen) tietorakenne Tietyn tiedostonhallintaohjelmiston mukainen (fyysinen) talletusrakenne Käsitekaavio / Luokkakaavio Tietohakemistokuvaukset Normalisoidut relaatiokaavat Eheysmäärittelyt Tietokannan luontilauseet SQL:llä Tietokannan talletusmääritykset tks_loog.doc 11.9.2007 10:18:00

HELIA TIKO-05 6 (12) Looginen mallintaminen ~ Tietokannan käsitteellinen malli sovitetaan käytettävän tietomallin mukaiseksi (esim. relaatiotietokannan malliksi) Looginen suunnittelu on riippumaton käytettävästä tietokantatuotteesta ja laitealustasta 1. Laadi luokkakaavion pohjalta relaatiokaavio 2. Lisää viiteavaimet 3. Johda relaatiokaavat 4. Normalisoi tarvittaessa 5. Tarkista relaatiot suhteessa tietotarpeisiin 6. Korjaa relaatiokaaviota tarvittaessa 7. Määrittele eheyssäännöt (vaiheet 1 & 2 voi kokemuksen karttuessa yhdistää)

HELIA TIKO-05 7 (12) Muunnos luokkakaaviosta relaatiokaavioksi 1.vaihe Luokkakaavio vaatii tiettyjä muutoksia, jotta siitä saadaan relaatiotietomallin mukainen relaatiokaavio 1. Jokainen monen suhde moneen yhteys kuvataan omana relaationaan (luo uusi ns. apurelaatio / välittävä relaatio) 2. Mahdollinen ylemmän asteen yhteys (Yhteys jossa on useampi kuin 2 osapuolta) muutetaan binääriyhteyksiksi, jonka toiseksi osanottajaksi luodaan välittävä relaatio 3. Yhteys, johon liittyy attribuutteja, kuvataan omana relaationaan 4. Jokainen moniarvoinen ominaisuus kuvataan omana relaationaan 5. Pääluokan ja aliluokan välinen perintäsuhde muutetaan yhden suhde yhteen yhteydeksi. Mahdollisia aggragaattiyhteyksiä käsitellään kuten tavallisia assosiaatioyhteyksiä Jos kirjoitat kaavioon myös attribuutit, lisää viiteavaimet vaihe2:n ohjeen mukaisesti

HELIA TIKO-05 8 (12) Esim. Kurssihallinto Luokkakaavio Opettaja ope_id ope_sukunimi ope_etunimi ope_huone ope_puh 1 0..* Kurssi kurssi_id krs_nimi krs_laajuus krs_alku_pvm krs_loppu_pvm 0..* 0..* Opiskelija opi_id opi_sukunimi opi_etunimi opi_katuosoite opi_postino opi_puhno Relaatiokaavio 1. Ei monen suhde moneen -yhteyksiä 2. Ei korkeamman asteen yhteyksiä (vain binääriyhteyksiä) 3. Ei yhteyksiä joihin liittyy attribuutteja 4. Ei luokkia joissa moniarvoisia attribuutteja 5. Ei aliluokkia Opettaja ope_id ope_sukunimi ope_etunimi ope_huone ope_puh 1 0..* Kurssi krs_id krs_nimi krs_laajuus krs_alku_pvm krs_loppu_pvm krs_ope_id Opiskelija opi_id opi_sukunimi opi_etunimi opi_katuosoite opi_postino opi_puhno 1 1 0..* 0..* Osallistuminen krs_id opi_id opi_krs_arvosana

HELIA TIKO-05 9 (12) Relaatiokaaviosta relaatiokaavoiksi 2.vaihe Luokkien attribuutteihin lisätään viiteavaimet kuvamaan relaatioiden välisiä yhteyksiä: 1. Jokainen 1:n yhteys kuvataan lisäämällä viiteavain yhteyden n-päässä olevaan relaatioon 2. Jokainen 1:1 yhteys kuvataan lisäämällä viiteavain toiseen osallistuvaan osapuoleen sen mukaan kumpi osapuoli on yhteydessä pakollinen 3. Jokainen aliluokka kuvataan omana relaationaan se. pääavain on sama kuin pääluokan pääavain pääavain määritellään myös viiteavaimeksi viittaamaan pääluokkaa vastaavaan relaatioon. Ominaisuuksiksi määritellään vain sen omat emotyypistä poikkeavat ominaisuudet (ja mahd. viiteavaimet) Aliluokan relaatiototeutuksessa voidaan päätyä myös muunlaisiin ratkaisuihin! tks_loog.doc 11.9.2007 10:18:00

HELIA TIKO-05 10 (12) Esim. Kurssihallinto OPETTAJA(ope_id, ope_sukunimi, ope_etunimi, ope_huone, ope_puh) KURSSI(krs_id, krs_ope_id, krs_nimi, krs_laajuus, krs_alku_pvm, krs_loppu_pvm) OPISKELIJA(opi_id, opi_sukunimi, opi_etunimi, opi_katuosoite, opi_postino, opi_puh) OSALLISTUMINEN(krs_id, opi_id, opi_krs_arvosana)

HELIA TIKO-05 11 (12) Käsitekaavion ja relaatiokaavion eroja Käsitekaavio tavoitteena ymmärtää ja kuvata kohdealueen käsitteistö ja rakenne kuvaa kohdealueen käsitteet / luokat (ja attribuutit) sekä käsitteiden / luokkien väliset yhteydet pääavain jokaiselle käsitteelle / luokalle viiteavainta ei tarvita (mutta saa olla) luokkahierarkia ja koostumussuhde OK monen suhde - moneen yhteydet sallittu tietotyyppejä ei tarvitse vielä määritellä Relaatiokaavio = looginen kaavio tavoitteena kuvata kohdealueen rakenne relaatiotietomallin mukaisesti kuvaa kohdealueen käsitteitä vastaavat relaatiot (ja attribuutit) sekä relaatioiden väliset yhteydet relaatiotietomallin mukaisesti pääavain jokaiselle relaatiolle viiteavain kuvaamaan yhteyttä relaatioiden välillä vain assosiaatiot sallittu monen suhde - moneen yhteydet ei sallittu tietotyypit mieluusti määritelty tks_loog.doc 11.9.2007 10:18:00

HELIA TIKO-05 12 (12) Käsitteitä Formaali Muodollinen, tiettyjen sääntöjen mukainen Kuvauskieli Tiettyjen sääntöjen mukainen tapa kuvata kohteen rakennetta, merkitystä ja sisältöä Käsitekaavio (Conceptual Schema) Tietokannan tietosisällön kuvaus, jossa kohdetta kuvataan käsitteinä ja niiden välisinä suhteina. Kuvaus on riippumaton toteutusratkaisuista. Relaatiokaavio Tietokannan tietosisällön kuvaus, jossa kohdetta kuvataan relaatioina ja niiden välisinä yhteyksinä relaatiotietomallin mukaisesti. Kuvaus on riippumaton toteutusratkaisusta. Relaatiokaava (Relation schema) Formaali tapa kuvata relaation rakenne R(a1, a2, an) Tietohakemisto Tietokannan käsitteiden määrittely sanallisesti. Voi sisältää sekä käsitteellisen että loogisen vaiheen määrittelyjä