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

Samankaltaiset tiedostot
NORMALISOINTI TIETOJEN MALLINNUS JOUNI HUOTARI & ARI HOVI

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

Tietokantojen suunnittelu

TIETOKANTOJEN SUUNNITTELU

Käsiteanalyysi prosessina ja tarveanalyysi

Fyysinen suunnittelu

FYYSINEN SUUNNITTELU

KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI

TIETOKANNAN SUUNNITTELU

TIETOKANNAN NORMALISOINTI JA NORMAALIMUODOT

Tietovarastojen suunnittelu

TIETOKANNAN JÄRKEISTÄMINEN

Tietokannan suunnittelu

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

TIETOVARASTOJEN SUUNNITTELU

FYYSINEN SUUNNITTELU

IIO30100 Tietokantojen suunnittelu (6 op)

IIO10200 TIETOKANTAOHJELMOINTI (4 OP) OPINTOJAKSON ESITTELY JOUNI HUOTARI

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

IIO10200 Tietokantaohjelmointi (4 op)

HELIA 1 (17) Outi Virkki Tiedonhallinta

TTZC0800 TIETOKANNAT (5 OP)

IIO30100 TIETOKANTOJEN SUUNNITTELU (6 OP)

Relaatioista TIETOJENKÄSITTELYTIETEIDEN LAITOS, JUHA IISAKKA 11-14

KÄSITEANALYYSI JA -MALLINNUS HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI DOCENDO (2003, 2005) LUKU 3

IIO30100 Tietokantojen suunnittelu (6 op)

Relaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

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

Ari Hovi & Jouni Huotari M3-1

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

IIZO3030 TIETOKANNAT (5 OP)

Mikko Mäkelä KONEHUOLTOJEN TIETOKANNAN SUUNNITTELU JA TOTEUTUS

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

IIO30200 Tietokannan hallinta (5 op)

HELIA 1 (19) Outi Virkki Tietokantasuunnittelu

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

RELAATIOTIETOKANNAN SUUNNITTELU JA TOTEUTUS

Tietokantojen suunnittelu, relaatiokantojen perusteita

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

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

IIO30200 TIETOKANNAN HALLINTA (5 OP)

Miika Kontio TIETOKANNAN KEHITTÄMINEN KODINMONITOROINTIJÄRJESTELMÄN SENSORIMITTAUKSILLE

Kuva 7.2 vastaustaulu harjoitukseen 7.2

Hannes Ranta SOVELLUKSEN TIETOKANNAN UUDELLEENSUUNNITTELU

Luento L: Normalisointi

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43

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

OpenOffice.org Base 3.1.0

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

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

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43

CSV-tilaukset

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit

CSE-A1200 Tietokannat

Janina Puistovaara RELAATIOTIETOKANNAN SUUNNITTELU JA MALLINTAMINEN KÄSITEANALYYSI- MENETELMÄLLÄ

Tietokantojen perusteet

Testidatan generointi

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

Relaatiomalli ja -tietokanta

3. Käsiteanalyysi ja käsitekaavio

TIETOKANNAT JOHDANTO

HARJOITUS 2. Kasvattamot ja mittaukset

VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA TIETOTEKNIIKAN LAITOS. Petteri Kaikkonen

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

Opintopiiritehtävä 3: Verkkohuutokauppa

Jimmy Valkama TIETOKANNAN SUUNNITTELU HARJOITTELUNOHJAUSHANK- KEESEEN

TIETOKANNAT JOHDANTO JOUNI HUOTARI & ARI HOVI

CS-A1150 Tietokannat CS-A1150 Tietokannat / 51

Hovi Huotari Lahdenmäki TIETO- KANTOJEN SUUNNITTELU & INDEKSOINTI

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

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

RADAR - RANDOM DATA GENERATOR

CS-A1150 Tietokannat CSE-A1150 Tietokannat / 29

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

Ylläpitopalvelu. Tietuekuvaus. Tietuekuvaus 1 (8) Ylläpitopalvelu. Julkinen - Public

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

Maksuturva-palvelun käyttöönottolomakkeen rajapintakuvaus verkkokauppaohjelmistolle

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

ARVI-järjestelmän ohje arvioinnin syöttäjälle

Tatu Hautamäki SOVELLUS OPPISOPIMUSTEN HANKINTASOPIMUSTEN KÄSITTELYYN

KEMI-TORNION AMMATTIKORKEAKOULU

Tiedotuspalvelu. Tietuekuvaus lähiosoite komponentteina (pilkottuna) Tietuekuvaus 1 (7) Tiedotuspalvelu. Julkinen - Public

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

ELM GROUP 04. Teemu Laakso Henrik Talarmo

SELECT-lauseen perusmuoto

TimeEdit opiskelijan ohje TimeEdit-instructions for students from this link

Tietoarkkitehtuuri nyt!

Raimo Peltonen RAIPE HENKILÖSTÖHALLINTAOHJELMA

Nelli Tiedonhakuportaali Kemi-Tornion ammattikorkeakoulun elektronisiin aineistoihin. Onnistuneita hetkiä Nellin parissa!

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

Tämän ohjeen avulla opastetaan käyttäjää aloittamaan PlanWebin käyttö. Lue ohjeet huolellisesti läpi ennen käytön aloittamista.

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009

Kortinhaltijoiden valinta (1.vaihe)

Yhdistäminen. Tietolähteen luominen. Word-taulukko. Joukkokirje, osoitetarrat Työvälineohjelmistot 1(5)

Vuokranlaskenta- ja tilankäytön seurantajärjestelmä

IIZO3020 TIETOKANNAT (3 OP)

TIETOJEN TUONTI TIETOKANNASTA + PIVOT-TAULUKON JA OLAP-KUUTION TEKO

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

Transkriptio:

Informaatioteknologian instituutti IIO30100 Tietokantojen suunnittelu Normalisointi kirjan 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 Raportit Käsite- Käsiteanalyysi Tarve- Tarveanalyysi Normalisointitark. Tietokannan määrittely Suorituskyvyn viritys viritys Käsitemalli Käsitemalli, täydennetty Perusavain Tieto1 Tieto2 Perusavain Tieto1 Tieto2 3. normaalimuodossa olevat käsitteet Relaatiokanta K2008 2

Normalisoinnin tarkoitus Normalisointi (normalisation) on menetelmä, jonka avulla tietorakenteita voidaan jalostaa parempaan tallennusmuotoon Parempi tarkoittaa tässä yhteydessä rakennetta, jossa on tietojen toistaminen (redundanssi) minimoitu joka on tehokas päivitysten kannalta joka on helpompi pitää yhdenmukaisena, sillä tiedot tarvitsee päivittää vain yhteen paikkaan joka on muutosjoustava K2008 3

Normalisointivaiheet 1. Normaalimuoto Erota toistuvat ryhmät ja moniarvoiset sarakkeet omaksi käsitteekseen 2. Normaalimuoto Jokaisen ei-avaintiedon tulee olla riippuvainen koko perusavaimesta 3. Normaalimuoto Poista sisäiset (ei-avaimeen kohdistuvat) riippuvuudet K2008 4

1. Normaalimuoto HENKILÖ Htun Nimi Palkka Pvm_1 Palkka_1 Pvm_2 Palkka_2 1. Normaalimuoto : Poista toistuvat ryhmät ja moniarvoiset sarakkeet HENKILÖ PALKKAHISTORIA Htun Nimi Palkka Htun Pvm Palkka K2008 5

1. Normaalimuoto (versio 2) HENKILÖ Htun Nimi Palkat Pvmt 1. Normaalimuoto : Poista toistuvat ryhmät ja moniarvoiset sarakkeet HENKILÖ PALKKAHISTORIA Htun Nimi Palkka Htun Pvm Palkka K2008 6

Funktionaalinen riippuvuus A B Sarake B on funktionaalisesti riippuvainen A:sta, jos A:ta kohti on korkeintaan yksi B:n arvo kunakin ajanhetkenä. HENKILÖ ( Htun, HenkNimi, Osoite ) HENKILÖ ( Htun, HenkNimi, Osoite )? K2008 7

2. Normaalimuoto TILAUS ToimNro Osanro ToimNimi Osoite Tilattu_kpl Mitä mieltä olet sarakkeiden nimistä? Ymmärrätkö mitä ne tarkoittavat? 2. Normaalimuoto: Jos Jos avain koostuu useasta sarakkeesta, on on jokaisen muun sarakkeen oltava riippuvainen koko koko avaimesta. TOIMITTAJA ToimNro Nimi Osoite TILAUS ToimNro Osanro Tilattu_kpl Mitä jos näin ei tehdä? Ei voida tallettaa toimittajatietoja etukäteen Vanhoja tilauksia poistettaessa tietyn toimittajan tiedot voivat häipyä kokonaan Toimittajan osoitteen muutos tulee moneen paikkaan K2008 8

3. Normaalimuoto TOIMITTAJA ToimNro Nimi Katuosoite Postinro Posti 122 Oy Fi Koekatu 3B 00530 Hki 3. Normaalimuoto: TOIMITTAJA Kaikkien sarakkeidentulee tuleeolla riippuvia vain vain perusavaimesta. ToimNro Nimi Katuosoite Postinro 122 Oy Fi Koekatu 3B 00530 Mitä jos näin ei tehdä? Postitoimipaikkoja ei voida tallettaa ennen toimittajan talletusta Postitoimipaikan nimen muutos tulee moneen paikkaan POSTI Postinro 00530 Hki Postitoimip Lisähyötynä käyttäjätyytyväisyys ja virheiden ehkäisy: Käyttöliittymä voidaan rakentaa siten, että käyttäjä valitsee listasta postinumeron => postitoimipaikka saadaan automaattisesti K2008 9

3NM ja Käsitteet Suunnitteluputkessa normalisoidaan käsitteitä Normalisointi voi tarvittaessa myöhemmin kohdistua tauluihin, tietueisiin jne. Käsitemallin normalisointi tarkistetaan käsite käsitteeltä Melko työläs operaatio, mutta vaivannäkö yleensä kannattaa Yhteenvetona (NM = normaalimuoto): kaikkien eiavaintietojen tulee olla funktionaalisesti riippuvia perusavaimesta (1. NM), koko perusavaimesta (2. NM) ja vain perusavaimesta (3. NM) K2008 10

Tehtävä: normalisointi Tarkista tekemäsi käsitemalli (Demox Oy tai Formulaesimerkki) missä normaalimuodossa malli on? olisiko järkevää normalisoida mallia pitemmälle? mitä etuja tai haittoja pitkälle normalisoidusta ratkaisusta on? Vinkki: usein tehdään nk. ideaalimalli, jossa normalisointi on ulotettu kaikkiin tilanteisiin ja sen jälkeen tehdään perustellut rajaukset siitä, mikä tulee olemaan toteutettava ratkaisu (ts. palataan lähelle toista normaalimuotoa) Lisätehtävä: Tee kirjan (Hovi et. al. 2003) harjoitukset 9 ja 10 (sijaitsevat myös R5:ssä). Tutki asiaa myös webistä. K2008 11

Denormalisointi Normalisoidun rakenteen yhdistäminen, esim. 3. normaalimuodosta 2. normaalimuotoon Ks. Kirjan luku 5 (s. 95) K2008 12

Lisätietoa tietokannan normalisoinnista http://www.datamodel.org/normalizationrules.html http://en.wikipedia.org/wiki/database_normalization http://databases.about.com/od/specificproducts/a/normalization.htm http://www.databasejournal.com/sqletc/article.php/1428511 http://dev.mysql.com/tech-resources/articles/intro-to-normalization.html http://www.utexas.edu/its/windows/database/datamodeling/rm/rm7.html K2008 13