5.1 Normalisoinnin tarkoitus 5.2 Funktionaalinen riippuvuus 5.3 Normaalimuodot. Luku 5. Normalisointi. ITKA204 kevät

Koko: px
Aloita esitys sivulta:

Download "5.1 Normalisoinnin tarkoitus 5.2 Funktionaalinen riippuvuus 5.3 Normaalimuodot. Luku 5. Normalisointi. ITKA204 kevät"

Transkriptio

1 5.1 Normalisoinnin tarkoitus 5.2 Funktionaalinen riippuvuus 5.3 Normaalimuodot Luku 5 Normalisointi ITKA204 kevät

2 5.1 Normalisoinnin tarkoitus Loogisen tason suunnittelu ja validointi Käsitekaava transformointi normalisointi Relaatiokaavat denormalisointi fyysinen suunnittelu Saantimenetelmät, tiedostorakenteet, indeksit, hajautus ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 2

3 5.1 Normalisoinnin tarkoitus Ratkaisu kahteen ongelmaan 1. Loogisen rakenteen ongelmat: Huonosti nimetyt relaatiot ja attribuutit kuvaavat reaalimaailman vastinettaan heikosti tai virheellisesti. Tyhjäarvoja runsaasti suosivat attribuutit. Relaatiorakenteet, joihin on tarpeettomasti mallinnettu tietoa useasta reaalimaailman kohteesta. Attribuutit, joiden arvot ovat tarpeettomasti koosteisia. Huonosti suunnitellut liitosattribuutit tuottavat sisällöltään harhaisia (spurious) monikoita. tt_kaup kaup=kaup tt_proj tt_kaup tt_proj htun ptun kaup nimi nimi kaup htun ptun kaup h1 p1 HKI Aatami Aatami HKI h1 p1 HKI h1 p1 HKI Bertta Aatami TRE h1 p2 TRE h1 p2 TRE Aatami Bertta HKI h2 p1 HKI h2 p1 HKI Aatami h2 p1 HKI Bertta ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 3

4 5.1 Normalisoinnin tarkoitus Ratkaisu kahteen ongelmaan 2. Datan toisteisuudesta (redundancy) eli tarpeettomasta toistosta johtuvat ongelmat: Kasvavat tallennustilavaatimukset. Erilaiset kirjoitusoperaatioista johtuvat poikkeamat (anomaly). ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 4

5 5.1 Normalisoinnin tarkoitus Poikkeamat Codd (1972b) jakaa toisteisuudesta johtuvat poikkeamat kolmeen luokkaan: Lisäysoperaatioista johtuvat poikkeamat (insertion anomaly) Poisto-operaatioista johtuvat poikkeamat (deletion anomaly) Muokkausoperaatioista johtuvat poikkeamat (modification anomaly) optun opnimi kurssitun kurssinimi arvosana o7111 Aatami Laippa itka204 Tietokannat 5 o7111 Aatami Laippa itkp113 Oliosuunnittelu 4 o7111 Aatami Laippa tjta114 Tietohallinto HYV o6800 Bertta Hukari itka204 Tietokannat 5 o6604 Cecilia Rastas tjta114 Tietohallinto HYV ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 5

6 5.2 Funktionaalinen riippuvuus Funktionaalinen riippuvuus yleisesti Normalisoinnin keskeisin käsite on funktionaalinen riippuvuus (functional dependency, FD). FD:llä tarkoitetaan jonkin attribuutin arvon määräytymistä saman relaation attribuuttijoukon (1..n attribuuttia) arvon perusteella. Ts. relaation R jokaisella monikolla m 1..m n, jolla attribuutin X arvo on a, on vastaavilla monikoilla m 1..m n attribuutin Y arvo aina b. Tällöin pätee funktionaalinen riippuvuus Y riippuu funktionaalisesti X:stä. Funktionaalinen riippuvuus merkitään seuraavalla notaatiolla, jossa attribuuttijoukko {X} on määräävä attribuuttijoukko, ja Y on {X}:stä riippuvainen attribuutti. { X } Y htun (X) etunimi (Y) h1 h2 h3 Aatami Bertta Cecilia ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 6

7 5.2 Funktionaalinen riippuvuus Funktionaalinen riippuvuus yleisesti Tarkastellaan funktionaalista riippuvuutta käytännön esimerkin kautta. htun ABCD EFGH IJKL MNOP nimi Aatami Laippa Bertta Hukari Aatami Laippa Cecilia Rastas jos tiedetään henkilötunnus, tiedetään yksiselitteisesti myös nimi jos tiedetään nimi, ei tiedetä yksiselitteisesti henkilötunnusta Relaatiossa pätee siis funktionaalinen riippuvuus {htun} nimi, koska aina kun henkilötunnus on arvoltaan a, on nimi vastaavilla riveillä aina arvoltaan b. Relaatiossa ei kuitenkaan päde funktionaalinen riippuvuus {nimi} htun, koska nimen ollessa Aatami Laippa, ei htun ole jokaisella vastaavalla rivillä samanarvoinen. Ts. htun on funktionaalisesti riippumaton nimestä. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 7

8 5.2 Funktionaalinen riippuvuus Funktionaalinen riippuvuus Vaikka notaatio on matemaattinen, kyseessä ei ole matemaattinen ilmiö. Funktionaalisten riippuvuuksien löytäminen edellyttää relaation merkityksen ymmärtämistä. Funktionaaliset riippuvuudet pyritään tavallisesti löytämään rakennetta (ei sisältöä) tutkimalla. petun peetu pesuku pesynt_aika kilptun kilpnimi maalit erilaisia esitysmuotoja funktionaalisille riippuvuuksille {petun} peetu {petun} pesuku {petun} pesynt_aika {kilptun} kilpnimi {petun, kilptun} maalit Selitykset: - petun = pelaajatunnus - peetu = pelaajan etunimi - pesuku = pelaajan sukunimi - pesynt_aika = pelaajan syntymäaika - kilptun = kilpailun tunnus - kilpnimi = kilpailun nimi - maalit = pelaajan tekemien maalien lukumäärä kilpailussa ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 8

9 5.2 Funktionaalinen riippuvuus Päättelysäännöt Sellaisia funktionaalisia riippuvuuksia, joita ei voida edes teoriassa rikkoa, kutsutaan triviaaleiksi. Armstrong (1974) on esittänyt funktionaalisiin riippuvuuksiin liittyvien päättelysääntöjen joukon: 1. Refleksiivisyyssäännön mukaan aina, jos attribuutti Y on attribuuttijoukon {X} osajoukko, pätee triviaali funktionaalinen riippuvuus Y riippuu X:stä, ts. X riippuu itsestään : Y X niin { X } Y esim. {htun} htun tai {etunimi, sukunimi} etunimi 2. Transitiivisuussäännön mukaan aina jos pätevät funktionaaliset riippuvuudet "Y riippuu X:stä" ja "Z riippuu Y:stä" pätee myös funktionaalinen riippuvuus "Z riippuu X:stä". { X } Y ja { Y } Z niin { X } Z esim. jos {htun} osastonro ja {osastonro} osastonimi, niin {htun} osastonimi ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 9

10 5.2 Funktionaalinen riippuvuus Päättelysäännöt 3. Yhdistesäännön mukaan aina jos pätevät funktionaaliset riippuvuudet Y riippuu X:stä" ja "Z riippuu X:stä", pätee myös funktionaalinen riippuvuus "Y ja Z riippuvat X:stä". { X } Y ja { X } Z niin { X } { Y, Z } esim. jos {htun} etunimi ja {htun} sukunimi, niin {htun} {etunimi, sukunimi} 4. Jakosäännön mukaan aina, jos pätee funktionaalinen riippuvuus "Y ja Z riippuvat X:stä", pätevät myös funktionaaliset riippuvuudet "Y riippuu X:stä" ja "Z riippuu X:stä". { X } { Y, Z } niin { X } Y ja { X } Z esim. jos {htun} {etunimi, sukunimi}, niin {htun} etunimi ja {htun} sukunimi ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 10

11 5.2 Funktionaalinen riippuvuus Päättelysäännöt 5. Täydentämissäännön mukaan aina jos pätee funktionaalinen riippuvuus Y riippuu X:stä, pätee myös funktionaalinen riippuvuus Y riippuu X:n ja Z:n yhdistelmästä. { X } Y niin { X, Z } Y esim. jos {htun} etunimi, niin {htun, sukunimi} etunimi Huomattakoon, että seuraava päättelysääntö ei ole välttämättä voimassa: { X, Y } Z niin { X } Z ja { Y } Z Esim. aikaisemmin esitetyn esimerkin mukaan, jos {petun, kilptun} maalit ei päde {petun} maalit eikä myöskään {kilptun} maalit ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 11

12 5.2 Funktionaalinen riippuvuus Luentotehtävä 6 Tarkastella alla olevan relaation attribuutteja ja esitä funktionaaliset riippuvuudet kohdealueen tietämyksesi perusteella. Kohdealue koskee opiskelijoita, oppiaineita, opintojaksoja (oj) ja suorituksia. htun etunimi sukunimi pääaine sivuaine laitosnimi ojtunnus ojnimi arvolause suorituspvm ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 12

13 5.2 Funktionaalinen riippuvuus Luentotehtävä 6: ratkaisu Tarkastella alla olevan relaation attribuutteja ja esitä funktionaaliset riippuvuudet kohdealueen tietämyksesi perusteella. Kohdealue koskee opiskelijoita, oppiaineita, opintojaksoja (oj) ja suorituksia. 3) 1) 2) htun etunimi sukunimi pääaine sivuaine laitosnimi ojtunnus ojnimi arvolause 4) 5) suorituspvm 1) {htun} {etunimi, sukunimi, pääaine, laitosnimi} 2) {sivuaine} laitosnimi 3) {pääaine} laitosnimi 4) {ojtunnus} {ojnimi, laitosnimi} 5) {ojtunnus, htun} {arvolause, suorituspvm} Huom., ei päde: {htun} sivuaine ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 13

14 Yleistä normaalimuodoista Normalisoinnilla tarkoitetaan tietokannan loogiseen suunnitteluun kuuluvaa toimintaa, jossa relaatioiden rakennetta muokataan jonkin tietyn normaalimuodon (normal form, NF) vaatimukset täyttäväksi. Normalisoinnin tavoitteena on tietokannan rakenteen selkeyttäminen ja datan toisteisuuden vähentäminen. Normaalimuodot voidaan nähdä sisäkkäisinä, esim. toisessa normaalimuodossa oleva relaatio on myös ensimmäisessä normaalimuodossa. Normalisoimaton 1NF 2NF 3NF BCNF 4NF ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 14

15 Normalisointiprosessi Normalisointiprosessi on relaatiokohtainen. Jos relaatio ei täytä jonkin normaalimuodon vaatimuksia, se tulee jakaa osiin. Jako tapahtuu relaatioalgebran mukaisella projektiolla (eli taulukkona kuvattu relaatio jaetaan pystysuunnassa). Jaon täytyy tapahtua siten, että jakamisen tuloksena syntyvien relaatioiden liitos ei tuota erilaisia monikoita kuin alkuperäinen relaatio, jokainen jaettavassa relaatiossa esiintyvä funktionaalinen riippuvuus säilytetään jossakin jaon tuloksena muodostetussa relaatiossa tai näiden liitoksessa niin, että liitos ei tuota harhaisia (spurious) monikoita ja lopulta relaatioita ei ole määrällisesti enempää kuin mitä tavoitellun normaalimuodon saavuttaminen vaatii. Kaikkia (tai yhtäkään) relaatiota ei välttämättä tarvitse saattaa vahvimpaan normaalimuotoon. Normalisointiprosessi tehdään juuri niin pitkälle, kuin kohdealueen tarpeet vaativat. Vahvemmat normaalimuodot suosivat ympäristöjä, joissa päivitetään (INSERT, UPDATE, DELETE) usein. Vahvemmat normaalimuodot käytännössä tavallisesti hidastavat lukuoperaatioita. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 15

16 Ensimmäinen normaalimuoto Relaatio, joka ei ole ensimmäisen normaalimuodon (first normal form, 1NF) mukainen, on normalisoimaton. Normalisoimaton (non-first normal form, NFNF) relaatio ei ole relaatiomallin mukainen. Relaatio on 1NF:ssä, jos sen kaikki attribuutit ovat atomisia ja sopivaa tyyppiä. Sopivalla tyypillä tarkoitetaan, että mikään attribuutti ei ole viittaus toiseen relaatioon (attribuutti voi kuitenkin olla viittaus toisen relaation attribuuttiin), eikä samaa tyyppiä kuin relaatio, johon attribuutti kuuluu. htun etunimi puhelin ABCD Matti EFGH Maija [ , , ] IJKL Teppo [ , ] Relaatio ei ole 1NF:n mukainen, koska puhelin ei ole atominen. Normalisoidaan 1NF:ään jakamalla relaatio kahteen osaan: HENKILÖ(htun, etunimi) ja PUHELIN(htun, puh) ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 16

17 Toinen normaalimuoto Toiseen normaalimuotoon (second normal form, 2NF) liittyy käsite täydestä funktionaalisesta riippuvuudesta (full functional dependency). Täydellä funktionaalisella riippuvuudella tarkoitetaan sellaista funktionaalista riippuvuutta {X} Y, jossa attribuuttijoukkoa {X} ei voida jakaa osiin niin, että funktionaalinen riippuvuus säilytetään. Ts. {X}:n todellinen osajoukko ei ole Y:n suhteen määräävä attribuuttijoukko. Relaatio on 2NF:ssä, jos se on 1NF:ssä ja relaation kaikki perusavaimeen kuulumattomat attribuutit ovat täysin funktionaalisesti riippuvia relaation perusavaimesta. R ( A, B, C, D ) ei ole 2NF:n mukainen, koska {B} D S ( A, B, C, D ) on 2NF:n mukainen! ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 17

18 Toinen normaalimuoto 2NF:n täyttämättömien relaatioiden ongelma on tavallisesti se, että perusavaimeen kuulumaton attribuutti riippuu funktionaalisesti perusavaimen todellisesta osajoukosta. Näin ollen relaatiot, joiden perusavain koostuu useammasta kuin yhdestä attribuutista, vaativat erityistä huomiota. htun projnro tehtava projnimi ABCD p555 projektipäällikkö Louhinta EFGH p555 avustaja Louhinta IJKL p597 projektipäällikkö HR Relaatio ei ole 2NF:n mukainen, koska {projnro} projnimi ABCD p597 avustaja HR Normalisoidaan 2NF:ään jakamalla relaatio: PROJEKTI ( projnro, projnimi ), jossa pätee {projnro} projnimi TEHTAVA_PROJEKTISSA ( htun, projnro, tehtava ), jossa pätee {htun, projnro} tehtava ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 18

19 Toinen normaalimuoto Toisesta normaalimuodosta on olemassa myös vahvempi muoto: Relaatio on 2NF:ssä, jos se on 1NF:ssä, ja jokainen avainehdokkaisiin kuulumaton attribuutti on täysin funktionaalisesti riippuvainen kaikista avainehdokkaista. Yllä esitettyä, vahvempaa muotoa ei kurssilla käsitellä. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 19

20 Esimerkki normalisointiprosessista Suomen talvessa järjestetään joka viikonloppu lukuisia kalastuskilpailuja. Oletetaan, että kukin kilpailu on yksipäiväinen. Paikkakunta voi vaihdella, mutta kukin kilpailu pidetään vain yhdellä paikalla. SAALIS ( kilp_tunnus kilp_paikka kilp_pvm kalastajatun kalastaja_nimi syntvuosi saaliin_paino_yht kalojen_lkm_saaliissa sijoitus_kisassa ) Relaation perusavaimeksi sopisi {kilp_tunnus, kalastajatun} tai {kilp_tunnus, sijoitus_kisassa}. Valitaan perusavaimeksi toinen. Relaatio on 1NF:ssä, koska kaikki attribuutit ovat atomisia ja ne oletetaan sopivan tyyppisiksi. Relaatio ei ole 2NF:ssä, koska kilp_paikka ja kilp_pvm eivät ole täysin funktionaalisesti riippuvaisia perusavaimesta (valittiin kumpi hyvänsä). relaatio täytyy siis jakaa ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 20

21 Esimerkki normalisointiprosessista Jakaminen johtaa seuraavaan relaatiorakenteeseen: SAALIS ( kilp_tunnus kilp_paikka kilp_pvm kalastajatun kalastaja_nimi syntvuosi saaliin_paino_yht kalojen_lkm_saaliissa sijoitus_kisassa ) KILPAILU ( kilp_tunnus, kilp_paikka, kilp_pvm ) KALASTAJA ( kalastajatun, kalastaja_nimi, synt_vuosi ) TULOS ( kilp_tunnus, kalastajatun, saaliin_paino_yht, kalojen_lkm_saaliissa, sijoitus_kisassa ) Nämä kolme relaatiota ovat 2NF:n mukaisia, koska kaikki perusavaimeen kuulumattomat attribuutit ovat täysin funktionaalisesti riippuvia relaatioidensa perusavaimista. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 21

22 Kolmas normaalimuoto Kolmanteen normaalimuotoon (third normal form, 3NF) liittyy käsite transitiivisesta riippuvuudesta. Attribuutti Z on transitiivisesti riippuvainen attribuuttijoukosta {X}, jos {X} Y ja {Y} Z Relaatio on 3NF:ssä, jos se on 2NF:ssä ja mikään relaation perusavaimeen kuulumaton attribuutti ei ole transitiivisesti riippuvainen relaation perusavaimesta. Ts. mikään perusavaimeen sisältymätön attribuutti ei saa riippua perusavaimeen sisältymättömästä attribuuttijoukosta. R ( A, B, C, D ) ei ole 3NF:n mukainen, koska {A,B} C ja {C} D, joten {A,B} D S ( A, B, C, D ) ei ole 3NF:n mukainen, koska {A} B ja {B} D, joten {A} D ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 22

23 Kolmas normaalimuoto Relaatiot normalisoidaan kolmanteen normaalimuotoon jakamalla: R ( A, B, C, D ) R1 ( A, B, C ) R2 ( C, D ) S ( A, B, C, D ) S1 ( A, B, C ) S2 ( B, D ) ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 23

24 Luentotehtävä 7 a) Esitä funktionaaliset riippuvuudet b) Normalisoi 3NF:ään. htun etunimi sukunimi projnro projnimi h1000 Aatami Laippa p900 HR h1002 Bertta Hukari p900 HR h1004 Cecilia Rastas p995 Louhinta h1005 Daavid Pörrö p886 HR ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 24

25 Luentotehtävä 7: ratkaisu Relaatio on 1NF:ssä, koska kaikki attribuutit ovat atomisia ja sopivaa tyyppiä. Relaatio on 2NF:ssä, koska kaikki perusavaimeen kuulumattomat attribuutit ovat täysin riippuvaisia perusavaimesta htun. Relaatio ei ole 3NF:ssä, koska pätee transitiivinen riippuvuus {htun} {projnimi} Relaatio täytyy siis jakaa: htun etunimi sukunimi projnro projnimi h1000 Aatami Laippa p900 HR h1002 Bertta Hukari p900 HR h1004 Cecilia Rastas p995 Louhinta h1005 Aatami Rastas p886 HR HENKILÖ ( htun, etunimi, sukunimi, projnro ) PROJEKTI ( projnro, projnimi ) ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 25

26 Boyce/Codd -normaalimuoto Boyce/Codd normaalimuoto (Boyce/Codd normal form, BCNF) tarkastelee attribuuttien funktionaalista riippuvuutta relaation avainehdokkaista. Relaatio on BCNF:ssä, jos se on 3NF:ssä ja jokaisen funktionaalisen riippuvuuden määräävä attribuuttijoukko {X} on myös relaation superavain. R ( A, B, C, D ) ei ole BCNF:n mukainen, koska {B,C} D, ja {B,C} ei ole superavain. S ( A, B, C ) ei ole BCNF:n mukainen, koska {C} B, ja C ei ole superavain. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 26

27 Boyce/Codd -normaalimuoto opiskelija kurssi opettaja Aatami Tietokannat Martikainen Bertta Tietokannat Onninen Cecilia Käyttöjärjestelmät Ruotsalainen Daavid Tietokannat Onninen Aatami Käyttöjärjestelmät Ruotsalainen Tiedetään pätevän: {opettaja} kurssi {opiskelija, kurssi} opettaja Relaatio ei ole BCNF:ssä, koska attribuutti opettaja ei ole superavain. Jaetaan jollakin kolmesta tavasta: Elmasri & Navathe (2007) suosittelevat tapaa 3. 1) R(opiskelija, opettaja) ja S(opiskelija, kurssi) 2) R(kurssi, opettaja) ja S(kurssi, opiskelija) 3) R(kurssi, opettaja) ja S(opiskelija, opettaja) ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 27

28 Kokoava esimerkki normalisointiprosessista R ( A, B, C, D, E, F ) R1 ( A, B, D, E, F ) R2 ( B, C ) Relaatio on 1NF:ssä, koska kaikki attribuutit ovat atomisia ja ne oletetaan sopivan tyyppisiksi. Relaatio ei ole 2NF:ssä, koska attribuutti C ei ole täysin funktionaalisesti riippuvainen relaation perusavaimesta. Relaatiot ovat 2NF:ssä, koska kaikki attribuutit ovat täysin funktionaalisesti riippuvaisia relaatioidensa perusavaimesta. Relaatio R1 ei ole 3NF:ssä, koska attribuutti E on transitiivisesti riippuvainen perusavaimesta. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 28

29 Kokoava esimerkki normalisointiprosessista R11 ( A, B, D, F ) R111 ( A, B, D ) R12 ( D, E ) R112 ( F, B ) Relaatiot ovat 3NF:ssä, koska mikään perusavaimeen kuulumaton attribuutti ei ole transitiivisesti riippuvainen perusavaimesta. Relaatio R11 ei ole BCNF:ssä, koska attribuutti F ei ole R11:n superavain. Kaikki relaatiot ovat BCNF:ssä, koska jokainen määräävä attribuuttijoukko on myös relaation superavain. BCNF:n mukaisessa tietokannassa on siis tässä esimerkissä relaatiot R111, R112, R12 ja R2. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 29

30 Kokoava esimerkki normalisointiprosessista R 1NF R1 R2 2NF R11 R12 R2 3NF R111 R112 R12 R2 BCNF ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 30

31 Stressikäyrä Sisältörunko 1. Johdanto 2. Käsitteellinen mallintaminen 3. Relaatiomalli 4. Transformointi 5. Relaatioalgebra 6. SQL 7. Tapahtumanhallinta 8. Normalisointi 9. Tietovarastointi 10. Hajautus 11. Tietokantaparadigmat Tässä ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 31

32 Neljäs normaalimuoto Neljänteen normaalimuotoon (fourth normal form, 4NF) liittyy käsite moniarvoisesta riippuvuudesta (multivalued dependency, MVD). Moniarvoisella riippuvuudella tarkoitetaan tilannetta, jossa relaatio yrittää mallintaa useampaa kuin yhtä N:M suhdetta. Tällöin jotkin attribuuteista ovat arvoiltaan toisistaan riippumattomia, ja niiden arvon täytyy esiintyä relaation jokaisella monikolla. Esim. (Hoffer, Prescott & McFadden 2002): Kursseilla on tietyt opettajat. Kursseilla on tietyt kurssikirjat. Se kurssikirja, jota kurssilla käytetään, on riippumaton kurssin opettajasta. Jos kurssilla on 3 opettajaa ja 10 kurssikirjaa, kyseistä kurssia koskee 30 monikkoa. Tällöin jokainen opettaja toistetaan 10 kertaa ja jokainen kirja 3 kertaa. kurssi opettaja kirja itka204 o100 Fundamentals itka204 o100 Basics itka204 o222 Fundamentals itka204 o222 Basics itkp113 o333 Patterns itkp113 o333 Objects ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 32

33 Neljäs normaalimuoto Formaalimmin: relaatio R sisältää attribuuttijoukot (1..n attribuuttia) X, Y ja Z ja jokaisella monikolla m 1..m n, jolla X:n arvo on a, on Y:n arvojoukko b riippumatta Z:n arvoista sekä jokaisella monikolla, jolla X:n arvo on c, on Z:n arvojoukko d riippumatta Y:n arvoista. Tällöin sanotaan, että Y ja Z ovat moniarvoisesti riippuvaisia X:stä. kurssi opettaja kirja itka204 o100 Fundamentals itka204 o100 Basics itka204 o222 Fundamentals itka204 o222 Basics itkp113 o333 Patterns Funktionaalinen riippuvuus Moniarvoinen riippuvuus itkp113 o333 Objects ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 33

34 Neljäs normaalimuoto Oletetaan, että: relaatio R sisältää attribuuttijoukot (1..n attribuuttia) X, Y ja Z ja jokaisella monikolla m 1..m n, jolla X:n arvo on a, on Y:n arvojoukko b riippumatta Z:n arvoista sekä jokaisella monikolla, jolla X:n arvo on c, on Z:n arvojoukko d riippumatta Y:n arvoista. Relaatio on 4NF:ssä, jos se on BCNF:ssä ja jokaisen ei-triviaalin moniarvoisen riippuvuuden määräävä attribuuttijoukko {X} on myös relaation superavain. Moniarvoinen riippuvuus MVD{ X } Y relaatiossa R on ei-triviaali, jos Y ei ole X:n osajoukko ja X:n ja Y:n lisäksi relaatiossa on muita attribuutteja, ts. X Y R ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 34

35 Neljäs normaalimuoto Jos relaatio on transformoitu oikein, ongelmat 4NF:n suhteen ovat harvinaisia. kurssi opettaja kirja itka204 o100 Fundamentals itka204 o100 Basics itka204 o222 Fundamentals itka204 o222 Basics itkp113 o333 Patterns itkp113 o333 Objects KURSSIN_OPETTAJA ( kurssi, opettaja ) KURSSIN_KIRJA ( kurssi, kirja ) ovat 4NF:n mukaisia! ei ole 4NF:n mukainen! Jos kurssille itka204 lisätään uusi kurssikirja, joudutaan lisäämään kaksi uutta monikkoa (riviä). Entäs jos kurssilla ei ole kurssikirjaa? vrt. esim. TOIMITUS ( ttun, otun, ptun, maara ) on 4NF:n mukainen! ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 35

36 Koonti normaalimuodoista NF Keskeinen vaatimus Tyypillisiä ongelmarakenteita (eivät täytä vaatimuksia) 1NF Atomisuus, sopivat tyypit. A i v 1,v 2, 2NF Täysi funktionaalinen riippuvuus perusavaimesta. R(A1, A2, A3, A4) 3NF Ei transitiivisia riippuvuuksia perusavaimesta. R(A1, A2, A3) R(A1, A2, A3, A4) BCNF Määräävä attribuuttijoukko on myös superavain. R(A1, A2, A3) R(A1, A2, A3, A4) 4NF Moniarvoinen riippuvuus vain superavaimesta. Toisistaan riippumattomat N:M-suhteet. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 36

37 vaativuus 5.3 Normaalimuodot Muita normaalimuotoja (1NF < 2NF < 3NF) Perustavan avaimen normaalimuoto (elementary key normal form) (Zaniolo, 1982) (BCNF < 4NF) Keskeisen monikon normaalimuoto (essential tuple normal form) (Darwen, Date & Fagin, 2012) Toisteeton normaalimuoto (redundancy free normal form) (Vincent, 1998) Superavainnormaalimuoto (superkey normal form) Viides normaalimuoto (fifth normal form tai projection-join normal form) (Fagin, 1979) Vahva viides normaalimuoto (overstrong projection-join normal form) Kuudes normaalimuoto (sixth normal form) Arvojoukko-avain normaalimuoto (domain-key normal form) (Fagin, 1981) ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 37

38 Normalisointiprosessi 1. Jäsentävä (analytical) lähestymistapa: Ota lähtökohdaksi relaatiokaavat ja tunnista niiden sisäiset riippuvuudet. Jos jokin relaatio ei ole vaaditussa normaalimuodossa, jaa se osarelaatioiksi, kunnes ei ole tarvetta jatkaa. R R1 R2 R22 R21 Lähestymistavan ongelmat: Sopivan lähtökohdan löytäminen. Pelkästään jakamalla etenevä normalisointi ei välttämättä huomaa sellaisia vaihtoehtoja, jotka edellyttäisivät jossakin vaiheessa yhdistämistä (denormalisointia). ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 38

39 Normalisointiprosessi 2. Kokoava (synthetical) lähestymistapa: Ota lähtökohdaksi attribuutit ja niiden väliset riippuvuudet. Ryhmittele attribuutit relaatioiksi niitä tutkien ja riippuvuuksien mukaan ryhmitellen. a 1 a 2 a 4 R1 R22 a 6 a 3 a 5 R21 Lähestymistavan ongelmat: Jätetään pois attribuuttien ja niiden välisten riippuvuuksien ymmärtämisen kannalta olennaiset kontekstit (relaatiot). Vaatii suurta huolellisuutta ja erinomaista taustatietoa suorittaa attribuuttien ryhmittely luonnollisiksi relaatioiksi. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 39

40 Normalisointiprosessi Käytännössä on vakiintunut seuraava tapa: Sovelletaan jäsentävää lähestymistapaa pitäen lähtökohtana ER-kaavasta transformoinnin kautta saatua relaatiokannan kaavaa. Jos ER-kaava on tehty huolellisesti ja transformointi sääntöjen mukaan, suurin osa relaatiokaavoista on jo valmiiksi normalisoituja. Huomio kannattaa kohdistaa: moniarvoisia attribuutteja sisältäviin relaatioihin ja koottuja avaimia sisältäviin relaatioihin Käytännön työssä tavallisesti riittää, että relaatioiden normalisointitarkastelu ulotetaan koskemaan kolmatta normaalimuotoa ja mahdollisesti Boyce/Codd-normaalimuotoa. Viidettä normaalimuotoa tarvitaan erityisesti silloin, kun ollaan suunnittelemassa hajautettua tietokantaa. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 40

41 Normalisointiprosessi Tietokannan suunnittelussa joudutaan usein tekemisiin satojen attribuuttien ja kymmenien relaatioiden kanssa. Niiden määrittely ja suhteiden tarkastelu käsin on työlästä ja virhealtista. Siksi on käytössä välineitä, jotka automaattisesti tai suunnittelijan tuella osaavat tehdä transformoinnin ER-kaaviosta relaatiorakenteiksi, perusnormalisointitarkastelun sekä relaatiokaavan SQL-määritykset useille tunnetuille tietokannanhallintajärjestelmille. Nämä määritykset tulee tietokannan suunnittelijan luonnollisesti vielä tarkistaa. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 41

42 Keinoavaimet ja luonnolliset avaimet Taulujen perusavaimiksi voidaan tapauskohtaisesti valita luonnollisen avaimen (natural key) sijaan keinoavain (surrogate key): Keinoavain ei kuvaa kohdealueen liiketoimintalogiikkaa, sillä sen arvo on merkityksetön. Siksi keinoavaimen arvoa ei ole syytä muuttaa, kun taas luonnollisen avaimen arvo voi muuttua. Keinoavain käyttää ylimääräistä tilaa levyllä (indeksin kanssa vieläkin enemmän) Toisaalta keinoavaimella toteutettu perusavain on atominen ja tavallisesti pieni (INT, CHAR). Pienen ja atomisen perusavainsarakkeen johdosta liitokset tällä sarakkeella ovat verrattain nopeita. Toisaalta taas keinoavainten vuoksi voidaan joutua tekemään ylimääräisiä liitoksia. ORM-työkalut suosivat keinoavaimia. Keinoavaimien johdosta joudutaan luomaan ylimääräisiä eheysrajoitteita. Keinoavainten vuoksi joudutaan tavallisesti indeksoimaan ylimääräisiä sarakkeita. Keinoavaimet aiheuttavat ongelmia erityisesti BCNF:n suhteen. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 42

43 TOP 5 -virheet 1. Ei ymmärretä peruskäsitteitä; esim. funktionaalinen riippuvuus, transitiivinen riippuvuus. Sekoitetaan funktionaalinen riippuvuus moniarvoiseen riippuvuuteen. 2. Ei esitetä perusavaimia (alleviivaamalla). 3. Ei anneta perusteluja normalisointiratkaisuille. 4. Relaatiotietokannan kaava on lopulta pirstaleinen. 5. Relaatiotietokanta on lopulta sellainen, että jotain tärkeää informaatiota on menetetty. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 43

44 Osaamistavoitteet Ymmärtää toisteisuudesta johtuvat ongelmat. Ymmärtää mikä on normalisoinnin tarkoitus, miksi sitä tehdään ja siihen liittyvät käsitteet. Osaa soveltaa normalisointisääntöjä neljänteen normaalimuotoon saakka, esim. Annetaan jokin attribuuttijoukko tai relaatio ja käsketään normalisoimaan se ja esittämään perustelut (viittauksin normaalimuotosääntöihin) ratkaisuille. Annetaan vapaamuotoinen kuvaus tietokannan sisällöstä ja käsketään sen mukaan tunnistamaan attribuutit ja niiden väliset funktionaaliset riippuvuudet sekä esittämään niiden pohjalta normalisoidut relaatiot perustellen ratkaisua normaalimuotosäännöin. Ei: muita normaalimuotoja kuin 1NF, 2NF, 3NF, BCNF ja 4NF. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 44

Relaatioista TIETOJENKÄSITTELYTIETEIDEN LAITOS, JUHA IISAKKA 11-14

Relaatioista TIETOJENKÄSITTELYTIETEIDEN LAITOS, JUHA IISAKKA 11-14 Relaatioista Sarakenimistä relaation kaava tulisi olla yksiselitteinen attribuutin roolinimen tulisi auttaa ymmärtämään attribuutin tarkoituksen OSASTO(NIMI,NRO, TNRO, SIJAINTI) mitä tarkoittaa TNRO? viiteavaimella

Lisätiedot

HELIA 1 (17) Outi Virkki Tiedonhallinta 4.11.2000

HELIA 1 (17) Outi Virkki Tiedonhallinta 4.11.2000 HELIA 1 (17) Luento 4.5 Normalisointi... 2 Tavoitteet... 2 Attribuuttien väliset riippuvuudet... 4 Funktionaalinen / moniarvoinen riippuvuus... 4 Transitiivinen / suora riippuvuus... 6 Täydellinen / osittainen

Lisätiedot

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu 20.9.2005

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu 20.9.2005 HELIA 1 (21) Luento 7 Relaatiomallin kertausta... 2 Peruskäsitteet... 2 Relaatio... 4 Määritelmä... 4 Relaatiokaava (Relation schema)... 4 Relaatioinstanssi (Relation instance)... 4 Attribuutti ja arvojoukko...

Lisätiedot

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

TIEDONHALLINNAN PERUSTEET - SYKSY 2013 TIEDONHALLINNAN PERUSTEET - SYKSY 2013 Kurssikoodi: Saapumisryhmä: Luento 4 XX00AA79-3013 TU12S2 Pasi Ranne 11.9.2013 11/9/13 Helsinki Metropolia University of Applied Sciences 1 Relaatiotietokannan suunnitteluprosessin

Lisätiedot

Relaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto

Relaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto Harri Laine Helsingin yliopisto Suosion syy? Yksinkertaisuus vähän käsitteitä helppo hahmottaa Selkeä matemaattinen perusta ei tulkintaongelmia kuten esim. UML:ssä teoria käytäntö kaavio: R(A 1 :D 1, A

Lisätiedot

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

HELIA TIKO-05 1 (20) ICT03D Tieto ja tiedon varastointi O.Virkki HELIA TIKO-05 1 (20) Normalisointi Normalisointi...2 Tavoitteet...2 Attribuuttien väliset riippuvuudet...4 Funktionaalinen / moniarvoinen riippuvuus...4 Täydellinen / osittainen riippuvuus...6 Suora /

Lisätiedot

TIETOKANNAN NORMALISOINTI JA NORMAALIMUODOT

TIETOKANNAN NORMALISOINTI JA NORMAALIMUODOT TIETOKANNAN NORMALISOINTI JA NORMAALIMUODOT A271117, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin

Lisätiedot

NORMALISOINTI TIETOJEN MALLINNUS JOUNI HUOTARI & ARI HOVI

NORMALISOINTI TIETOJEN MALLINNUS JOUNI HUOTARI & ARI HOVI TIETOJEN MALLINNUS NORMALISOINTI HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI DOCENDO (2003, 2005) LUKU 5 JOUNI HUOTARI & ARI HOVI SUUNNITTELUPUTKI Käyttäjien näkemykset Näytöt, ikkunat

Lisätiedot

HELIA 1 (17) Outi Virkki Tiedonhallinta

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

Lisätiedot

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43 CS-A1150 Tietokannat 14.3.2017 CS-A1150 Tietokannat 14.3.2017 1 / 43 Oppimistavoitteet: tämän luennon jälkeen Osaat muuttaa huonon tietokantakaavion paremmaksi: Tiedät mitä tarkoitetaan sillä, että relaatio

Lisätiedot

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43 CS-A1150 Tietokannat 13.3.2018 CS-A1150 Tietokannat 13.3.2018 1 / 43 Oppimistavoitteet: tämän luennon jälkeen Osaat muuttaa huonon tietokantakaavion paremmaksi: Tiedät mitä tarkoitetaan sillä, että relaatio

Lisätiedot

CSE-A1200 Tietokannat

CSE-A1200 Tietokannat CSE-A1200 Tietokannat 15.3.2016 CSE-A1200 Tietokannat 15.3.2016 1 / 45 Oppimistavoitteet: tämän luennon jälkeen Osaat muuttaa huonon tietokantakaavion paremmaksi: Tiedät mitä tarkoitetaan sillä, että relaatio

Lisätiedot

Relaatiomalli ja -tietokanta

Relaatiomalli ja -tietokanta Relaatiomalli ja -tietokanta > Edgar. F. (Ted) Codd, IBM, 1969 < A Relational Model of Data for Large Shared Data Banks Communications of the ACM, Vol. 13, No. 6, June 1970, pp. 377-387. > 70-luvun lopulla

Lisätiedot

Normalisointi. Jouni Huotari & Ari Hovi. kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003, 2005) luku 5

Normalisointi. Jouni Huotari & Ari Hovi. kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003, 2005) luku 5 Informaatioteknologian instituutti IIO30100 Tietokantojen suunnittelu Normalisointi kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003, 2005) luku 5 Jouni Huotari

Lisätiedot

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

HAAGA-HELIA Heti-09 1 (27) ICT05 Tiedonhallinta ja Tietokannat O.Virkki HAAGA-HELIA Heti-09 1 (27) Normalisointi Normalisointi... 2 Tavoitteet... 2 Attribuuttien väliset riippuvuudet... 4 1) Funktionaalinen vai Moniarvoinen riippuvuus?... 4 2) Täydellinen vai Osittainen riippuvuus?...

Lisätiedot

CS-A1150 Tietokannat CS-A1150 Tietokannat / 51

CS-A1150 Tietokannat CS-A1150 Tietokannat / 51 CS-A1150 Tietokannat 19.3.2019 CS-A1150 Tietokannat 19.3.2019 1 / 51 Oppimistavoitteet: tämän luennon jälkeen Osaat muuttaa huonon tietokantakaavion paremmaksi: Tiedät mitä tarkoitetaan sillä, että relaatio

Lisätiedot

Tietokantojen suunnittelu, relaatiokantojen perusteita

Tietokantojen suunnittelu, relaatiokantojen perusteita Tietokantojen suunnittelu, relaatiokantojen perusteita A277, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin

Lisätiedot

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

Kirjoita jokaiseen erilliseen vastauspaperiin kurssin nimi, tenttipäivä, oma nimesi (selkeästi), opiskelijanumerosi ja nimikirjoituksesi Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, kurssikoe 29.2.2012 (vastauksia) Liitteenä on tiivistelmä SQL-syntaksista Kirjoita jokaiseen erilliseen vastauspaperiin kurssin

Lisätiedot

ITKA204 Tietokannat ja tiedonhallinnan perusteet

ITKA204 Tietokannat ja tiedonhallinnan perusteet ITKA204 Tietokannat ja tiedonhallinnan perusteet Kevä t 2016 To n i Ta i p a l u s Jy v ä s k y l ä n y l i o p i s t o Opettaja Työskennellyt Jyväskylän yliopistossa erilaisissa opetus- ja tutkimustehtävissä

Lisätiedot

HELIA 1 (19) Outi Virkki Tietokantasuunnittelu

HELIA 1 (19) Outi Virkki Tietokantasuunnittelu HELIA 1 (19) Luento 7 Normaalimuodot jatkuu... 2 Boyce/Codd normaalimuoto BCNF... 2 4. normaalimuoto 4NF... 4 Itsenäisyys... 6 5. normaalimuoto 5NF... 7 Yhteenveto... 9 Esimerkki... 11 Denormalisointi?...

Lisätiedot

Luento L: Normalisointi

Luento L: Normalisointi HAAGA-HELIA / TIKO 1 (40) Luento L: Normalisointi Normalisointi... 2 Tavoitteet... 2 Attribuuttien väliset riippuvuudet... 4 Funktionaalinen / moniarvoinen riippuvuus... 4 Funktionaalinen riippuvuus...

Lisätiedot

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

HAAGA-HELIA TIKO-05 1 (19) ICT23a Tietokannan suunnittelu ja toteutus O.Virkki 4.9.2008 HAAGA-HELIA TIKO-05 1 (19) Relaatiomalli Relaatiomalli... 2 Peruskäsitteet... 3 Relaatio... 5 Attribuutti ja arvojoukko... 6 Monikko... 7 Säännöt... 8 Yksilön eheyssääntö ja Pääavain... 9 Viite-eheyssääntö

Lisätiedot

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. Tietokantasuunnittelun pääperiaatteena on tiedon toiston välttäminen. Tiedon toistumiseen liittyy monenlaisia ongelmia toistuva tieto vie tilaa ylläpito muodostuu hankalaksi ylläpito-operaatioilla voi

Lisätiedot

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

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet A271117, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin

Lisätiedot

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

Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, , H.Laine Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, 3.5.2007, H.Laine Kirjoita kuhunkin erilliseen vastauspaperiin kurssin nimi, oma nimesi, syntymäaikasi ja nimikirjoituksesi

Lisätiedot

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

Mikä on tietomalli? Relaatiomallin käsitteitä 1/2 (kuva 5.1) Relaatiomallin taustaa Relaatiomalli 5. Relaatiomalli Käsitteet Säännöt Käyttö 6. Relaatioalgebra (EI TENTTIIN!) Select, Project, Union, Difference, Join 7. (E)ER-mallin muuntaminen relaatioiksi Kaava Mikä on tietomalli? Malli,

Lisätiedot

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

2.1 Sovellusarkkitehtuuri 2.2 Käsitteellinen mallintaminen. Luku 2. Arkkitehtuuri ja analyysi. ITKA204 kevät 2.1 Sovellusarkkitehtuuri 2.2 Käsitteellinen mallintaminen Luku 2 Arkkitehtuuri ja analyysi ITKA204 kevät 2016 1 2.1 Sovellusarkkitehtuuri Tietokannanhallintajärjestelmien luokittelua DBMS:iä voidaan luokitella

Lisätiedot

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 Tietokantasuunnittelun pääperiaatteena on tiedon toiston välttäminen. Tiedon toistumiseen liittyy monenlaisia ongelmia toistuva tieto vie turhaa tilaa ylläpito muodostuu hankalaksi kaikki kopiot päivitettävä

Lisätiedot

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN KIRJAN HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI DOCENDO (2003, 2005) LUKU 7 JOUNI HUOTARI & ARI HOVI IIO30100 TIETOKANTOJEN SUUNNITTELU

Lisätiedot

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

TIEDONHALLINNAN PERUSTEET - SYKSY 2013 TIEDONHALLINNAN PERUSTEET - SYKSY 2013 Kurssikoodi: Saapumisryhmä: Luento 5 XX00AA79-3013 TU12S2 Pasi Ranne 11.9.2013 11/9/13 Helsinki Metropolia University of Applied Sciences 1 Tietokannan normalisoinnin

Lisätiedot

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

Helsingin yliopisto/tktl Kyselykielet, s 2006 Optimointi Harri Laine 1. Kyselyn optimointi. Kyselyn optimointi Miksi optimoidaan Relaatiotietokannan kyselyt esitetään käytännössä SQLkielellä. Kieli määrittää halutun tuloksen, ei sitä miten tulos muodostetaan (deklaratiivinen kyselykieli) Tietokannan käsittelyoperaatiot

Lisätiedot

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

Kyselyt: Lähtökohtana joukko lukuja Laskukaava kertoo miten luvuista lasketaan tulos soveltamalla laskentaoperaatioita Relaatioalgebra Relaatiomalliin liittyy malli tietokannan käsittelystä Tietokannasta pitää pystyä hakemaan tietoa ja toisaalta tietokantaa on ylläpidettävä Tietokannan käsittelyn malli relaatioalgebra

Lisätiedot

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

HAAGA-HELIA heti09 1 (27) ICT05 Tiedonhallinta ja tietokannat O.Virkki 19.1.2010. Relaatiomalli HAAGA-HELIA heti09 1 (27) Relaatiomalli Relaatiomalli... 2 Peruskäsitteet... 3 Relaatio... 5 Attribuutti ja arvojoukko... 6 Monikko... 7 Säännöt... 8 Arvojoukkoeheyssääntö... 8 Pääavain ja yksilön eheyssääntö...

Lisätiedot

Tietokannan suunnittelu

Tietokannan suunnittelu HELIA TIKO-05 1 (12) ICT03D Tieto ja tiedon varastointi Tietokannan suunnittelu Tietokannan suunnitteluprosessi... 2 Tavoitteet...2 Tietojärjestelmän suunnitteluprosessi...3 Abstraktiotasot tietokannan

Lisätiedot

VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA TIETOTEKNIIKAN LAITOS. Petteri Kaikkonen

VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA TIETOTEKNIIKAN LAITOS. Petteri Kaikkonen VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA TIETOTEKNIIKAN LAITOS Petteri Kaikkonen TIETOKANTAHAKUJEN TEHOSTAMINEN INDEKSOINNILLA Case hyvinvointikyselyn tietokantajärjestelmä Tietotekniikan pro gradu -tutkielma

Lisätiedot

Relaatioalgebra. Kyselyt:

Relaatioalgebra. Kyselyt: Relaatioalgebra Relaatiomalliin liittyy malli tietokannan käsittelystä Tietokannasta pitää pystyä hakemaan tietoa ja toisaalta tietokantaa on ylläpidettävä Tietokannan käsittelyn malli relaatioalgebra

Lisätiedot

CS-A1150 Tietokannat CSE-A1150 Tietokannat / 29

CS-A1150 Tietokannat CSE-A1150 Tietokannat / 29 CS-A1150 Tietokannat 20.5.2019 CSE-A1150 Tietokannat 20.5.2019 1 / 29 Kertausluento Tällä luennolla kerrataan lyhyesti tenttivaatimuksissa esitettyjä asioita ja samalla tarkastellaan sitä, mitä niistä

Lisätiedot

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. Mitä malleja olisi tarjolla? Abstraktiotasot tiedon käsittelyssä Tietomallit Tietomallilla (data model) tarkoitetaan tiedon rakenteen ja tiedolle suoritettavan käsittelyn määrittelevää kehikkoa - käsitteistöä Tietoa voidaan tarkastella eri näkökulmista - eri abstraktiotasoilla

Lisätiedot

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

TIEDONHALLINTA - SYKSY Luento 7. Pasi Ranne /10/17 Helsinki Metropolia University of Applied Sciences TIEDONHALLINTA - SYKSY 2017 Kurssikoodi: Saapumisryhmä: Luento 7 TX00CN57-3001 TXQ16ICT, TXQ16S1 ja TXQ16PROS Pasi Ranne 02.10.2017 1/10/17 Helsinki Metropolia University of Applied Sciences 1 Tietokannan

Lisätiedot

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

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Relaatiomallin peruskäsitteet Harri Laine 1. Relaatiotietokannat DONOTP 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

Lisätiedot

HELIA 1 (20) Outi Virkki Tiedonhallinta 4.11.2000

HELIA 1 (20) Outi Virkki Tiedonhallinta 4.11.2000 HELIA 1 (20) Luento 3.1 7LHWRNDQWDSRKMDLVHQVRYHOOXNVHQVXXQQLWWHOXSURVHVVL Tietokannan suunnittelun tavoitteet... 3 Abstraktiotasot tietokannan suunnittelussa... 4 3-taso -malli... 4 TIHA-standardi... 5

Lisätiedot

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

Relaatioalgebra. Relaatioalgebra. Relaatioalgebra. Relaatioalgebra - erotus (set difference) Kyselyt: Relaatiomalliin liittyy malli tietokannan käsittelystä Tietokannasta pitää pystyä hakemaan tietoa ja toisaalta tietokantaa on ylläpidettävä Tietokannan käsittelyn malli relaatioalgebra määrittelee operaatiot,

Lisätiedot

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

HELIA TIKO-05 1 (28) ICT03D Tieto ja tiedon varastointi O.Virkki HELIA TIKO-05 1 (28) Relaatiomalli Relaatiomalli...2 Peruskäsitteet...3 Relaatio...5 Attribuutti ja arvojoukko...6 Monikko...7 Säännöt...8 Arvojoukkoeheyssääntö...8 Pääavain ja yksilön eheyssääntö...9

Lisätiedot

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

Helsingin yliopisto, TKTL Tietokantojen perusteet, k 2004 Tietokannan suunnittelusta. Harri Laine 1 Tietokantasuunnittelun pääperiaatteena on tiedon toiston välttäminen. Tiedon toistumiseen liittyy monenlaisia ongelmia toistuva tieto vie turhaa tilaa ylläpito muodostuu hankalaksi kaikki kopiot päivitettävä

Lisätiedot

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

Jouni Huotari & Ari Hovi. Käsitemallinnuksesta relaatiokantaan KÄSITEMALLI. LOOGINEN MALLI: tietomalli valittu. FYYSINEN MALLI: DBMS valittu Informaatioteknologian instituutti IIO30100 Tietokantojen suunnittelu Polku luokkakaavioista taulujen toteutukseen kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003,

Lisätiedot

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, k 2006 relaatioalgebra. 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 toistuva tieto vie turhaa tilaa ylläpito muodostuu hankalaksi kaikki kopiot päivitettävä

Lisätiedot

TIETOKANTOJEN SUUNNITTELU

TIETOKANTOJEN SUUNNITTELU TIETOKANTOJEN SUUNNITTELU - SUUNNITTELUPUTKI KÄSITEANALYYSISTÄ TOTEUTUKSEEN JOUNI HUOTARI & ARI HOVI 2000-2009 TIETOKANTOJEN PERUSTEISSA OSATTAVA Käsiteanalyysin ja käsitemallinnuksen perusidea: Käsitteiden

Lisätiedot

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

Helsingin yliopisto Tietojenkäsittelytieteen laitos (H.Laine) Tietokantojen perusteet. Liitteenä: Tiivistelmä SQL-syntaksista Helsingin yliopisto Tietojenkäsittelytieteen laitos 26.2.2014 (H.Laine) Tietokantojen perusteet Liitteenä: Tiivistelmä SQL-syntaksista Kirjoita jokaiseen erilliseen vastausarkkiin kurssin nimi, tenttipäivä,

Lisätiedot

1.1 Käsitteet ja termit 1.2 Historia. Luku 1. Johdanto. ITKA204 kevät

1.1 Käsitteet ja termit 1.2 Historia. Luku 1. Johdanto. ITKA204 kevät 1.1 Käsitteet ja termit 1.2 Historia Luku 1 Johdanto ITKA204 kevät 2016 1 Kurssin sisältö - tarvittavat käsitteet - historiaa 1. johdanto 2. analyysi ja arkkitehtuuri - DBMS:n sovellusarkkitehtuuri - käsitteellinen

Lisätiedot

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

TIEDONHALLINTA - SYKSY Luento 10. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 10 TU00AA48-2002 TU10S1E Hannu Markkanen 14.-15.11.2011 9/10/12 Helsinki Metropolia University of Applied Sciences 1 SQL: Monen taulun kyselyt

Lisätiedot

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

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2005 relaatiomalli Harri Laine 1. Relaatiotietokannat Relaatiomalli Perustana rakennetason tietomalli (the relational model of data) perusteoria: E.F.Codd 1970 ensimmäiset kaupalliset toteutukset 70-luvun lopulla yleistynyt 80-luvun lopulla

Lisätiedot

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

Helsingin yliopisto, TKTL Tietokantojen perusteet, k 2000 Tietokannan suunnittelusta Harri Laine 1 Tietokantasuunnittelun pääperiaatteena on tiedon toiston välttäminen. Tiedon toistumiseen liittyy monenlaisia ongelmia toistuva tieto vie tilaa ylläpito muodostuu hankalaksi ylläpito-operaatioilla voi

Lisätiedot

2. Käsiteanalyysi ja relaatiomalli

2. Käsiteanalyysi ja relaatiomalli 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

Lisätiedot

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

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

Lisätiedot

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. Tietokantasuunnittelusta Tietokantasuunnittelun pääperiaatteena on tiedon toiston välttäminen. Tiedon toistumiseen liittyy monenlaisia ongelmia toistuva tieto vie tilaa ylläpito muodostuu hankalaksi ylläpito-operaatioilla

Lisätiedot

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

On autoja, henkilöitä, Henkilöllä on nimi Autolla on omistaja, joka on henkilö. Taulu AUTO(rekno, malli) Taulu HENKILO(nimi, ) Tietomallit Tietomallilla (data model) tarkoitetaan tiedon rakenteen ja tiedolle suoritettavan käsittelyn määrittelevää kehikkoa - käsitteistöä Tietoa voidaan tarkastella eri näkökulmista - eri abstraktiotasoilla

Lisätiedot

Kirjoita kuhunkin erilliseen vastauspaperiin kurssin nimi, tentin päiväys, oma nimesi, syntymäaikasi ja nimikirjoituksesi.

Kirjoita kuhunkin erilliseen vastauspaperiin kurssin nimi, tentin päiväys, oma nimesi, syntymäaikasi ja nimikirjoituksesi. Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, kurssikoe 4.3.2015, H. Laine Tehtävien mukana jaetaan sql-syntaksin tiivistelmä. Kirjoita kuhunkin erilliseen vastauspaperiin

Lisätiedot

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

TIEDONHALLINTA - SYKSY Luento 2. Pasi Ranne /8/17 Helsinki Metropolia University of Applied Sciences 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

Lisätiedot

TIETOKANNAN JÄRKEISTÄMINEN

TIETOKANNAN JÄRKEISTÄMINEN Mikko Mitronen TIETOKANNAN JÄRKEISTÄMINEN Esimerkkinä EnergiaGuru -palvelun sähkösääennuste Opinnäytetyö CENTRIA AMMATTIKORKEAKOULU Mediatekniikan koulutusohjelma Toukokuu 2014 TIIVISTELMÄ OPINNÄYTETYÖSTÄ

Lisätiedot

Johdanto. Rough Sets. Peruskäsitteitä

Johdanto. Rough Sets. Peruskäsitteitä Johdanto Rough Sets "The central problem of our age is how to act decisively in the absence of certainty" B Russel, 1940 Rough sets on 1980-luvun alussa Puolassa (Z Pawlak) kehitetty epävarmuutta ja epämääräisyyttä

Lisätiedot

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

7.11.2006. Helsingin yliopisto/tktl Kyselykielet, s 2006 Relaatiokalkyylit. Harri Laine 1 perusteita - relaatiokalkyylit perusteita - relaatiokalkyylit Relaatioalgebra on luonteeltaan proseduraalinen tapa käsitellä tietoa. Tiedon haetaan sarjaksi järjestettyjen operaatioiden avulla. Edellä

Lisätiedot

Käsiteanalyysi prosessina ja tarveanalyysi

Käsiteanalyysi prosessina ja tarveanalyysi Informaatioteknologian instituutti IIO30100 Tietokantojen suunnittelu Käsiteanalyysi prosessina ja tarveanalyysi kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003,

Lisätiedot

MVD- ja EMVD-riippuvuudet - riippumattomuuden riippuvuus

MVD- ja EMVD-riippuvuudet - riippumattomuuden riippuvuus HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto Fakultet/Sektion Faculty Laitos Institution Department Matemaattis-luonnontieteellinen Tekijä Författare Author Joona

Lisätiedot

KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI

KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI TIETOJEN MALLINNUS KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI DOCENDO (2003, 2005) LUKU 3 S. 68 73 JA LUKU 4 (S. 79 84) JOUNI HUOTARI

Lisätiedot

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

TIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 11 TU00AA48-2002 TU10S1E Hannu Markkanen 22.11.2011 9/10/12 Helsinki Metropolia University of Applied Sciences 1 Indeksit Indeksit Taulun

Lisätiedot

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

Tietokannan hallinta. Kevät 2004 Jan Lindström R&G Chapter 1 Tietokannan hallinta Kevät 2004 Jan Lindström R&G Chapter 1 Tietokannan hallinta 1. Johdanto (käsitteitä) 2. Tietokannan talletusrakenteet 3. Tietokannan hakemistorakenteet 4. Kyselyiden käsittely ja optimointi

Lisätiedot

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10 HOJ Haja-aiheita Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h)

Lisätiedot

3. Käsiteanalyysi ja käsitekaavio

3. Käsiteanalyysi ja käsitekaavio 3. Käsiteanalyysi ja käsitekaavio lehtori Pasi Ranne Metropolia ammattikorkeakoulu E-mail: pasi.ranne@metropolia.fi sivu 1 Käsiteanalyysi Selvitetään mitä tietokantaan pitää tallentaa Lähtökohtana käyttäjien

Lisätiedot

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

HAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät HAAGA-HELIA Heti-09 1 (12) Näkymät Näkymät... 2 Eri tyyppisiä relaatioita... 2 Taulu - Tallennettu relaatio... 2 Tulosrelaatio - Kyselyn tulos... 2 Näkymä - Virtuaalirelaatio... 2 Näkymien määrittely...

Lisätiedot

Opettajana Mika Sorsa, mika.sorsa@koudata.fi, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

Opettajana Mika Sorsa, mika.sorsa@koudata.fi, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija Opettajana Mika Sorsa, mika.sorsa@koudata.fi, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija Opintojaksolla: keskitytään relaatiotietokantojen teoriaan ja toimintaan SQL-kieli kyselykielenä

Lisätiedot

HELIA 1 (19) Outi Virkki Tietokantasuunnittelu 9.3.2001

HELIA 1 (19) Outi Virkki Tietokantasuunnittelu 9.3.2001 HELIA 1 (19) Luento 11 Eheyssäännöt (Integrity Constraints)... 2 Eheyden valvonta... 3 Yksilön eheyssääntö... 4 Arvojoukkoeheyssäännöt... 5 Null-arvoista... 6 Viite-eheyssäännöt... 7 Emorelaation päivitys...

Lisätiedot

4.1 Yleistä SQL:stä 4.2 SQL-lauseet 4.3 DML: datan hallinta 4.4 DDL: rakenteen määrittäminen 4.5 DCL: valtuuttaminen 4.6 TxCL: tapahtumanhallinta

4.1 Yleistä SQL:stä 4.2 SQL-lauseet 4.3 DML: datan hallinta 4.4 DDL: rakenteen määrittäminen 4.5 DCL: valtuuttaminen 4.6 TxCL: tapahtumanhallinta Luku 4 SQL 4.1 Yleistä SQL:stä 4.2 SQL-lauseet 4.3 DML: datan hallinta 4.4 DDL: rakenteen määrittäminen 4.5 DCL: valtuuttaminen 4.6 TxCL: tapahtumanhallinta ITKA204 kevät 2016 1 4.1 Yleistä SQL:stä Structured

Lisätiedot

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

Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot) SQL sisältää operaatiot tietokannan sisällön muodostamiseen ja ylläpitoon: insert - uusien rivien vienti tauluun delete - rivien poisto update - rivien muutos 1 Insert lauseella on kaksi muotoa: insert

Lisätiedot

CS-A1150 Tietokannat CSE-A1150 Tietokannat / 32

CS-A1150 Tietokannat CSE-A1150 Tietokannat / 32 CS-A1150 Tietokannat 15.5.2018 CSE-A1150 Tietokannat 15.5.2018 1 / 32 Kertausluento Tällä luennolla kerrataan lyhyesti tenttivaatimuksissa esitettyjä asioita ja samalla tarkastellaan sitä, mitä niistä

Lisätiedot

MS-A0402 Diskreetin matematiikan perusteet

MS-A0402 Diskreetin matematiikan perusteet MS-A040 Diskreetin matematiikan perusteet Osa : Relaatiot ja funktiot Riikka Kangaslampi 017 Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Relaatiot Relaatio Määritelmä 1 Relaatio joukosta A

Lisätiedot

SELECT-lauseen perusmuoto

SELECT-lauseen perusmuoto SQL: Tiedonhaku SELECT-lauseen perusmuoto SELECT FROM WHERE ; määrittää ne sarakkeet, joiden halutaan näkyvän kyselyn vastauksessa sisältää

Lisätiedot

CS-A1150 Tietokannat CS-A1150 Tietokannat / 44

CS-A1150 Tietokannat CS-A1150 Tietokannat / 44 CS-A1150 Tietokannat 12.3.2019 CS-A1150 Tietokannat 12.3.2019 1 / 44 Oppimistavoitteet: tämän luennon jälkeen Osaat muuttaa UML-kaavion relaatiomalliin. Toisin sanoen: jos sinulla on valmis UML-kaavio,

Lisätiedot

FYYSINEN SUUNNITTELU

FYYSINEN SUUNNITTELU IIO30100 TIETOKANTOJEN SUUNNITTELU JA IIO30200 TIETOKANNAN HALLINTA FYYSINEN SUUNNITTELU KIRJAN HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI, DOCENDO (2003, 2005), LUKU 9 JOUNI HUOTARI,

Lisätiedot

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

Helsingin yliopisto/ tktl D Tietokantojen perusteet, s 2000 Relaatioalgebra. Harri Laine 1. Relaatioalgebra. Tietokantaoperaatiot tiedon haku kyselyt miten märitellään haettava tieto ylläpito-operaatiot lisäys, poisto, muuttaminen Kyselyt: lähtökohtana tietokannan tila joukkona relaatioita kyselyn tuloksena yksi

Lisätiedot

SQL - STRUCTURED QUERY LANGUAGE

SQL - STRUCTURED QUERY LANGUAGE SQL Peruskomentoja SQL - STRUCTURED QUERY LANGUAGE SQL on tietokantojen käsittelyyn kehitetty kieli Esimerkkejä kielellä hoidettavistaa toiminnoista: Tietokannan rakenteen määrittely ja muuttaminen Kyselyt

Lisätiedot

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

joukko operaatioita, joilla relaatioista voidaan muodostaa uusia relaatioita joukko opin perusoperaatiot yhdiste, erotus, ristitulo, leikkaus DO NOT PRINT THIS DOCUMENT joukko operaatioita, joilla relaatioista voidaan muodostaa uusia relaatioita joukko opin perusoperaatiot yhdiste, erotus, ristitulo, leikkaus erityisiä relaatioalgebran operaatioita

Lisätiedot

CS-A1150 Tietokannat CSE-A1150 Tietokannat / 39

CS-A1150 Tietokannat CSE-A1150 Tietokannat / 39 CS-A1150 Tietokannat 9.5.2017 CSE-A1150 Tietokannat 9.5.2017 1 / 39 Kertausluento Tällä luennolla kerrataan lyhyesti tenttivaatimuksissa esitettyjä asioita ja samalla tarkastellaan sitä, mitä niistä voidaan

Lisätiedot

Tietokantojen suunnittelu

Tietokantojen suunnittelu Informaatioteknologian instituutti IIZO3020 Tietokantojen perusteet Tietokantojen suunnittelu - suunnitteluputki käsiteanalyysistä toteutukseen S2008 S2008 2 Tietokantojen perusteissa osattava Käsiteanalyysin

Lisätiedot

Fyysinen suunnittelu

Fyysinen suunnittelu Informaatioteknologian instituutti IIO30100 Tietokantojen suunnittelu Fyysinen suunnittelu kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003, 2005) luvusta 9 Jouni

Lisätiedot

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

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2007 ER-mallin peruskäsitteet. Tietosisällön kuvaaminen Toteutusvälineistä riippumaton tietosisällön kuvaus Entity-Relationship malliperhe Lähtökohta: Chenin malli vuodelta 1976 Useita muunnelmia, pieniä eroja peruskäsitteissä ja erityisesti

Lisätiedot

Esimerkkejä vaativuusluokista

Esimerkkejä vaativuusluokista Esimerkkejä vaativuusluokista Seuraaville kalvoille on poimittu joitain esimerkkejä havainnollistamaan algoritmien aikavaativuusluokkia. Esimerkit on valittu melko mielivaltaisesti laitoksella tehtävään

Lisätiedot

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas Tiedonhallinnan perusteet Viikko 1 Jukka Lähetkangas Kurssilla käytävät asiat Tietokantojen toimintafilosofian ja -tekniikan perusteet Tiedonsäilönnän vaihtoehdot Tietokantojen suunnitteleminen internetiä

Lisätiedot

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

Helsingin yliopisto/ tktl DO Tietokantojen perusteet, s 2000 Relaatioalgebra 14.9.2000. Harri Laine 1. Relaatioalgebra DO NOT PRINT THIS DOCUMENT operaatiot, joilla relaatioista voidaan muodostaa uusia relaatioita joukko opin perusoperaatiot yhdiste, erotus, ristitulo, leikkaus erityisiä relaatioalgebran operaatioita projektio,

Lisätiedot

T Syksy 2005 Logiikka tietotekniikassa: perusteet Laskuharjoitus 8 (opetusmoniste, kappaleet )

T Syksy 2005 Logiikka tietotekniikassa: perusteet Laskuharjoitus 8 (opetusmoniste, kappaleet ) T-79.144 Syksy 2005 Logiikka tietotekniikassa: perusteet Laskuharjoitus 8 (opetusmoniste, kappaleet 2.3-3.4) 2 5.11.2005 1. Olkoon R kaksipaikkainen predikaattisymboli, jonka tulkintana on relaatio R A

Lisätiedot

Hannes Ranta SOVELLUKSEN TIETOKANNAN UUDELLEENSUUNNITTELU

Hannes Ranta SOVELLUKSEN TIETOKANNAN UUDELLEENSUUNNITTELU Hannes Ranta SOVELLUKSEN TIETOKANNAN UUDELLEENSUUNNITTELU Tietojenkäsittelyn koulutusohjelma 2016 SOVELLUKSEN TIETOKANNAN UUDELLEENSUUNNITTELU Ranta, Hannes Satakunnan ammattikorkeakoulu Tietojenkäsittelyn

Lisätiedot

Luento 3 Tietokannan tietosisällön suunnittelu

Luento 3 Tietokannan tietosisällön suunnittelu HAAGA-HELIA / Heti-09 1 (17) Luento 3 Tietokannan tietosisällön suunnittelu Tietojärjestelmän suunnitteluprosessi... 2 Tietokannan suunnittelun tavoitteet... 3 Tietokannan suunnitteluprosessi... 4 Käsitteellinen

Lisätiedot

Tietovarastojen suunnittelu

Tietovarastojen suunnittelu Informaatioteknologian instituutti IIO30100 Tietokantojen suunnittelu Tietovarastojen suunnittelu kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003, 2005) luku 8

Lisätiedot

CS-A1150 Tietokannat CS-A1150 Tietokannat / 34

CS-A1150 Tietokannat CS-A1150 Tietokannat / 34 CS-A1150 Tietokannat 6.2.2018 CS-A1150 Tietokannat 6.2.2018 1 / 34 Oppimistavoitteet: tämän luennon jälkeen Tiedät, mitä tarkoitetaan relaatioalgebralla. Osaat tehdä erilaisia kyselyitä relaatioalgebran

Lisätiedot

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

Lineaarialgebra ja matriisilaskenta II Syksy 2009 Laskuharjoitus 1 ( ) Ratkaisuehdotuksia Vesa Ala-Mattila Lineaarialgebra ja matriisilaskenta II Syksy 29 Laskuharjoitus (9. - 3..29) Ratkaisuehdotuksia Vesa Ala-Mattila Tehtävä. Olkoon V vektoriavaruus. Todistettava: jos U V ja W V ovat V :n aliavaruuksia, niin

Lisätiedot

Visual Case 2. Miika Kasnio (C9767) 23.4.2008

Visual Case 2. Miika Kasnio (C9767) 23.4.2008 Visual Case 2 Miika Kasnio (C9767) 23.4.2008 Työn tarkasti: Jouni Huotari 24.4.2008 1 SISÄLTÖ 1. TYÖN LÄHTÖKOHDAT... 2 2. PERUSTIEDOT... 2 3. ASENTAMINEN... 2 4. OMINAISUUDET... 3 4.1. UML-kaaviot... 4

Lisätiedot

Ratkaisu: a) Kahden joukon yhdisteseen poimitaan kaikki alkiot jotka ovat jommassakummassa joukossa (eikä mitään muuta).

Ratkaisu: a) Kahden joukon yhdisteseen poimitaan kaikki alkiot jotka ovat jommassakummassa joukossa (eikä mitään muuta). Matematiikan laitos Johdatus Diskreettiin Matematiikaan Harjoitus 1 03.11.2010 Ratkaisuehdotuksia Aleksandr Nuija 1. Tarkastellaan joukkoja A = {1,3,4}, B = {2,3,7,9} ja C = {2, 5, 7}. Määritä joukot (a)

Lisätiedot

CSE-A1200 Tietokannat

CSE-A1200 Tietokannat CSE-A1200 Tietokannat 29.3.2016 CSE-A1200 Tietokannat 29.3.2016 1 / 40 Oppimistavoitteet: tämän luennon jälkeen Tiedät, miten tietokannan relaatioiden (taulujen) määrittelyt kirjoitetaan SQL:llä. Osaat

Lisätiedot

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

Tietomallit. Näkökulmat tietoon. Näkökulmat tietoon. Näkökulmat tietoon. Abstraktiotasot tiedon käsittelyssä Tietomallit Tietomallilla (data model) tarkoitetaan tiedon rakenteen ja tiedolle suoritettavan käsittelyn määrittelevää käsitteistöä Tietoa voidaan tarkastella eri näkökulmista - eri abstraktiotasoilla

Lisätiedot

Tietokannat II -kurssin harjoitustyö

Tietokannat II -kurssin harjoitustyö Tietokannat II -kurssin harjoitustyö Olli Opiskelija (123), olli.opiskelija@foo.fi Maija Mallioppilas (321), maija.mallioppilas@foo.fi 13.3. 2007 1 Sisältö 1 Tietokannan kuvaus 3 1.1 Tietokannan rakenne..................................

Lisätiedot

Kurssin loppuosassa tutustutaan matriiseihin ja niiden käyttöön yhtälöryhmien ratkaisemisessa.

Kurssin loppuosassa tutustutaan matriiseihin ja niiden käyttöön yhtälöryhmien ratkaisemisessa. 7 Matriisilaskenta Kurssin loppuosassa tutustutaan matriiseihin ja niiden käyttöön yhtälöryhmien ratkaisemisessa. 7.1 Lineaariset yhtälöryhmät Yhtälöryhmät liittyvät tilanteisiin, joissa on monta tuntematonta

Lisätiedot