Tieto/datamallit. Marttila-Kontio/Unicta Oy

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

3. Käsiteanalyysi ja käsitekaavio

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

HELIA 1 (17) Outi Virkki Tiedonhallinta

Tietokantojen suunnittelu, relaatiokantojen perusteita

Luento 3 Tietokannan tietosisällön suunnittelu

HELIA 1 (20) Outi Virkki Tiedonhallinta

2. Käsiteanalyysi ja relaatiomalli

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

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

HARJOITUS 2. Kasvattamot ja mittaukset

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

Liigan taulut ja attribuutit

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

Relaatiomalli ja -tietokanta

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

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

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

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

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

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

Tietokannan suunnittelu

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

HELIA 1 (12) Outi Virkki Tiedonhallinta

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

TIETOKANNAN NORMALISOINTI JA NORMAALIMUODOT

TIETOKANTOJEN PERUSTEET OSIO 8 MARKKU SUNI

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

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

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

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43

YHTEYSSUHDE (assosiation)

TIETOKANTOJEN PERUSTEET MARKKU SUNI

CS-A1150 Tietokannat CS-A1150 Tietokannat / 35

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

HELIA 1 (19) Outi Virkki Tietokantasuunnittelu

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

OpenOffice.org Base 3.1.0

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

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

5. Järjestelmämallit. Mallinnus

Kyselyt: Lähtökohtana joukko lukuja Laskukaava kertoo miten luvuista lasketaan tulos soveltamalla laskentaoperaatioita

XML kielioppi. Elementtien ja attribuuttien määrittely. Ctl230: Luentokalvot Miro Lehtonen

Tietokannat II -kurssin harjoitustyö

UML - unified modeling language

SÄHKE-hanke. Abstrakti mallintaminen Tietomallin (graafi) lukuohje

Tietokannan suunnittelu

Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä

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

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

Ohjelmistojen mallintaminen kertausta Harri Laine 1

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

Ohjelmistojen mallintaminen, kesä 2009

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

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

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

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

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

JYVÄSKYLÄN YLIOPISTO Valintakoe s2011 Sivu 1 Tietojärjestelmätieteen opiskelijavalinta. Nimi: Henkilötunnus:

Relaatioalgebra. Kyselyt:

Tietokannat II -kurssin harjoitustyö

Helsingin yliopisto/ tktl DO Tietokantojen perusteet, s 2000 Relaatioalgebra Harri Laine 1. Relaatioalgebra

Relaatioalgebra. Relaatioalgebra. Relaatioalgebra. Relaatioalgebra - erotus (set difference) Kyselyt:

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

CSE-A1200 Tietokannat

Lähestymistavat - toiminnallinen

Kari Aalto Saariston IT

MS-A0402 Diskreetin matematiikan perusteet

UML Luokkakaavio 14:41

Käsiteanalyysi prosessina ja tarveanalyysi

2.1 Sovellusarkkitehtuuri 2.2 Käsitteellinen mallintaminen. Luku 2. Arkkitehtuuri ja analyysi. ITKA204 kevät

KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

Korkeakoulujen tietomalli

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

Integrated Management System. Ossi Ritola

CSE-A1200 Tietokannat

Amazon Web Services (AWS) on varmaankin maailman suosituin IaaS-tarjoaja. Lisäksi se tarjoaa erilaisia PaaS-kategoriaan kuuluvia palveluita.

Nimi: Henkilötunnus: {id} {+id}

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

2. Olio-ohjelmoinista lyhyesti 2.1

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

Suurten asiakasriskien ilmoittamiseen liittyvät konekielisen tietojenvälityksen ohjeet

Luonnos eams-rakenteeksi

TIETOKANNAT I. Kurssimoniste. Mika Karhulahti Syksy 2002

TIETOKANNAN SUUNNITTELU

Tietokantakurssit / TKTL

RADAR - RANDOM DATA GENERATOR

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

a) Sievennä lauseke 1+x , kun x 0jax 1. b) Aseta luvut 2, 5 suuruusjärjestykseen ja perustele vastauksesi. 3 3 ja

4. Olio-ohjelmoinista lyhyesti 4.1

Tutkimustiedonhallinnan peruskurssi

811120P Diskreetit rakenteet

YHTEISTYÖN TEKEMINEN EXPEDIAN KANSSA HINTOJEN JA SAATAVUUDEN HALLINTA

TIE = JOTU. VH5 - MagicDraw

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto

HELIA 1 (14) Outi Virkki Tiedonhallinta

Euroopan unionin neuvosto Bryssel, 25. heinäkuuta 2014 (OR. en)

HELIA 1 (17) Outi Virkki Tiedonhallinta

Opas Logitech Harmony 525 asennusohjelmistoon

Transkriptio:

4.4.2017 Tieto/datamallit

4.4.2017 Data Governance Data governance (DG) refers to the overall management of the availability, usability, integrity, and security of the data employed in an enterprise.

4.4.2017 Eri tasojen tietomallit (käsitemallit)

4.4.2017 Enterprise data model (EDM) Yleistason kuvaus (käsitteellinen malli), ei sisällä teknisiä yksityiskohtia Mallit ovat yleensä graafeja, esim. yksilöitä ja niiden välisiä yhteyksiä (Entity/Reationship, ER) Kuvaa yrityksen pääprosessit, toiminnot ja datan yleistasolla (mihin dataa käytetään eri prosesseissa ja päätöksenteossa) Ei omaa teknistä kaaviota, yleensä käytetään vuokaavioita, ER-kaavioita, prosessikaavioita, Tärkeää kuvata yrityksen osa-alueet ja niiden väliset yhteydet ja mahdolliset dataintegraatiot Osa-alueet esimerkiksi pankissa: sijoitustoiminta, luotot, lainat, vakuutukset

4.4.2017 EDM:n osia Yleiskuva (käsitteellinen malli) Aihealueet Osa-aluejaottelu (lainat, luotot, sijoitukset, ) Yksilötyypit Yhteydet Business area analysis (osaalueiden analyysi) Datamallit Prosessimallit Attribuutit

4.4.2017 Looginen ja fyysinen tietomalli Seuraavaksi tutustutaan oikeaoppiseen relaatiotietokannan suunnitteluun, johon kuuluvat ER-kaavion (Entity Relationship Model) määrittely Relaatiokaavion määrittely Suunnittelu alkaa ER-kaaviolla (ER-kaaviota käytetään myös ylätason EDM:n kuvaamisessa) ER-kaaviosta muodostetaan tiettyjen askelten/toimenpiteiden avulla relaatiokaavio, joka on kuvaus tietokannan relaatiotauluista ja niiden sisältämistä tiedoista (metadata). Relaatiokaaviota voidaan edelleen tarkentaa yksityiskohdilla mm. attribuuttien ja taulujen viite-eheysrajoitteista ym. (Tuloksena fyysinen tietomalli)

4.4.2017 ER-kaavioiden notaatiota

4.4.2017 Esimerkki ER-kaaviosta

ER-mallin rakenneosat Mallin kaksi peruskomponenttia ovat 1. Yksilötyyppi (entity) ja sen attribuutit 2. Yhteys (relationship) ja sen mahdolliset attribuutit. Yksilötyypit ovat perusobjekteja, joista kerättävää tietoa tallennetaan tietokantaan. Esimerkiksi Asiakas, Tuote, Työntekijä, Opiskelija Kielellisesti ne ovat tavallisesti tällaisia yleisnimiä (nomineja). Erisnimet vastaavat yksilötyypin ilmentymiä. Yhteystyyppi kuvaa sellaisia yksilötyyppien välisiä yhteyksiä, jotka on tarpeen kuvata tietokannassa Esimerkiksi Asiakas ostaa Tuotteen. Kielellisesti ne ovat tavallisesti tällaisia teonsanoja (verbejä) jotka kokoavat predikaatteina yleisnimistä lauseita. 4.4.2017

Linnunpontto 4.4.2017 Yksilötyyppi PK pontto_id Yksilötyypin nimeäminen: sisältöä kuvaava nimi merkityksellinen ja itsedokumentoiva yksikäsitteinen luettava Yksilötyypin ominaisuuksia: sillä pitäisi olla useita ilmentymiä tietokannassa sillä pitäisi olla useita attribuutteja Yksilötyypillä pitää olla avain (tunniste). sijainti_gps kuvaus arvosana Yksilötyyppiin liitetään sitä kuvaavia attribuutteja (yllä 4kpl)

4.4.2017 Esimerkki (Crows Foot database notation ) Asiakas Auto PK Asiakasnro omistaa PK rekisterinro Etunimi Merkki Sukunimi email Malli Vuosimalli

4.4.2017 Esimerkki (Chen s database notation ) ASIAKAS omistaa AUTO etunimi sukunimi asiakasnro vuosimalli reknro merkki malli

4.4.2017 Tässä mukana ei-kelvollisia yksilötyyppejä, miksi? Taloudenhoitajia (treasurer) on vain 1. Kuluraportit ovat informaatiota, joka tuotetaan tietokannan sisältämästä muusta tiedosta. Ota malliin mukaan vain sellaisia yksilötyyppejä, joista (ainakin teoriassa) voi olla useampi kuin 1 ilmentymä. Ota malliin mukaan sama tieto vain yhden kerran. Tässä vain kelvollisia yksilötyyppejä

Vahva vs. heikko yksilötyyppi ja id-yhteys 4.4.2017 1. Vahva yksilötyyppi (strong entity): olemassaolo ei riipu muista yksilötyypeistä ja sillä on omat tunnisteet, siis avainattribuutit. 2. Heikko yksilötyyppi (weak entity): olemassaolo riippuu jostain toisesta yksilötyypistä (vahvasta yt:stä), ei voi esiintyä ilman sitä, jota sanotaan myös omistajatyypiksi. Myös sen avainattribuutit ovat vain osittaisia tunnisteita. Ne esitetään kaaviossa kaksinkertaisella alleviivauksella. Myös heikon yksilötyypin suorakaide piirretään kaksinkertaisella viivalla. 3. Indentifioiva yhteystyyppi eli id-yhteys: liittää heikon yksilötyypin omistajaansa.

Esimerkki heikosta yksilötyypistä 4.4.2017 Työntekijä on vahva yksilötyyppi. Dependent on heikko yksilötyyppi. Carries on ns. identifioiva yhteys.

Yksilöt ja niiden väliset yhteydet Yksilöiden väliset yhteydet (yhteystyypit) ovat tärkeässä roolissa tietokantaa suunniteltaessa Yhteys voi olla normaali perusyhteys tai heikkoon yksilötyyppiin liitetty heikko yhteys Yhteyden aste kuvaa, kuinka moneen muuhun yksilöön se on yhteydessä (1-, 2- tai 3-asteinen) Yhteyden kardinalisuus/kardinaliteetti on tärkein yhteystyyppiin liitetty ominaisuus ja se kuvaa, kuinka moni yksilön ilmentymä voi liittyä yhteyn kautta toisen yksilön ilmentymään (1:1, 1:N ja N:M) 4.4.2017

4.4.2017 Viiva kuvaa yhteyden olemassaolon Yhteydellä voi olla myös omia attribuutteja, ks. esimerkkejä jäljempänä Yhteyden aste: unary, binary tai ternary ( ) Yhteyden kardinaalisuus: 1:1, 1:n, m:n Kardinaalisuusrajoitteet ilmaisevat kuinka moneen ilmentymään yksittäinen ilmentymä voi enintään liittyä tai kuinka moneen sen pitää liittyä: Minimikardinaalisuus eli alaraja Jos=0, on optionaalinen Jos >=1, on pakollinen Maksimikardinaalisuus eli yläraja Yhteyksien maksimimäärä Totaalisuusrajoite: ilmentymän on aina oltava yhteydessä toiseen ilmentymään

ER-mallin grafiikka 4.4.2017 Yksilötyypit esitetään suorakaiteen muotoisella laatikolla (tässä perustyyppi strong sekä 2 erikoistapausta) Attribuutit luetellaan laatikon sisällä Yhteys kuvataan viivalla ja sen aste (degree) voi olla unary binary ternary, Yhteyden kardinaalisuus, ks. kuvan symbolit: yksi optional(ei-pakollinen) mandatory (pakollinen) monta optional(ei-pakollinen) mandatory (pakollinen) Huom: jos kardinaalisuutta ei ilmoiteta, sen oletetaan olevan optional-many.

4.4.2017 Kardinaalisuudet voidaan merkitä viereisessä kuvassa käytetyin symbolein. Nämä ovat täydelliset merkintätavat ja suositellaan käytettäväksi. Merkintätavat eivät kuitenkaan ole vakiintuneita. Jos alarajaa ei ole merkitty, oletetaan se nollaksi. Jos ylärajakaan ei ole merkitty, oletetaan sen arvoksi = 1. Valitettavasti eri kirjoissa ja työkaluissa käytetään erilaisia piirroksia näille samoille asioille. Seuraavissa kuvissa on kaikki em. vaihtoehdot esillä. Muistisääntö: kun lähestytään yhteyttä (viivaa) pitkin yksilötyyppiä (laatikkoa) niin ensin tulee alaraja eli vähintään ympyrä eli nolla poikkiviiva eli yksi Sitten tulee yläraja eli enintään poikkiviiva eli yksi haarautuminen eli monta.

Esimerkkejä yhteyden asteesta 4.4.2017

Esimerkkejä yhteyden asteesta 4.4.2017 Tietty myyjä voi toimittaa useaa eri osaa monelle eri varastolle. Tiettyä osaa voidaan toimittaa usean eri myyjän toimesta usealle eri varastolle. Tietty varasto hankkii usealta eri myyjältä useita eri osia.

Esimerkkejä yhteyden kardinaalisuusrajoitteista 4.4.2017 Potilaalla on aina vähintään yksi potilaskertomus. Jokainen yksittäinen potilaskertomus liittyy aina tasan yhteen potilaaseen.

Esimerkkejä yhteyden kardinaalisuusrajoitteista 4.4.2017 Projektilla pitää olla vähintään yksi työntekijä. Työntekijä voi kuulua 0-n projektiin.

Esimerkkejä yhteyden kardinaalisuusrajoitteista 4.4.2017 Esimerkki rekursiivisesta yhteydestä: Henkilö voi olla naimisissa enintään yhden toisen henkilön kanssa tai ei ole naimisissa lainkaan.

Esimerkki yhteystyypistä, jolla attribuutti 4.4.2017 Completes-yhteyteen on liitetty (katkoviivalla) attribuutti Date Completed. Se siis ilmoittaa pvm:n, jolloin tietty työntekijä on suorittanut tietyn kurssin. Completes-yhteydellä on siis yksi attribuutti. Date Completed on selkeästi yhteyden ominaisuus, ei pelkästään Työntekijän tai Kurssin ominaisuus.

4.4.2017 Harjoitus: mitä kuva esittää? PK LUOKKA LTUNNUS LuokanNimi LK_OPP OPPILAS PK OppNro Nimi Luokanvalvoja Numero Arvosana OPETTAJA PK OpeNro Nimi Opetustaito PK OPPIAINE OAineKoodi AineenNimi

Maa matkakohteena Kaupunki tarjotaan Retki 4.4.2017 PK Maatunnus PK Nimi Nimi Nimi Väestön lkm Kuvaus Valuutta lyhyt esittely on tarjolla Google Map - Koordinaatit työskentelee max_osall viikonpäivä Valtiomuoto vetää Opas Hotelli PK PK Nimi Osoite Kuvaus Huone_lkm PK ID Nimi Puh Koulutus Nettisivujen osoite

ER-kaavion muuttaminen relaatiokaavioiksi Askeleet suunnitelmasta kohti konkretiaa! 4.4.2017

Yksilötyypistä relaatiotaulu 4.4.2017 1. Jokaisesta tavallisesta yksilötyypistä tehdään relaatiotaulu Tavalliset attribuutit siirtyvät sellaisenaan Yhdistelmäattribuutit hajotettava yksinkertaisiksi attribuuteiksi (Esim. Nimi muotoon Etunimi, Sukunimi)

Heikosta yksilötyypistä relaatiotaulu 4.4.2017 2. Heikosta (weak) yksilötyypistä tehdään relaatiotaulu Vierasavaimeksi päätyypin perusavain Perusavain: heikon tyypin avaimen ja vierasavaimen yhdistelmä Perusavain

4.4.2017 Binääriset YHTEYDET 3. Binäärisen yhteystyypin muuntaminen 1:n-yhteys: 1-puolen perusavain lisätään vierasavaimeksi n-puolen relaatioon. m:n-yhteys: tehdään uusi relaatio, jonka attribuuteiksi tulevat yhteyteen kuuluvien yksilötyyppien perusavaimet. Ne yhdessä muodostavat syntyvän relaation perusavaimen. 1:1-yhteys: toisen yksilötyypin perusavain viedään toisen vierasavaimeksi. Usein yhteyden toinen pää on pakollinen (= aina 1), toinen vapaaehtoinen (= 0 tai 1). Silloin viedään pakollisen pään perusavain vapaaehtoiseen päähän. Näin vältetään NULLit (eli tyhjät arvot).

Esimerkki 1:n 1-puolen perusavain lisätään vierasavaimeksi n-puolen relaatioon 4.4.2017

4.4.2017 Esimerkki m:n Huom! DateCompleted oli yhteyteen liittyvä attribuutti m:n-yhteys: tehdään uusi relaatio, jonka attribuuteiksi tulevat yhteyteen kuuluvien yksilötyyppien perusavaimet. Ne yhdessä muodostavat syntyvän relaation perusavaimen Kuva 3. 12 Yhteystyypistä relaatio (Hoffer & al.)

4.4.2017 Esimerkki 1:1 1:1-yhteys: toisen yksilötyypin perusavain viedään toisen vierasavaimeksi. Pakollisen pään perusavain vapaaehtoiseen päähän

5. Rekursiivinen yhteystyyppi Tehdään samoin kuin edellä, mutta nyt yhteyden kummassakin päässä onkin sama relaatio. 1:n-yhteys ja 1:1-yhteys: kyseisestä yksilötyypistä syntyvään relaatioon lisätään vierasavaimeksi tämän relaation perusavain. m:n-yhteys: yhteys kuvataan omana relaationaan, johon tulee vastaavan yksilötyypin perusavain kahteen kertaan. Tämä attribuuttipari toimii syntyvän relaation perusavaimena. 4.4.2017

Esimerkki rekursiivisesta yhteydestä 4.4.2017

4.4.2017 Harjoitus: muodosta relaatiokaavio PK LUOKKA LTUNNUS LuokanNimi LK_OPP OPPILAS PK OppNro Nimi Luokanvalvoja Numero Arvosana OPETTAJA PK OpeNro Nimi Opetustaito PK OPPIAINE OAineKoodi AineenNimi

Maa matkakohteena Kaupunki tarjotaan Retki 4.4.2017 PK Maatunnus PK Nimi Nimi Nimi Väestön lkm Kuvaus Valuutta lyhyt esittely on tarjolla Google Map - Koordinaatit työskentelee max_osall viikonpäivä Valtiomuoto vetää Opas Hotelli PK PK Nimi Osoite Kuvaus Huone_lkm PK ID Nimi Puh Koulutus Nettisivujen osoite

4.4.2017 Harjoitus Suunnittele mattokauppiaan tietokanta Jos mattokauppias ei ole mielenkiintoinen case, voit keksiä itseäsi kiinnostavamman aiheen!