2. Käsiteanalyysi ja relaatiomalli



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

3. Käsiteanalyysi ja käsitekaavio

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

HELIA 1 (17) Outi Virkki Tiedonhallinta

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

Tietokantojen suunnittelu, relaatiokantojen perusteita

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

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

HELIA 1 (12) Outi Virkki Tiedonhallinta

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Relaatiomalli ja -tietokanta

CSE-A1200 Tietokannat

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

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

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

TIETOKANNAT JOHDANTO

HELIA 1 (17) Outi Virkki Tiedonhallinta

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

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

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

HELIA TIKO-05 1 (22) ICT03D Tieto ja tiedon varastointi E.Räty, O.Virkki

Ohjelmistojen mallintaminen, olioja relaatiomallinnuksen suhteesta

Tietokannat II -kurssin harjoitustyö

TIETOKANTOJEN PERUSTEET OSIO 11 MARKKU SUNI

HELIA 1 (11) Outi Virkki Tiedonhallinta

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

Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot)

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

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

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

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

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

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

Tietokantakurssit / TKTL

UML ja luokkien väliset suhteet

Tietokannan rakenteen suunnittelu

HELIA 1 (19) Outi Virkki Tietokantasuunnittelu

SQL - STRUCTURED QUERY LANGUAGE

SELECT-lauseen perusmuoto

Relaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto

Tiedonhallinnan perusteet. H11 Ovien ja kulun valvontajärjestelmän tietokanta

TIEDONHALLINTA - SYKSY Luento 8. Saapumisryhmä: Pasi Ranne /9/13 Helsinki Metropolia University of Applied Sciences

3. Taulujen määrittely ja muuttaminen

3. TAULUJEN MÄÄRITTELY JA MUUTTAMINEN

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

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

TIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

TIEDONHALLINTA - SYKSY Luento 10. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

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

Helsingin yliopisto/tktl Tietokantojen perusteet, s 2007 SQL:n perusteet. Harri Laine 1. SQL tietokantakieli. SQL tietokantakieli

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

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2005 SQL-perusteet. Harri Laine 1. SQL tietokantakieli

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

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43

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

TIETOKANTOJEN SUUNNITTELU

Tietokantojen perusteet

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

Tietokannat II -kurssin harjoitustyö

HELIA 1 (14) Outi Virkki Tiedonhallinta

CS-A1150 Tietokannat CS-A1150 Tietokannat / 44

Harjoitustehtävä 1. Harjoitustehtävän 1 ratkaisu. Harjoitustehtävä 1. Relaatioalgebra -liitokset (join) Liitos

määritellä ja muokata tietokantaa ja sen käyttöoikeuksia virittää tietokannan talletusrakenteita hakea tietoa tietokannasta

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

2. Haet työntekijöiden tiedot etunimen mukaan nousevasti järjestettyinä. (ORDER BY) SELECT * FROM employees ORDER BY firstname ASC;

Opintopiiritehtävä 3: Verkkohuutokauppa

FROM-lausekkeessa voidaan määritellä useampi kuin yksi taulu, josta tietoja haetaan: Tuloksena on taululistassa lueteltujen taulujen rivien

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

TIETOKANTOJEN PERUSTEET OSIO 8 MARKKU SUNI

TIETOKANTOJEN PERUSTEET MARKKU SUNI

TIETOKANNAT JOHDANTO JOUNI HUOTARI & ARI HOVI

Toad Data Modeler Lari Hoppula Annika Koppelomäki Johanna Pietilä Esko-Pekka Tähti

YHTEYSSUHDE (assosiation)

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

määritellä ja muokata tietokantaa ja sen käyttöoikeuksia virittää tietokannan talletusrakenteita hakea tietoa tietokannasta

Lohdutus - tietokantadokumentti

CSV-tilaukset

Tieto/datamallit. Marttila-Kontio/Unicta Oy

Tietokantasovelluksen määrittelydokumentti

Visual Case 2. Miika Kasnio (C9767)

TIETOKANNAT I. Kurssimoniste. Mika Karhulahti Syksy 2002

Hakukyselyt: SELECT * FROM taulu WHERE sarake1 = Malli Nimi [WHERE sarake1 LIKE M% ] [WHERE BETWEEN ehto1 AND ehto2] [WHERE sarake1 IN/= (alikysely)]

CS-A1150 Tietokannat CS-A1150 Tietokannat / 35

Kari Aalto Saariston IT

Kirjasto Relaatiotietokannat Kevät Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina

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

Tietokannan suunnittelu

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

Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen

TIETOKANTOJEN PERUSTEET MARKKU SUNI

Tietokannat I. c 2007 Olli Luoma olli.luoma@it.utu.fi

Käsiteanalyysi prosessina ja tarveanalyysi

SQL-kielen perusteet. Tietokantojen perusteet

Liitokset - haut useaan tauluun

KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI

Työn sisältö Työn rakenne Työhön liittyvä dokumentaatio Työssä käytettävät apuvälineet Ohjauksen organisointi

Harjoitustyö. CSE-A1200 Tietokannat! Jasse Lahdenperä! ! Henri Nurmi! !

C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa.

Transkriptio:

2. Käsiteanalyysi ja relaatiomalli lehtori Pasi Ranne Metropolia ammattikorkeakoulu E-mail: pasi.ranne@metropolia.fi sivu 1

Tietokannan suunnitteluprosessin osat sivu 2

Käsiteanalyysi ER-mallinnus, tietomallinnus aloitetaan rajaamalla kohdealue (se osa reaalitodellisuutta, josta on kiinnostuttu) kohdealueelta pyritään tunnistamaan ja määrittelemään käsitteitä (entity) ja niiden ominaisuuksia (attribuutteja) Asiakas nimi, osoite Tilaus tilausnumero, päivämäärä, tilausrivi Tuote nimi, tuotenumero, kuvaus, hinta selvitetään käsitteiden välisiä suhteita ja riippuvuuksia (erityisesti lukumääräsuhteita) sivu 3

Käsiteanalyysi (jatkoa) Työskentely on luonteeltaan iteratiivista ja tehdään tavallisesti toimeksiantajan (asiakkaan) ja toteuttajan yhteistyönä Useita graafisia kuvausjärjestelmiä Käsiteanalyysi on hyvän tietokantasuunnitelman kannalta oleellista Relaatiomalli mahdollistaa monia tiedonhallinnan kannalta toivottavia asioita Ilman hyvää suunnittelua syntyy yleensä erittäin huono tietokantaratkaisu sivu 4

Käsiteanalyysi (jatkoa) Yhtä ainoaa oikeaa vastausta analyysin tuloksena ei ole olemassa: All models are wrong, but some are useful... Do not fall in love with one model! Better is worse than good enough. Käsiteanalyysiin syvennytään tarkemmin myöhemmin tällä opintojaksolla sivu 5

Esimerkki 1. ER-malli Chenin alkuperäinen notaatio (1976) COUNTRY CODE NAME COUNTRY PRODUCT 1 N IS_ORIGIN_OF IS_INVOICED N M CUSTOMER 1 HAS N INVOICE sivu 6

Esimerkki 2. ER-malli Harakanvarvasnotaatio Asiakas Lasku Maa Tuote sivu 7

Esimerkki 3. ER-malli UML-notaatio (UML:n luokkakaavio) sivu 8

Esimerkki 4. ER-malli Microsoft Access sivu 9

Relaatiomallin peruskäsitteet 1 tietokanta sisältää useita tauluja (relaatioita) yksittäinen tieto esiintyy tietokannassa vain ja ainoastaan yhden kerran jos tätä rikotaan niin seurauksena on tiedon ylläpidon vaikeutuminen tieto esiintyä vain yhdessä taulussa ja vain yhdessä attribuutissa poikkeuksena ovat relaatioiden yhteyksien kuvaamiseen käytetyt viiteavainattribuutit sivu 10

Relaatiomallin peruskäsitteet 1 (jatkoa) tiedot talletetaan tauluihin, joille annetaan tietokannan sisällä yksikäsitteinen nimi sivu 11

Relaatiomallin peruskäsitteet 1 (jatkoa) jokainen taulun sarake vastaa yksilötyypin ominaisuutta (attribuuttia) sarakkeella on taulun sisällä yksikäsitteinen nimi sarake voi sisältää arvoja ainoastaan yhdestä arvoalueesta (esim. kokonaisluku) sarakkeiden järjestyksellä ei ole merkitystä yhdelle riville tallennetaan yhden erillisen yksilön (olion) attribuuttien arvot yksittäinen rivi koostuu kentistä (soluista) kenttä sisältää yksittäisen tiedon, joka on attribuutin arvoalueen mukainen rivien järjestyksellä ei ole merkitystä taulussa ei saa olla kahta täysin samanlaista riviä sivu 12

Attribuutin arvojoukko relaatiomalli edellyttää tiedon määrämuotoisuutta ja arvojen atomisuutta (jakamattomuutta) attribuutti voi sisältää arvoja vain yhdestä arvoalueesta (esim. kokonaisluku) tyhjä arvo (NULL) kuuluu kaikkiin arvojoukkoihin relaatiomallissa attribuuttien arvoalueet voidaan määritellä täysin vapaasti TuoteNimi sisältää kaikkien yrityksen valmistamien tuotteiden nimet TKHJ ei yleensä tue arvoalueita, vaan sarakkeille määritellään tietotyyppi (char, varchar, int, ) ja niille rajoitteita (esim. merkkijonon pituus) TuoteNimi varchar(80) sivu 13

Arvo NULL tyhjä arvo ei siis olen sama kuin esimerkiksi 0 tai välilyönti mihin arvoa NULL tarvitaan? arvoa ei tiedetä arvoa ei ole mikä Työntekijä-relaation Tyontekija(TyontekijaID, Nimi, ToimipaikkaID, PuhNumero, Kotiosoite) attribuutti voisi saada arvon NULL? arvoa NULL ei voi käyttää laskennassa eikä siihen voi verrata toista arvoa TKHJ tarjoaa mekanismeja NULL-arvojen hallintaan sivu 14

Relaatiomallin peruskäsitteet 2 relaatiotietokanta koostuu aina useammasta kuin yhdestä relaatiosta relaatiomalli johtaa usein tietokantaan, jossa on lukuisia pieniä tauluja tauluilla on vastinkenttiin (avainattribuutteihin) perustuvia suhteita (relationship) sivu 15

Pääavain eli perusavain (primary key) relaatiotietokanta koostuu aina useammasta kuin yhdestä relaatiosta taululla pitää olla pääavain, joka yksilöi rivit tietokanta käsittelee taulun tietueet pääavaimen perusteella pääavain on pienin mahdollinen joukko taulun attribuutteja, jotka riittävät yksilöimään rivit pääavain voi muodostua yhdestä tai useammasta attribuutista pääavaimen arvo ei voi olla tyhjä sivu 16

Pääavain eli perusavain (jatkoa) käytännössä pääavaimeksi määritellään usein erityinen tunnistenumero esim. henkilötunnus, opiskelijanumero, auton rekisterinumero, tilausnumero jne pääavain voi muodostua kahdesta tai useammasta attribuutista yhtä aikaa arvo on attribuuttien arvojen yhdiste yleinen relaatioiden monesta-moneen suhteiden purkamiseen käytetyissä tauluissa (esimerkiksi Viopen 2. oppitunti, Tyoskentelee-taulu) sivu 17

Viiteavain eli vierasvain (foreign key) taulujen yhteydet toteutetaan viiteavaimilla viiteavain viittaa toisen taulun pääavaimeen viiteavaimella oltava sama arvoalue kuin toisen taulun pääavaimella viiteavaimen arvo voi olla tyhjä jos yhteys taulujen välillä ei ole pakollinen sama attribuutti voi olla yhtä aikaa sekä viiteettä pääavain yleistä monesta-moneen suhteiden purkamiseen käytetyissä relaatioissa sivu 18

Microsoft Access relaatiotietokantaohjelmisto, jossa lisäksi mukana sovellus- ja raporttikehitin tarkoitettu pääasiassa tavallisille käyttäjille ei niinkään tietotekniikka-ammattilaisille käytetään henkilökohtaisten sovellusten lisäksi myös laajoissa yritysratkaisuissa liitettävissä oikeisiin relaatiotietokantoihin sivu 19

Microsoft Access (jatkoa) Webissä monia hyviä tutoriaaleja englanniksi, esim. GCFLearnFree.org http://www.gcflearnfree.org/access2010/3 yo. oppintuntien videot suoraan YouTubessa: http://www.youtube.com/watch?v=ntj8bfhnmq8&f eature=related Microsoftin Suomen sivuilla Accessin perustoimintojen esittely: http://office.microsoft.com/fi-fi/access-help/access- 2010-n-perustoiminnot- HA101829991.aspx?CTT=5&origin=HA010341722 sivu 20

Lähteitä Relaatiotietokantasanasto: http://www.cs.helsinki.fi/relaatiosanasto/ sivu 21