TIETOKANNAN NORMALISOINTI JA NORMAALIMUODOT

Samankaltaiset tiedostot
Tietokantojen suunnittelu, relaatiokantojen perusteita

HELIA 1 (17) Outi Virkki Tiedonhallinta

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

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

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

Relaatioista TIETOJENKÄSITTELYTIETEIDEN LAITOS, JUHA IISAKKA 11-14

NORMALISOINTI TIETOJEN MALLINNUS JOUNI HUOTARI & ARI HOVI

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

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

A TIETOKANNAT, 3 op Syksy TI07. Teemu Saarelainen, lehtori Tietotekniikka teemu.saarelainen@kyamk.fi

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

Relaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto

HELIA 1 (19) Outi Virkki Tietokantasuunnittelu

Näkymät ja hakemistot

Relaatiomalli ja -tietokanta

A TIETOKANNAT, 4 op Kevät TI09

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

HELIA 1 (17) Outi Virkki Tiedonhallinta

Luento L: Normalisointi

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43

Opintopiiritehtävä 3: Verkkohuutokauppa

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43

CSE-A1200 Tietokannat

CS-A1150 Tietokannat CS-A1150 Tietokannat / 51

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

Kuva 7.2 vastaustaulu harjoitukseen 7.2

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

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

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

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

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

KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI

Käsiteanalyysi prosessina ja tarveanalyysi

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

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

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

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

TIETOKANTOJEN SUUNNITTELU

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

Denormalisointia turvallisesti. Ougf syysseminaari Pörssitalo Helsinki Timo Raitalaakso

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

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

CS-A1150 Tietokannat CSE-A1150 Tietokannat / 29

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

TIETOKANNAN JÄRKEISTÄMINEN

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

Hannes Ranta SOVELLUKSEN TIETOKANNAN UUDELLEENSUUNNITTELU

TIETOKANNAN SUUNNITTELU

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

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

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 eheysrajoitteet ja niiden määrittäminen SQL-kielellä

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

HELIA 1 (12) Outi Virkki Tiedonhallinta

HELIA 1 (20) Outi Virkki Tiedonhallinta

Tietokantojen suunnittelu

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

RADAR - RANDOM DATA GENERATOR

Pikaohje formaatin valmistamiseen

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

CS-A1150 Tietokannat CSE-A1150 Tietokannat / 32

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

IIO10200 TIETOKANTAOHJELMOINTI (4 OP) OPINTOJAKSON ESITTELY JOUNI HUOTARI

811120P Diskreetit rakenteet

REKISTERISELOSTE Henkilötietolaki (523/99) 10

Päivityspalvelu. Tietuekuvaus. Tietuekuvaus 1 (5) Päivityspalvelu. Julkinen - Public

(5) Tentin maksimipistemaara on 40 pistetta. Kaikki vastaukset naihin tehtavapapereihin.

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu

Varhaiskasvatuksen tietovarannon tietoluettelo - huoltaja- ja maksupäätöstiedot

OpenOffice.org Base 3.1.0

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

HARJOITUS 2. Kasvattamot ja mittaukset

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

SAIRAUDEN, VAMMAN TAI ERITYISEN VAIKEAN ELÄMÄNTILANTEEN HUOMIOON OTTAMINEN YLIOPPILASTUTKINNOSSA

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

Tietokannan suunnittelu

TIETOKANTOJEN PERUSTEET OSIO 8 MARKKU SUNI

VIERASKIELISYYDEN HUOMIOON OTTAMINEN YLIOPPILASTUTKINNOSSA

3. Käsiteanalyysi ja käsitekaavio

Statuspalaveri. Datahubin tietokonversio

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

SQL - STRUCTURED QUERY LANGUAGE

Tietovaraston tietomallin suunnittelu

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

Oppilaitosverkon tarkistus

Statuspalaveri. Datahubin tietokonversio

Mikko Mäkelä KONEHUOLTOJEN TIETOKANNAN SUUNNITTELU JA TOTEUTUS

VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA TIETOTEKNIIKAN LAITOS. Petteri Kaikkonen

Työnantajan perustiedot ja työntekijätiedot

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

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

2. Käsiteanalyysi ja relaatiomalli

Palveluseteli- ja ostopalvelujärjestelmän käyttö. Palveluntuottajan tietojen keruu

RELAATIOTIETOKANNAN SUUNNITTELU JA TOTEUTUS

TIETOVARASTOJEN SUUNNITTELU

Transkriptio:

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 opintomoniste Eri web-lähteet Tietokannan normalisointi Menetelmä, jolla pyritään minimoimaan saman tiedon tallettaminen useaan kertaan Poistetaan redundanssi (redundancy) Samalla pystytään välttämään tiettyjä ongelmia tietokannan tietosisällön käytössä ja päivittämisessä Jos tietokannassa on sama tieto useassa paikassa, niin voi olla vaikeaa pitää kaikki tietoinstanssit ajan tasalla Eheys (data integrity, consistency) 1

Tietokannan normalisointi Normalisoinnilla voi myös olla suorituskykyyn negatiivinen vaikutus Suorituskykyä voidaan toisaalta parantaa denormalisoinnilla tämä täytyy tehdä harkiten! Normaalimuotoja on olemassa useita (6 + BCNF + DKNF) Yleensä järkevä vähimmäisvaatimus on kolmas normaalimuoto 1. normaalimuoto Ensimmäinen normaalimuoto (1NF) vaatii jokaisen taulun sarakkeen arvot ovat atomisia eli alkiona ei voi olla tietoryhmä (tai toinen relaatio) Siirretään toistuvat kentät omiksi tauluikseen Harjoitus : miten seuraava taulu saataisiin 1NF-muotoon? Opiskelija_ID Etunimi Sukunimi Ryhmä Aloitusvuosi Tutkinnon laajuus 000123 Olli Opiskelija TITE-99 1999 240 000124 Outi Opiskelija TITE-99 1999 240 000125 Ilona Insinööri TITE-98 1998 240 2

Toinen normaalimuoto (2NF) vaatii relaatio on 1NF:ssa jokainen relaation ominaisuus, joka ei ole avainominaisuus, on täydellisesti (funktionaalisesti) riippuva jokaisesta relaation avainehdokkaasta yleensä, jos jokainen relaation avain koostuu vain yhdestä attribuutista, niin relaatio täyttää 2NF:n siis kaikkien sarakkeiden pitää olla riippuvaisia koko avaimesta Funktionaalinen riippuvuus: F(A)=B siten, että jokaista A:n arvoa kohti on yksi B:n arvo. Kun tiedetään A, niin tiedetään B:kin Henkilötunnus identifioi henkilön nimen: Henkilötunnus Henkilön nimi 3

Siirretään ei-riippuvat kentät omiksi tauluikseen Ryhmä Opiskelija_ID Etunimi Sukunimi Osoite TITE-99 000123 Olli Opiskelija Opiskelijankatu 21 A 1 Ryhmä Aloitusvuosi Tutkinnon laajuus TITE-99 1999 240 TITE-99 000124 Outi Opiskelija Opiskelijankatu 21 A 2 TITE-98 000125 Ilona Insinööri Insinöörinkatu 11 B TITE-98 1998 240 Opiskelijan osoite ei riipu ryhmästä ositetaan kahteen tauluun (ryhmän tiedot jäävät ennalleen) Ryhmä Opiskelija_ID Opiskelija_ID Etunimi Sukunimi Osoite TITE-99 000123 TITE-99 000124 TITE-98 000125 000123 Olli Opiskelija Opiskelijankatu 21 A 1 000124 Outi Opiskelija Opiskelijankatu 21 A 2 000125 Ilona Insinööri Insinöörinkatu 11 B 3. normaalimuoto Kolmas normaalimuoto (3NF) vaatii relaatio on 2NF:ssa yhdestäkään relaation ominaisuudesta, joka ei ole avainominaisuus, ei riipu muita relaation ominaisuuksia Siis: kaikkien sarakkeiden tulee riippua vain pääavaimesta Siirretään ei-riippuvat kentät omiksi tauluikseen Kaikki relaatiot vähintään kolmanteen normaalimuotoon! All fields must depend on the key, the whole key and nothing but the key. So help me Codd. 4

3. normaalimuoto Opiskelija_ID Etunimi Sukunimi Osoite Postinumero Postitoimipaikka 000123 Olli Opiskelija Opiskelijankatu 21 A 1 38300 Hervanta 000124 Outi Opiskelija Opiskelijankatu 21 A 2 38300 Hervanta 000125 Ilona Insinööri Insinöörinkatu 11 B 38100 Tampere Postitoimipaikka ei riipu pääavaimesta Postinumeroita ja toimipaikkoja ei voida tallettaa ennen opiskelijoiden tallettamista Jos viimeinen Hervannassa asuva opiskelija poistetaan, niin tieto postinumerosta ja toimipaikastakin häviää. Ositetaan Opiskelija_ID Etunimi Sukunimi Osoite Postinumero Postinumero Postitoimipaikka 000123 Olli Opiskelija Opiskelijankatu 21 A 1 38300 000124 Outi Opiskelija Opiskelijankatu 21 A 2 38300 000125 Ilona Insinööri Insinöörinkatu 11 B 38100 38300 Hervanta 38100 Tampere 5