Aloitetaan normalisoimattomasta raakadatasta huNro osoite taPvm taAika kommentit hloNro hNimi aRek PG4 Asematie 6 A 24 22.9.2009 10.00 Keittiön kaapin oven saranat mi01 Jarkko Keränen AJI-663 5.10.2009 13.30 Paikat kivassa kunnossa mi03 Minna Jokela UIR-236 11.11.2009 8.15 Kylpyhuoneen kosteusvaurio XJF-338 PG16 Itäkuja 5 21.9.2009 11.40 Olohuoneen tapetointitarve 4.10.2009 15.45 Ihan järjestyksessä Aloitetaan normalisoimattomasta raakadatasta Normalisointi1 tMyn
1 NF syntyy, kun täydennetään tyhjät sarakkeet. huNro osoite taPvm taAika kommentit hloNro hNimi aRek PG4 Asematie 6 A 24 22.9.2009 10.00 Keittiön kaapin oven saranat mi01 Jarkko Keränen AJI-663 5.10.2009 13.30 Paikat kivassa kunnossa mi03 Minna Jokela UIR-236 11.11.2009 8.15 Kylpyhuoneen kosteusvaurio XJF-338 PG16 Itäkuja 5 21.9.2009 11.40 Olohuoneen tapetointitarve 4.10.2009 15.45 Ihan järjestyksessä 1 NF syntyy, kun täydennetään tyhjät sarakkeet. Normalisointi1 tMyn
Perusavainehdokkaita olisi vaikkapa: huNro, taPvm hloNro, taPvm, taAika aRek, taPvm, taAika Valitaan .. ja siirretään nämä sarakkeet vasempaan kulmaan: Normalisointi1 tMyn
Raakadata muutettu 1 NF –muotoon. huNro taPvm taAika osoite kommentit hloNro hNimi aRek PG4 22.9.2009 10.00 Asematie 6 A 24 Keittiön kaapin oven saranat mi01 Jarkko Keränen AJI-663 5.10.2009 13.30 Paikat kivassa kunnossa mi03 Minna Jokela UIR-236 11.11.2009 8.15 Kylpyhuoneen kosteusvaurio XJF-338 PG16 21.9.2009 11.40 Itäkuja 5 Olohuoneen tapetointitarve 4.10.2009 15.45 Ihan järjestyksessä Raakadata muutettu 1 NF –muotoon. Normalisointi1 tMyn
Funktionaaliset riippuvuudet 1 NF -taulussa huNro taPvm taAika osoite kommentit hloNro hNimi aRek fd1 Perusavain Transitiivinen riippuvuus fd3 fd2 Osittainen riippuvuus fd4 fd5 Kandidaattiavain fd6 Kandidaattiavain Funktionaaliset riippuvuudet 1 NF -taulussa Normalisointi1 tMyn
Siis luodaan kaksi taulua Huoneisto(huNro, osoite) Jotta päästään 2 NF –esitysmuotoon, niin poistetaan osittaiset riippuvuudet, tässä tapauksessa siis: fd2: huNro -> osoite Periaatteena osittaisen riippuvuuden poistamisessa on:” otetaan ei-perusavainsarakkeet pois yhdessä sen osuuden kanssa perusavaimesta, jonka (joiden) suhteen nämä ei-perusavainsarakkeet ovat täydellisesti riippuvaisia.” Siis luodaan kaksi taulua Huoneisto(huNro, osoite) huoTarkastus(huNro, taPvm, taAika, kommentit, hloNro, hNimi, aRek) Normalisointi1 tMyn
Huoneisto(huNro, osoite) , 2 NF PG4 Asematie 6 A 24 PG16 Itäkuja 5 Huoneisto(huNro, osoite) , 2 NF Normalisointi1 tMyn
huNro taPvm taAika kommentit hloNro hNimi aRek PG4 22.9.2009 10.00 Keittiön kaapin oven saranat mi01 Jarkko Keränen AJI-663 5.10.2009 13.30 Paikat kivassa kunnossa mi03 Minna Jokela UIR-236 11.11.2009 8.15 Kylpyhuoneen kosteusvaurio XJF-338 PG16 21.9.2009 11.40 Olohuoneen tapetointitarve 4.10.2009 15.45 Ihan järjestyksessä huoTarkastus(huNro, taPvm, taAika, kommentit, hloNro, hNimi, aRek), 2 NF Normalisointi1 tMyn
Taulussa Huoneisto ei ole transitiivisia riippuvuussuhteita. Jotta päästään 3 NF –esitysmuotoon, niin poistetaan transitiiviset riippuvuudet, tässä tapauksessa siis taulussa huoTarkastus: fd3: hloNro -> hNimi Taulussa Huoneisto ei ole transitiivisia riippuvuussuhteita. Nyt taulut ovat siis Huoneisto(huNro, osoite) Henkilosto(hloNro, hNimi) huoTarkastus(huNro, taPvm, taAika, kommentit, hloNro, aRek) Normalisointi1 tMyn
Huoneisto(huNro, osoite) , 3 NF PG4 Asematie 6 A 24 PG16 Itäkuja 5 Huoneisto(huNro, osoite) , 3 NF Normalisointi1 tMyn
Henkilosto(hloNro, hNimi), 3 NF Jarkko Keränen mi03 Minna Jokela Henkilosto(hloNro, hNimi), 3 NF Normalisointi1 tMyn
huoTarkastus(huNro, taPvm, taAika, kommentit, hloNro, aRek), 3 NF PG4 22.9.2009 10.00 Keittiön kaapin oven saranat mi01 AJI-663 5.10.2009 13.30 Paikat kivassa kunnossa mi03 UIR-236 11.11.2009 8.15 Kylpyhuoneen kosteusvaurio XJF-338 PG16 21.9.2009 11.40 Olohuoneen tapetointitarve 4.10.2009 15.45 Ihan järjestyksessä huoTarkastus(huNro, taPvm, taAika, kommentit, hloNro, aRek), 3 NF Normalisointi1 tMyn