NORMALISOINTI TIETOJEN MALLINNUS JOUNI HUOTARI & ARI HOVI



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

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI

TIETOKANTOJEN SUUNNITTELU

Käsiteanalyysi prosessina ja tarveanalyysi

Tietokantojen suunnittelu

TIETOKANNAN NORMALISOINTI JA NORMAALIMUODOT

Tietovarastojen suunnittelu

FYYSINEN SUUNNITTELU

Fyysinen suunnittelu

TIETOVARASTOJEN SUUNNITTELU

TIETOKANNAN JÄRKEISTÄMINEN

FYYSINEN SUUNNITTELU

HELIA 1 (17) Outi Virkki Tiedonhallinta

Relaatioista TIETOJENKÄSITTELYTIETEIDEN LAITOS, JUHA IISAKKA 11-14

TIETOKANNAN SUUNNITTELU

Relaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

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

Tietokannan suunnittelu

Tietokantojen suunnittelu, relaatiokantojen perusteita

IIO10200 Tietokantaohjelmointi (4 op)

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

IIO10200 TIETOKANTAOHJELMOINTI (4 OP) OPINTOJAKSON ESITTELY JOUNI HUOTARI

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

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

Kuva 7.2 vastaustaulu harjoitukseen 7.2

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

Ari Hovi & Jouni Huotari M3-1

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

IIO30100 Tietokantojen suunnittelu (6 op)

Relaatiomalli ja -tietokanta

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

IIO30100 TIETOKANTOJEN SUUNNITTELU (6 OP)

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

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

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

TIETOKANNAT JOHDANTO

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

IIZO3030 TIETOKANNAT (5 OP)

YHTEYSSUHDE (assosiation)

TTZC0800 TIETOKANNAT (5 OP)

HELIA 1 (19) Outi Virkki Tietokantasuunnittelu

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

Opintopiiritehtävä 3: Verkkohuutokauppa

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

RELAATIOTIETOKANNAN SUUNNITTELU JA TOTEUTUS

Sisäänkirjaus Uloskirjaus. Yritystieto

IIO30100 Tietokantojen suunnittelu (6 op)

Mikko Mäkelä KONEHUOLTOJEN TIETOKANNAN SUUNNITTELU JA TOTEUTUS

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

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

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.

Hannes Ranta SOVELLUKSEN TIETOKANNAN UUDELLEENSUUNNITTELU

IIO30200 TIETOKANNAN HALLINTA (5 OP)

HELIA 1 (17) Outi Virkki Tiedonhallinta

Visual Case 2. Miika Kasnio (C9767)

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

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

CSV-tilaukset

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

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

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

ASENNUS- JA KÄYTTÖOHJE

2. Käsiteanalyysi ja relaatiomalli

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

Yksilöivät tunnisteet Tampereen kaupungilla. Marko Kauppi Paikkatietomarkkinat

Visma Business AddOn Factoring-laskuaineisto. Käyttäjän käsikirja

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

Liitokset - haut useaan tauluun

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

3. Käsiteanalyysi ja käsitekaavio

OP-eTraderin käyttöopas

VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA TIETOTEKNIIKAN LAITOS. Petteri Kaikkonen

IIO30200 Tietokannan hallinta (5 op)

Data Warehouse kuulumisia

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

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

Väitöskirja -mallipohja

VINKKI: Katso Kentät Muistioon -painikkeella, mikä on taulukon nimen oikea kirjoitusasu.

PATA HENKILÖSTÖ. Alasvetolistojen arvot ovat parametroitavissa. Yksiselitteiset arvot mahdollistavat luotettavat haut ja tilastoinnit.

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43

LASKUTTAJAILMOITUKSEN TEKO- OHJELMA V.2.0. Käyttöohje 2013

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Luento L: Normalisointi

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

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

PlanMan Project projektihallintaohjelmisto koulutusohjeistus

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

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

Tietojen lataaminen SOTE-organisaatiorekisteristä ja IAH-koodistosta omiin tietojärjestelmiin

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

MUITA TIETOKANTAOBJEKTEJA NÄKYMÄT, SYNONYYMIT, INDEKSOINTI, VALTUUDET JA SYSTEEMIHAKEMISTO

815338A Ohjelmointikielten periaatteet Harjoitus 7 Vastaukset

OHJE KILPIEN LISÄÄMISESTÄ ATJN KILPIVARASTOON

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

Hovi Huotari Lahdenmäki TIETO- KANTOJEN SUUNNITTELU & INDEKSOINTI

OpenOffice.org Base 3.1.0

KÄYTTÖVALTUUSHALLINTA (KVH) 1 (14) Käyttöohje rekisterinpidon yhteyshenkilölle

Transkriptio:

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 Raportit Käsiteanalyysi Tarveanalyysi Normalisointitark. Tietokannan määrittely Suorituskyvyn viritys Käsitemalli Käsitemalli, täydennetty Perusavain Tieto1 Tieto2 Perusavain Tieto1 Tieto2 3. normaalimuodossa olevat käsitteet Relaatiokanta Jouni Huotari & Ari Hovi K2010 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 Jouni Huotari & Ari Hovi K2010 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 Jouni Huotari & Ari Hovi K2010 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 Jouni Huotari & Ari Hovi K2010 5

1. NORMAALIMUOTO (VERSIO 2) HENKILÖ Htun Nimi Palkat Pvmt 1. Normaalimuoto : Poista toistuvat ryhmät ja moniarvoiset sarakkeet HENKILÖ PALKKAHISTORIA Htun Nimi Muut tiedot Htun Pvm Palkka Jouni Huotari & Ari Hovi K2010 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 )?? Jouni Huotari & Ari Hovi K2010 7

TILAUS 2. NORMAALIMUOTO ToimNro Osanro ToimNimi Osoite Tilattu_kpl 2. Normaalimuoto: Jos avain koostuu useasta sarakkeesta, on jokaisen muun sarakkeen oltava riippuvainen 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 Jouni Huotari & Ari Hovi K2010 8

3. NORMAALIMUOTO TOIMITTAJA ToimNro Nimi Katuosoite Postinro Posti 122 Oy Fi Koekatu 3B 00530 Hki 3. Normaalimuoto: TOIMITTAJA Kaikkien sarakkeiden tulee olla riippuvia 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 Jouni Huotari & Ari Hovi K2010 9

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) 3NM JA KÄSITTEET Jouni Huotari & Ari Hovi K2010 10

RELAATIOKAAVA (ESIM. NORMALISOIDUN RATKAISUN KUVAAMISEEN) Perusidea: kirjoita käsitteen (relaation/taulun) nimi ja sulkuihin ominaisuudet (sarakkeiden nimet) Esim. OPISKELIJA(Opiskelijatunnus, OpiskelijanNimi) Yksilöivä tieto esim. alleviivaamalla tai kirjoittamalla PK Viiteavaimen kohdalle FK (tai voit vaikka kursivoida sen) Jos viiteavain on osa perusavainta, kirjoitetaan PFK Jouni Huotari & Ari Hovi K2010 11

TEHTÄVÄ: NORMALISOINTI (DEMOX OY) Tarkista tekemäsi käsitemalli (Demox Oy) 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) Jouni Huotari & Ari Hovi K2010 12

NORMALISOINTITEHTÄVÄT OPTIMASSA Tee kirjan (Hovi et. al. 2003/2005) harjoitukset 9 ja 10 Voit tehdä yhden ratkaisun, johon yhdistät vastaukset a-, b-, c- ja d-tehtäviin, tai kuvata ratkaisusi kuhunkin erikseen Vastaus joko relaatiokaavana tai käsitemallina Kirjaa tekemäsi oletukset Palauta vastauksesi yhtenä tiedostona Optimaan Jouni Huotari & Ari Hovi K2010 13

Normalisoidun rakenteen yhdistäminen, esim. 3. normaalimuodosta 2. normaalimuotoon Taulujen väliset liitokset vähenevät => tiedon haku nopeutuu Sovelluksen on hoidettava tiedon ylimäärästä aiheutuvat lisäpäivitykset automaattisesti Denormalisointia ei tehdä käsitemalleille vaan se tehdään vain, jos suorituskyky niin vaatii Ks. kirjan luku 5 (s. 95) DENORMALISOINTI Jouni Huotari & Ari Hovi K2010 14

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/archive/windows/database/datamodeling/rm/rm7.html Jouni Huotari & Ari Hovi K2010 15