HELIA 1 (17) Outi Virkki Tiedonhallinta

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

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

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

Tietokannan suunnittelu

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

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

Tietokantojen suunnittelu, relaatiokantojen perusteita

Tietokannan suunnittelu

HELIA 1 (12) Outi Virkki Tiedonhallinta

HELIA 1 (20) Outi Virkki Tiedonhallinta

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

Relaatiomalli ja -tietokanta

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

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

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.

2. Käsiteanalyysi ja relaatiomalli

HELIA 1 (19) Outi Virkki Tietokantasuunnittelu

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

Tietokannan rakenteen suunnittelu

Luento 3 Tietokannan tietosisällön suunnittelu

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

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

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

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

HELIA 1 (11) Outi Virkki Tiedonhallinta

3. Käsiteanalyysi ja käsitekaavio

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

HARJOITUS 2. Kasvattamot ja mittaukset

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

Relaatioista TIETOJENKÄSITTELYTIETEIDEN LAITOS, JUHA IISAKKA 11-14

TIETOKANTOJEN PERUSTEET OSIO 11 MARKKU SUNI

HELIA 1 (17) 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.

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

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

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

HELIA 1 (14) Outi Virkki Tiedonhallinta

Relaatioalgebra. Kyselyt:

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

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

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

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

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

TIETOKANTOJEN PERUSTEET OSIO 8 MARKKU SUNI

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

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

CSE-A1200 Tietokannat

TIETOKANNAN NORMALISOINTI JA NORMAALIMUODOT

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

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

Tietokannat II -kurssin harjoitustyö

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

Helsingin yliopisto/tktl Kyselykielet, s 2006 Relaatiokalkyylit. Harri Laine 1

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

YHTEYSSUHDE (assosiation)

Tieto/datamallit. Marttila-Kontio/Unicta Oy

Tutkimustiedonhallinnan peruskurssi

KURSSIMONISTE KEVÄT 2015

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

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

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

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

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

Tietokannat II -kurssin harjoitustyö

Kari Aalto Saariston IT

HELIA 1 (15) Outi Virkki Tiedonhallinta

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

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

Tietokantakurssit / TKTL

Liigan taulut ja attribuutit

KURSSIMONISTE KEVÄT 2009

HELIA 1 (13) Outi Virkki Tietokantasuunnittelu

Ekvivalenssirelaatio. Määritelmä 2 Joukon A binäärinen relaatio R on ekvivalenssirelaatio, mikäli. Jos R on ekvivalenssirelaatio ja a A, niin joukkoa

Relaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto

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

Luento 2: Tiedostot ja tiedon varastointi

Ohjelmistojen mallintaminen, olioja relaatiomallinnuksen suhteesta

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

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43

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

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

TIETOKANNAT JOHDANTO

Jokaisella tiedostolla on otsake (header), joka sisältää tiedostoon liittyvää hallintatietoa

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

HELIA 1 (19) Outi Virkki Tietokantasuunnittelu

CS-A1150 Tietokannat CS-A1150 Tietokannat / 39

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

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

TIETOKANNAT I. Kurssimoniste. Mika Karhulahti Syksy 2002

Tieto ohjelmassa ja tietokoneella

joukko operaatioita, joilla relaatioista voidaan muodostaa uusia relaatioita joukko opin perusoperaatiot yhdiste, erotus, ristitulo, leikkaus

CS-A1150 Tietokannat

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

Algoritmit 1. Luento 6 Ke Timo Männikkö

CSE-A1200 Tietokannat

MS-A0401 Diskreetin matematiikan perusteet

Transkriptio:

HELIA 1 (17) Luento 4.1 Looginen suunnittelu... 2 Relaatiomalli... 3 Peruskäsitteet... 4 Relaatio... 6 Relaatiokaava (Relation schema)... 6 Attribuutti ja arvojoukko... 7 Monikko... 8 Avaimet... 10 Avain (Key)... 10 Pääavain (Primary Key)... 10 Yliavain (Super Key)... 10 Viiteavain (Foreign Key)... 11 Toisioavain, sivuavain, hakuavain (Secondary Key)... 12 ER-kaaviosta relaatiokaavioksi... 13 Relaatiokaaviosta relaatiokaavoiksi... 15 Luokkakaaviosta relaatiokaavoiksi... 17

HELIA 2 (17) Looginen suunnittelu 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 relaatiokaavio käsitekaavion pohjalta 2. Johda relaatiokaavat 3. Normalisoi 4. Tarkista relaatiot suhteessa tietotarpeisiin 5. Korjaa relaatiokaaviota tarvittaessa 6. Määrittele eheyssäännöt (vaiheet 1 & 2 voi kokemuksen karttuessa yhdistää)

HELIA 3 (17) Relaatiomalli Relaatiomalli on eräs tietomalli (muita mm. hierarkkinen malli, verkkomalli) Tietomalli Malli, jonka mukaan tietokannan tiedot organisoidaan. Tietomalli koostuu joukosta peruskäsitteitä, -sääntöjä ja - operaatioita Ä Perusajatuksiltaan yksinkertainen yksiselitteinen selkeä Ä Pohjautuu joukko-opin käsitteisiin Å Loogisen minimaalisuuden tavoittaminen Å Erinomainen väline tietokannan rakenteen ja käsittelyn kuvaamiseen

HELIA 4 (17) Peruskäsitteet 1. Relaatio (Relation) 2. Attribuutti (Attribute) 3. Monikko (Tuple) Viralliset Käytännölliset Tiedostoista periytyvät Relaatio Taulu / Taulukko Attribuutti Sarake Kenttä Monikko Rivi Tietue Relaatiotietomallissa kaikki tieto tallennetaan taulukkomuotoon relaatioihin (tauluihin) Relaation nimi Attribuutit OPETTAJA Lyhenne Nimi Huone Vastaanotto BurOt Burman BenAn Benson 3012 Ke 12-13 Monikot VirOu Virkki 3012 VirPe Virkki 3012 Arvo

HELIA 5 (17) Ominaisuuksia: Ä Jokaisella relaatiolla on yksikäsitteinen nimi Ä Relaatiossa ei saa olla kahta täysin samanlaista riviä! (relaatio on rivien joukko ja tietty alkio voi esiintyä joukossa vain kerran) Ä Rivien järjestyksellä ei ole merkitystä (joukossa ei ole järjestystä) Ä Relaation jokaisella rivillä tulee olla yhtä monta attribuuttia Ä Tietyssä relaatiossa jokaisella attribuutilla on yksikäsitteinen nimi Ä Kukin attribuutti on homogeeninen, eli sisältää arvoja vain yhdestä arvoalueesta Ä Kukin attribuutti on atominen, eli jakamaton Ä Attribuuttien järjestyksellä ei ole merkitystä (relaation attribuuteilla on yksikäsitteiset nimet)

HELIA 6 (17) Relaatio Määritelmä Olkoon D 1, D 2,, D n arvojoukkoja, joiden ei tarvitse olla erillisiä. Relaatio R on joukko monikkoja, joiden 1. arvo kuuluu joukkoon D 1, 2. arvo joukkoon D 2 jne. Relaatio on siis karteesisen tulon D 1 * D 2 * * D n osajoukko (Codd, 1970) Jokaisella relaatiolla on yksikäsitteinen nimi Tietyssä relaatiossa jokaisella attribuutilla on yksikäsitteinen nimi Relaation aste = attribuuttien määrä Relaation koko = rivien määrä Relaatiokaava (Relation schema) Määrittelee relaation rakenteen (pysyvät ominaisuudet) R(A 1, A 2,, A n ) R = relaation nimi A 1, A 2,, A n = attribuuttilista

HELIA 7 (17) Attribuutti ja arvojoukko Jokaisen relaatiokaavan attribuuttiin A i liittyy arvojoukko / arvoalue dom(a i ), joka sisältää attribuutin A i mahdolliset (atomiset) arvot Ä Tyhjä arvo (NULL) sisältyy jokaiseen arvojoukkoon Relaatiotietomallissa attribuuttien arvojoukot / arvoalueet voidaan määritellä vapaasti attribuuttien merkityksen mukaan esim. sukunimi arvoalue sisältää kaikki olemassaolevat sukunimet Relaatiotietokantatuotteissa arvoaluekäsitettä ei yleensä tunneta eikä tueta Sarakkeet esitellään perus tietotyyppien (Char, Int, ) ja niiden maksimipituuksien avulla

HELIA 8 (17) Monikko koostuu arvoista ja niihin liittyvistä attribuuteista. monikko on siis tällaisten arvo-attribuutti parien joukko Ä Arvo-attribuutti-pari sisältää merkityksen esim. hinta: 10,99 Ä Tarkan merkityksen selvittäminen vaatii yleensä enemmän tietoa

HELIA 9 (17) Relaatiotietokanta? joukko relaatioita? tiettyä kohdealuetta kuvaavien tietojen kokoelma joka on organisoitu relaatiotietomallin mukaisesti relaatiotietomalliin perustuvan tietokannan hallintajärjestelmän avulla toteutettu tietokanta ei yksiselitteistä tulkintaa! (huom. esim. atk-sopimuksissa) Codd:lla on joukko sääntöjä (1985), jotka tietokantatuotteen tulisi täyttää, jotta sillä olisi oikeus kutsua itseään relationaaliseksi... Conolly, Begg. Database Systems. 1999. s. 103-107 http://news.dcn-asu.ru/books/ Special.Edition.Using.Oracle8/ch01/0014-0016.html

HELIA 10 (17) Avaimet Avain (Key) Tunniste Pienin mahdollinen joukko relaation attribuutteja, jotka riittävät yksilöimään jokaisen relaation rivin Avain voi siis koostua useammasta kentästä (ns. yhdistelmäavain) Avaimen arvo ei voi olla tyhjä Jokaisella relaatiolla on ainakin yksi avain Relaatiolla voi olla myös useampia avaimia (ns. avainehdokkaita / Candidate Key) Pääavain (Primary Key) Relaation avain tai mikäli niitä on useampia pääavaimeksi valittu avain Pääavaimeksi kannattaa valita attribuutti, jonka arvo ei muutu (ainakaan usein) Pääavaimen arvo ei voi olla tyhjä Yliavain (Super Key) Joukko relaation attribuutteja, jotka riittävät yksilöimään jokaisen relaation rivin

HELIA 11 (17) Viiteavain (Foreign Key) Relaation attribuutti, jolla on sama arvoalue kuin toisen relaation pääavaimella Viittaavan relaation viiteavain viittaa viitatun relaation pääavaimeen Relaatioiden väliset yhteydet toteutetaan viiteavaimien avulla Viiteavaimen arvo voi olla tyhjä, jos yhteys ei ole pakollinen Lisää viiteavaimesta viite-eheyssääntöjen yhteydessä viittattu relaatio LENTO PK: lento# viittaava relaatio viittattu relaatio LENTO- TOTEUTUS PK: lentotot# FK: lento# viittaava relaatio VARAUS PK: varaus# FK: lentotot#

HELIA 12 (17) Toisioavain, sivuavain, hakuavain (Secondary Key) Attribuutti tai attribuuttijoukko, jonka avulla tietoa haetaan usein Esim. sukunimi Toisioavain ei yksilöi relaation riviä Relaatiolla voi olla useita toisioavaimia

HELIA 13 (17) ER-kaaviosta relaatiokaavioksi 1. Jokainen m:n yhteys kuvataan omana relaationaan 2. Tertiääri ja ylemmän asteen yhteys 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

HELIA 14 (17) Esim. Kurssihallinto

HELIA 15 (17) Relaatiokaaviosta relaatiokaavoiksi 1. Jokainen tavallinen yksilötyyppi kuvataan omana relaationaan 2. Jokainen yksiarvoinen ominaisuus liitetään sen relaation attribuutiksi, johon se liittyy 3. Jokaiseen heikkoon yksilötyyppiin liitetään viiteavain (määräävään yksilötyyppiin) 4. Jokainen 1:n yhteys kuvataan liittämällä viiteavain yhteyden n-päässä olevaan olioon 5. Jokainen 1:1 yhteys kuvataan liittämällä viiteavain toiseen osallistuvaan osapuoleen sen mukaan kumpi osapuoli on yhteydessä pakollinen 6. Jokainen alityyppi kuvataan omana relaationaan se. pääavain on sama kuin emotyypin pääavain pääavain määritellään myös viiteavaimeksi viittaamaan emotyyppiin. Ominaisuuksiksi määritellään vain sen omat emotyypistä poikkeavat ominaisuudet (ja mahd. viiteavaimet) Alityypin toteutusvaiheessa voidaan päätyä myös muunlaisiin ratkaisuihin!

HELIA 16 (17) Esim. Kurssihallinto

HELIA 17 (17) Luokkakaaviosta relaatiokaavoiksi 1. Olioluokka kuvataan omana relaationaan 2. Yksiarvoinen ominaisuus liitetään sen relaation attribuutiksi, johon se liittyy 5. Moniarvoinen ominaisuus kuvataan omana relaationaan 3. Itsenäisen olioluokan pääavaimeksi luodaan juokseva numero 4. Alityyppi kuvataan omana relaationaan se. pääavain on sama kuin emotyypin pääavain pääavain myös viiteavaimeksi viittaamaan emotyyppiin. Alityypin toteutusvaiheessa voidaan päätyä myös muunlaisiin ratkaisuihin! 5. Aggregaattiluokan pääavaimeksi luodaan juokseva numero, viiteavain viittaamaan koostuvaan luokkaan 6. Yhteysluokan pääavain muodostuu kunkin osallistuvan luokan pääavaimesta. Kukin näistä määritellään erikseen myös viiteavaimeksi 7. 1:n yhteys kuvataan liittämällä viiteavain yhteyden n- päässä olevaan olioon 7. m:n yhteys kuvataan omana relaationaan 8. Yhteys, johon liittyy attribuutteja kuvataan omana relaationaan