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

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

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

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

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 (17) Outi Virkki Tiedonhallinta

Relaatiomalli ja -tietokanta

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

Relaatioalgebra. Kyselyt:

Tietokantojen suunnittelu, relaatiokantojen perusteita

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

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

Tietokantojen perusteet, osa 1

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

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

2. Käsiteanalyysi ja relaatiomalli

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

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

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

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

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

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

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

HELIA 1 (12) Outi Virkki Tiedonhallinta

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

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

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

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

Relaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto

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 Tietokantojen perusteet, , H.Laine

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

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

3. Käsiteanalyysi ja käsitekaavio

Tietokannan suunnittelu

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

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

811120P Diskreetit rakenteet

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

HELIA 1 (17) Outi Virkki Tiedonhallinta

HELIA 1 (19) Outi Virkki Tietokantasuunnittelu

HELIA 1 (11) Outi Virkki Tiedonhallinta

Joukot. Georg Cantor ( )

CSE-A1200 Tietokannat

MS-A0402 Diskreetin matematiikan perusteet

Approbatur 3, demo 1, ratkaisut A sanoo: Vähintään yksi meistä on retku. Tehtävänä on päätellä, mitä tyyppiä A ja B ovat.

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

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

TIETOKANNAN NORMALISOINTI JA NORMAALIMUODOT

8 Joukoista. 8.1 Määritelmiä

Relaation tyhjyyden testaaminen

Luonnollisten lukujen ja kokonaislukujen määritteleminen

Alkioiden x ja y muodostama järjestetty pari on jono (x, y), jossa x on ensimmäisenä ja y toisena jäsenenä.

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

Lineaarialgebra ja matriisilaskenta II Syksy 2009 Laskuharjoitus 1 ( ) Ratkaisuehdotuksia Vesa Ala-Mattila

HELIA 1 (20) Outi Virkki Tiedonhallinta

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

Esimerkki. pankkien talletus- ja lainatietokanta: Yhdiste, leikkaus, erotus ym. Leikkaus (intersect) Yhdiste (Union) Erotus (except/minus) Leikkaus

Yhdiste, leikkaus, erotus ym.

Johdatus matemaattiseen päättelyyn

keskenään isomorfiset? (Perustele!) Ratkaisu. Ovat. Tämän näkee indeksoimalla kärjet kuvan osoittamalla tavalla: a 1 b 3 a 5

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

Kuinka määritellään 2 3?

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

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

Kuvauksista ja relaatioista. Jonna Makkonen Ilari Vallivaara

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

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

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

Valitsemalla sopivat alkiot joudutaan tämän määritelmän kanssa vaikeuksiin, jotka voidaan välttää rakentamalla joukko oppi aksiomaattisesti.

1. Logiikan ja joukko-opin alkeet

Kuvaus eli funktio f joukolta X joukkoon Y tarkoittaa havainnollisesti vastaavuutta, joka liittää joukon X jokaiseen alkioon joukon Y tietyn alkion.

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

Olkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko,

Relaatioista TIETOJENKÄSITTELYTIETEIDEN LAITOS, JUHA IISAKKA 11-14

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

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Kuvaus eli funktio f joukolta X joukkoon Y tarkoittaa havainnollisesti vastaavuutta, joka liittää joukon X jokaiseen alkioon joukon Y tietyn alkion.

CS-A1150 Tietokannat

CSE-A1200 Tietokannat

CS-A1150 Tietokannat CS-A1150 Tietokannat / 34

Tietojenkäsittelyteorian alkeet, osa 2

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

Luento 3 Tietokannan tietosisällön suunnittelu

Alkioiden x ja y muodostama järjestetty pari on jono (x, y), jossa x on ensimmäisenä ja y toisena jäsenenä.

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

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43

Helsingin yliopisto/tktl Kyselykielet, s 2006 Optimointi Harri Laine 1. Kyselyn optimointi. Kyselyn optimointi

Ohjelmoinnin perusteet Y Python

CS-A1150 Tietokannat CS-A1150 Tietokannat / 34

Tietokannan rakenteen suunnittelu

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

Tietokantakurssit / TKTL

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

Tietokannat II -kurssin harjoitustyö

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

CS-A1150 Tietokannat

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

Transkriptio:

RINT THIS DOCUM ENT Relaatiotietokannat DONOTP Relaatiomalli Perustana rakennetason tietomalli relaatiomalli (the relational model of data) perusteoria: Codd 1970 ensimmäiset kaupalliset toteutukset 70-luvun lopulla yleistynyt 80-luvun lopulla DB2, Oracle, Informix, Sybase, MS SQLServer, yms. Mallin perustana näkemys tietokannasta joukkona tietoalkioiden muodostamia matemaattisia relaatioita Yksinkertainen peruskäsitteistö, vähän käsitteitä Helppo ymmärtää havainnollisesti taulukkoesityksenä 1 2 Relaatio havainnollisesti Relaation matemaattinen määritelmä n nimi Attribuutit AUTO Rek Väri Vmalli ACM-256 musta 1988 MAC-532 sininen 1994 Monikot ISO-795 musta 1992 OSI-228 punainen 1987 HCI-449 valkoinen 1993 Arvo Olkoon D 1, D 2,..., D n arvojoukkoja, joiden ei tarvitse olla erillisiä. Relaatio R on joukko monikkoja (tuple, n- tuple), joiden 1. arvo kuuluu joukkoon D 1, 2. arvo joukkoon D 2 jne. Matemaattisesti relaatio on siis ristitulon D 1 xd 2 x...xd n osajoukko. 3 4 Monikko Arvojoukko Monikko on arvojen jono (a1,,an). Taulukkomuotoisessa esityksessä sitä vastaa taulukon rivi Ristitulo : Joukkojen A={1,2,3) ja B={a,b} ristitulo (karteesinen tulo) A B on kaikkien niiden parien (x,y) joukko, joissa ensimmäinen alkio kuuluu joukkoon A ja toinen joukkoon B eli joukko {(1,a), (1,b), (2,a), (2,b), (3.a), (3,b)} Arvojoukko kokoelma atomisia (osiin jakautumattomia) arvoja, esim. kokonaisluvut henkilötunnukset enintään 4-merkkiset merkkijonot merkkijonot Tyhjä arvo (NULL-arvo) sisältyy jokaiseen arvojoukkoon! 5 6 Harri Laine 1

Attribuutti = sarakkeen nimi Attribuutti (attribute) on arvon paikalle monikossa annettu nimi. Attribuuttiin liittyy tulkinta sille, mitä asiaa kyseisessä paikassa oleva arvo ilmaisee. Jokaiseen attribuuttiin liittyy arvojoukko ja jokaisessa monikossa jokin arvojoukon arvo. Attribuuttiin liittyvä arvojoukko tulisi määritellä siten, että sen arvoilla pystytään esittämään kaikki ne asiat, jotka attribuuttiin liittyvän tulkinnan mukaan pitää kyetä esittämään esim. kaikki mahdolliset värit Relaatio määritellään relaatiokaavion (relation schema) avulla. määrittelee mitä attribuutteja relaatioon kuuluu millaiset arvojoukot attribuuteilla on ja mikä tulkinta attribuuttiin liittyy lla on myös nimi. 7 8 Yksinkertaisimmillaan relaatiokaavio voidaan esittää muodossa R(A1,, Am), missä R on kaavion nimi ja A1,,Am ovat attribuutteja Tällaista määritystä käytettäessä oletetaan, että lukija osaa kuvaavien attribuuttinimien perusteella arvata niiden arvojoukot ja tulkinnat Esim. Auto(Rek,Väri,Vmalli) 9 Täydellisempi esitys: Auto(Rek: Suomalaiset_rekisterinumerot, Väri: Autovärit, Vmalli: Vuosiluvut >1900) Relaatio on relaatiokaavion ilmentymä. n ilmentymät kuvaavat jotain todellisuuden ilmiötä, vaikkapa autojen olemassaoloa. Ilmiön muuttuessa sen kuvankin pitäisi muuttua, joten kaavion ilmentymä voi eri aikoina olla erilainen 10 Matemaattisesti relaatio on joukko. Joukossa alkio ei toistu, joten kaikki relaation monikot ovat keskenään erilaisia Joukossa alkioiden järjestyksellä ei ole merkitystä. Attribuuttien järjestyksellä relaatiokaaviossa ei myöskään ole merkitystä 11 -käsitteitä Relaation koko (cardinality) relaation monikoiden lukumäärä Relaation aste (degree) relaatiokaavion attribuuttien lukumäärä Relaatiotietokanta sisältää yleensä useita relaatioita Relaatiotietokantakaavio (relational database schema) relaatiotietokannan relaatiot määrittelevien relaatiokaavioiden kokoelma 12 Harri Laine 2

Teoria vs havaintoesitys Teorian käsite Relaatio Monikko Attribuutti Havaintoesityksen käsite Taulukko Taulukon rivi Sarakkeen nimi 13 (key) Relaation monikot ovat keskenään erilaisia pystytään identifioimaan sisältönsä perusteella identifiointiin ei välttämällä tarvita kaikkien attribuuttien arvoja Relaation avain (key) on sellainen attribuutti tai niiden yhdistelmä, jolle pätee missään relaatiokaavion ilmentymässä ei voi olla kahta tai useampaa riviä, joilla on samat avainattribuuttien arvot yhdistelmästä ei voi poistaa yhtään attribuuttia siten että jäljellejäävät täyttäisivät edellisen ehdon (minimaalisuus) 14 AUTO Rek Väri Vmalli ACM-256 musta 1988 MAC-532 sininen 1994 ISO-795 musta 1992 OSI-228 punainen 1987 HCI-449 valkoinen 1993 Rek ja Vmalli erikseen erottelevat ilmentymässä. Vmalli ei kuitenkaan kaikissa mahdollisissa ilmentymissä. on voi liittyä useita attribuuttiyhdistelmiä, jotka täyttävät avainehdot. Jokin ehdokkaista tulee valita pääavaimeksi: ensisijaiseksi tavaksi osoittaa ja viitata monikkoon Työntekijä(henkilötunnus,, työntekijänumero) kumpikin kävisi, valitaan tarkoituksenmukaisempi 15 16 Pääavain esitetään relaatiokaaviossa alleviivaamalla siihen kuuluvat attribuutit Auto (Rek, Väri,Vmalli) Työntekijä (Työntekijänumero, ) Pelivaraus (kenttänumero, alkuaika, kesto, nimi) 17 (foreign key) Tietokanta muodostuu useista relaatioista Relaatioiden monikot ovat usein kytköksissä toisiinsa työntekijämonikko kytkeytyy sitä osastoa kuvaavaan monikkoon, jolla työntekijä työskentelee lainaus kytkeytyy kirjaa ja lainaajaa kuvaaviin monikkoihin Relaatiotietokannassa kytkentä saadaan aikaan sisällyttämällä monikkoon kytkettävän, siis vieraan, monikon (pää)avain. 18 Harri Laine 3

Auto Rek Väri Vmalli ISO-795 Musta 1992 Omistus Henkilötunnus Auto 121212-1234 ISO-795 Attribuuttia tai attribuuttiyhdistelmää, jonka arvot (mahdollisia tyhjäarvoja lukuunottamatta) ovat jonkin relaation avainattribuuttien arvoja kutsutaan viiteavaimeksi (foreign key). Kussakin viiteavaimen sisältävän relaation monikossa voi viiteavainattribuuteilla olla vain yksi arvo (kuten muillakin attribuuteilla) Monikko kytkeytyy siis viiteavaimen kautta vain yhteen muuhun monikkoon. Viittauksen kohteena olevaan monikkoon voi viitata muitakin monikkoja. 19 20 Vaikka viiteavain viittaakin yhteen suuntaan sitä voi hyödyntää kaksisuuntaisesti esim. selvitettäessä : mikä auto kytkeytyy tiettyyn omistukseen mitkä omistukset kytkeytyvät tiettyyn autoon Viiteavaimen sisältävä Viittauksen kohde Viiteavaimen esittäminen relaatiokaaviossa Omistus(Henkilötunnus Henkilö, Auto Auto) Henkilötunnus viittaa Henkilöön ja Auto Autoon Osallistuu(Kuka Opiskelija, (Kurssikoodi, RyhmäNumero) Harjoitustryhmä) Kahdesta attribuutista muodostuva viiteavain 21 22 Viiteavaimella voidaan kytkeä toisiinsa myös saman relaation eri monikoita. Esim Työntekijä(TyöntekijäNumero,, Esimies Työntekijä) attribuutin Esimies arvona on kullakin rivillä jonkin toisen työntekijän työntekijänumero Työntekijä TyöntekijäNumero Esimies 1010 1020 1010 1030 1010 Viite-eheys (referential integrity): On mahdollista viitata vain olemassaoleviin monikoihin ts viiteavaimen arvona ei saa olla sellaista arvoa, joka ei esiinny kohderelaation pääavaimena Tyhjäarvo viiteavaimen arvona = ei viitata mihinkään 23 24 Harri Laine 4

Tietokantakaavio kuvana Pääavain attribuutit Relaatio1 _attribuutti1 _attribuutti2 Muu_attribuutti1 Muu_attribuuttiN _attr! _att2 _attr3 Relaation nimi Relaatio2 _attribuutti1 _attribuutti2 _attribuutti3 Muu_attribuutti1 Muu_attribuuttiM Tietokantakaavio kuvana asiakas hetu nimi osoite virkailija nimi pantti kuitti tyyppi ikä arvo laina summa asiakas maksusuunnitema korko hyväksyjä arvioija erä kuitti virkailija_ eräpvm viiteavain maksupvm 25 summa 26 Harri Laine 5