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

Samankaltaiset tiedostot
2. Käsiteanalyysi ja relaatiomalli

HELIA 1 (17) Outi Virkki Tiedonhallinta

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

3. Käsiteanalyysi ja käsitekaavio

HELIA 1 (12) Outi Virkki Tiedonhallinta

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

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

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

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

Tietokantojen suunnittelu, relaatiokantojen perusteita

Relaatiomalli ja -tietokanta

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

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

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

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

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

HELIA 1 (11) Outi Virkki Tiedonhallinta

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

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

HELIA 1 (19) Outi Virkki Tietokantasuunnittelu

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

Tietokannan suunnittelu

SELECT-lauseen perusmuoto

TIETOKANTOJEN PERUSTEET OSIO 11 MARKKU SUNI

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

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

CSE-A1200 Tietokannat

HARJOITUS 2. Kasvattamot ja mittaukset

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

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

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

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

Tietokannat II -kurssin harjoitustyö

Ohjelmistojen mallintaminen, olioja relaatiomallinnuksen suhteesta

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

TIETOKANNAT JOHDANTO

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

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

Tietokannan rakenteen suunnittelu

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

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

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

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

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

SQL - STRUCTURED QUERY LANGUAGE

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

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

HELIA 1 (14) Outi Virkki Tiedonhallinta

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

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

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

Relaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto

Ohjelmistojen mallintaminen, kesä 2009

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

Tietokannat II -kurssin harjoitustyö

HELIA 1 (17) Outi Virkki Tiedonhallinta

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

Tietokantakurssit / TKTL

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

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

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

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

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

TIETOKANNAN NORMALISOINTI JA NORMAALIMUODOT

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

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

YHTEYSSUHDE (assosiation)

TIEDONHALLINTA - SYKSY Luento 1. Saapumisryhmä: TXQ16ICT, TXQ16S1 ja TXQ16PROS. 27/8/17 Helsinki Metropolia University of Applied Sciences

Ohjelmistojen mallintaminen, kesä 2010

Luento 3 Tietokannan tietosisällön suunnittelu

Tietokanta projektin alussa: create table kurssin_tila ( NOT NULL VARCHAR2(60) create table kurssin_tyyppi ( create table opintojakson_tyyppi (

HELIA 1 (20) Outi Virkki Tiedonhallinta

Relaatioalgebra. Kyselyt:

UML ja luokkien väliset suhteet

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43

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

CS-A1150 Tietokannat CS-A1150 Tietokannat / 35

3. TAULUJEN MÄÄRITTELY JA MUUTTAMINEN

Tieto/datamallit. Marttila-Kontio/Unicta Oy

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

TIETOKANTOJEN PERUSTEET OSIO 8 MARKKU SUNI

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

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

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

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

OpenOffice.org Base 3.1.0

TIETOKANNAN SUUNNITTELU

3. Taulujen määrittely ja muuttaminen

CS-A1150 Tietokannat CS-A1150 Tietokannat / 44

TIETOKANTOJEN PERUSTEET MARKKU SUNI

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

Tietokannat PERUSMATERIAALI Microsoft Access 2007 Kieliversio: suomi Materiaaliversio 1.0 päivitetty

Ohjelmistotekniikan menetelmät, kesä 2008

Ohjelmoinnin perusteet Y Python

HAAGA-HELIA Heti-09 1 (27) ICT05 Tiedonhallinta ja Tietokannat O.Virkki

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

Myyntitilaus -tiedoston kuvaus

Tietokantojen perusteet

Transkriptio:

TIEDONHALLINTA - SYKSY 2017 Kurssikoodi: Saapumisryhmä: Luento 2 TX00CN57-3001 TXQ16ICT, TXQ16S1 ja TXQ16PROS Pasi Ranne 28.8.2017 27/8/17 Helsinki Metropolia University of Applied Sciences 1

Oppitunnin sisältö 1. Johdanto tietokannan suunnitteluun ja toteutukseen 2. Relaatiomalli 3. Microsoft Accessin perusteita Pasi Ranne Metropolia Ammattikorkeakoulu 2

Tietokannan suunnittelu ja toteutus

Tietokannan suunnittelu ja toteutus Huotari Pasi Ranne Metropolia Ammattikorkeakoulu 4

Tiedon mallintaminen Optimaalinen tiedonhallintaratkaisu edellyttää tallennettavan tiedon sisällön ja riippuvuuksien analysointia. Mallinnuksen perusteella voidaan päättää, millainen toteutus ja mitkä työvälineet ovat analysoituun tapaukseen sopivimmat. Käytännössä ratkaisu on useimmiten relaatiotietokanta, mutta tulosta voidaan hyödyntää myös muissa ratkaisuissa. 28.08.2017 Pasi Ranne 5

Käsiteanalyysi Myös ER-mallinnus, tietomallinnus Analyysi aloitetaan rajaamalla kohdealue (se osa reaalitodellisuutta, josta olemme kiinnostuneita) 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 Tämän jälkeen selvitetään käsitteiden välisiä suhteita ja riippuvuuksia (erityisesti lukumääräsuhteita) Työskentely on luonteeltaan iteratiivista ja tehdään tavallisesti toimeksiantajan (asiakkaan) ja toteuttajan yhteistyönä Useita graafisia kuvausjärjestelmiä on olemassa 28.08.2017 Pasi Ranne 6

Käsiteanalyysi Käsiteanalyysi on hyvän tietokantasuunnitelman kannalta oleellista Relaatiomalli mahdollistaa monia tiedonhallinnan kannalta toivottavia asioita, mutta huono suunnittelu johtaa huonoon tietokantaratkaisuun 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. 28.08.2017 Pasi Ranne 7

Esimerkki ER-mallista Chenin alkuperäinen notaatio (1976) COUNTRY CODE NAME COUNTRY PRODUCT 1 N IS_ORIGIN_OF IS_INVOICED N M CUSTOMER 1 HAS N INVOICE 28.08.2017 Pasi Ranne 8

Esimerkki ER-mallista Harakanvarvasnotaatio Asiakas Lasku Maa Tuote Pasi Ranne 9

Esimerkki ER-mallista UML-notaatio (UML:n luokkakaavio) 28.08.2017 Pasi Ranne 10

Esimerkki ER-mallista MS Access 28.08.2017 Pasi Ranne 11

Relaatiomalli

Relaatiomallin peruskäsitteet 1 Tietokanta muodostuu useista tauluista (relaatioista). Yksittäinen tieto esiintyy tietokannassa vain ja ainoastaan yhden kerran Jos tätä rikotaan niin seurauksena on tiedon ylläpidon vaikeutuminen Tieto voi esiintyä vain yhdessä taulussa, ja vain yhdessä attribuutissa. Poikkeuksena ovat relaatioiden yhteyksien kuvaamiseen käytetyt viiteavainattribuutit. Viope Pasi Ranne 13 04.09.2013

Relaatiomallin peruskäsitteet 1 Kaikki tieto tallennetaan tauluihin, jotka koostuvat sarakkeista ja riveistä. Taululle annetaan tietokannan sisällä yksikäsitteinen nimi. Taulussa on sarake jokaista entiteetin attribuuttia (ominaisuutta) varten. Sarakkeella on taulun sisällä yksikäsitteinen nimi. Sarake voi sisältää arvoja vain 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ä. Taulun nimi: Työntekijä = sarakkeen nimi Viope Pasi Ranne 14 04.09.2013

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) Pasi Ranne Metropolia Ammattikorkeakoulu 15

NULL Tyhjä arvo ei siis esim. 0 tai välilyönti Mihin tarvitaan? Arvoa ei tiedetä Arvoa ei ole Mikä Työntekijä-relaation attribuutti voisi saada arvon NULL? Tyontekija(TyontekijaID, Nimi, ToimipaikkaID, PuhNumero, Kotiosoite) NULL arvoa ei voi käyttää laskennassa eikä siihen voi verrata toista arvoa TKHJ tarjoaa mekanismeja NULL-arvojen hallintaan Pasi Ranne Metropolia Ammattikorkeakoulu 16

Relaatiomallin peruskäsitteet 2 Tietokanta koostuu käytännössä aina useammasta kuin yhdestä relaatiosta Relaatiomalli johtaa usein tietokantaan jossa on lukuisia pieniä tauluja syitä tähän käsitellään tietokannan suunnittelun yhteydessä Taulujen välillä on sisällöltään vastaaviin kenttiin - avainattribuutteihin - perustuvia suhteita (relationship) Pasi Ranne 17 28.08.2017

Pääavain eli perusavain (primary key) Taululla on aina oltava 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ä Käytännössä pääavaimeksi määritellään usein erityinen tunnistenumero esim. tilausnumero, opiskelijanumero, TyontekijaID Pääavain voi olla yhdistetty eli muodostua kahdesta tai useammasta attribuutista yhtä aikaa Avaimen arvo on yhdistelmä attribuuttien arvoista Yleinen relaatioiden monesta-moneen suhteiden purkamiseen käytetyissä tauluissa (katso esim. Viopen 2. oppitunti, Tyoskentelee-taulu). Pasi Ranne Metropolia Ammattikorkeakoulu 18

Viiteavain eli vierasvain (foreign key) Taulujen väliset yhteydet toteutetaan viiteavaimien avulla Viiteavain viittaa toisen relaation pääavaimeen Viiteavaimella oltava sama arvoalue kuin toisen taulun pääavaimella Viiteavaimen arvo voi olla tyhjä jos yhteys taulujen välillä ei ole pakollinen Hyvä käytäntö on määritellä viiteavainattribuutin nimeksi viitattavan taulun pääavainattribuutin nimi Sama attribuutti voi olla yhtä aikaa sekä viite- että pääavain. Yleistä monesta-moneen suhteiden purkamiseen käytetyissä relaatioissa Pasi Ranne Metropolia Ammattikorkeakoulu 19

Peruskäsitteiden harjoittelua 1. Alustavassa tietokantasuunnitelmassa on seuraavat relaatiot: KURSSI(kurssi_id, nimi, laajuus, vastuuopettaja) KURSSIKIRJA(isbn, kurssi_id, nimi, tekijat, painos) OPETTAJA(opettaja_id, sukunimi, etunimi) Määrittele relaatioiden pääavaimet. Määrittele relaatioiden viiteavaimet ja mihin ne viittaavat. Ovatko attribuuttien nimet hyvin valittuja ja selkeitä? 2. Mitä vikaa allaolevissa relaatioissa on relaatiotietomallin kannalta? a) OPISKELIJA(sukunimi, etunimi, syntymävuosi, aloitus_vuosi) b) KURSSI(kurssi_id, nimi, opettaja_ja_laajuus) c) KURSSIN_KIRJA(isbn, kirjan_nimi) d) KOULUTUSOHJELMA(ko_id, ko_nimi, kurssi_id1, kurssi_id2, kurssi_id3, kurssi_id10) Pasi Ranne Metropolia Ammattikorkeakoulu 20

Tietokannan eheyssäännöt Yksilön eheyssääntö: Taulussa ei saa olla kahta tai useampaa samanlaista riviä Viite-eheyssääntö: Viiteavaimen arvon on löydyttävä viitatun taulun pääavaimien arvoista tai viiteavaimen arvon on oltava tyhjä Ei saa viitata sellaiseen taulun riviin, jota ei löydy Arvojoukkoeheyssääntö: Attribuutin arvot kuuluvat samaan arvojoukkoon Käytännössä TKHJ:ssä voi arvojoukkoa rajata määrittelemällä tietotyyppi, pituus, sallitut arvot, pakollisuus jne. TKHJ huolehtii eheyssääntöjen valvonnasta niin haluttaessa Pasi Ranne Metropolia Ammattikorkeakoulu 21

Harjoitus: Eheyssäännöt Anna Viopen Projektitietokannan Työntekija ja Toimipaikka relaatioiden tapauksessa esimerkki lisättävästä rivistä, jossa on a) virheellinen pääavaimen arvo b) virheellinen viiteavaimen arvo c) arvojoukkoeheyden rikkova sarakkeen arvo Miksi annetut arvot ovat virheelliset? Pasi Ranne Metropolia Ammattikorkeakoulu 22

Relaatiokaava (Relation schema) R(A1, A2,, An) R = relaation nimi A1, A2,, An = attribuuttilista Työntekija(TyöntekijaID, Nimi, ToimipaikkaID, PuhNumero, Kotiosoite) Pääavain alleviivataan Pasi Ranne Metropolia Ammattikorkeakoulu 23

Relaatiomallin peruskäsitteet 3 Relaatiomallin lähtökohta on, että yksittäinen tieto esiintyy tietokannassa vain kerran Tauluja käsitellään relaatio-operaatioilla, joiden tuloksena on (uusia, mahdollisesti tilapäisiä) tauluja Tätä aihetta käsitellään tarkemmin myöhemmillä luennoilla Pasi Ranne 24 28.8.2017

Microsoft Access Relaatiotietokantaohjelmisto, jossa lisäksi mukana sovellus- ja raporttikehitin Tarkoitettu pääasiassa tavallisille loppukäyttäjille, ei niinkään tietotekniikka-ammattilaisille Käytetään henkilökohtaisten sovellusten lisäksi myös laajoissa yritysratkaisuissa Liitettävissä oikeisiin relaatiotietokantoihin 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&feature=r elated Microsoftin Suomen sivuilla Accessin perustoimintojen esittely: http://office.microsoft.com/fi-fi/access-help/access-2010-n- perustoiminnot- HA101829991.aspx?CTT=5&origin=HA010341722 Pasi Ranne Metropolia Ammattikorkeakoulu 25

Lähteitä Relaatiotietokantasanasto: http://www.cs.helsinki.fi/relaatiosanasto/ Pasi Ranne Metropolia Ammattikorkeakoulu 26