Yksi kelpo perusavain on sarakkeet laakNro ja vastAika Yksi kelpo perusavain on sarakkeet laakNro ja vastAika. Toinen voisi olla potNro ja vastAika, kolmas voisi olla huoneNro ja vastAika,…, mutta hammaslääkäriasema taitaa pyöriä hammaslääkäreiden ympärillä… Normalisointi2 tMyn
laakNro vastAika laakNimi potNro potNimi huoneNro 1 2009-02-17 10:00 Jukka Ikonen Sakari Marttinen 2009-02-17 11:00 2 Minna Talvitie Paula Oksanen 3 Veikko Laine 2009-02-27 14:00 2009-02-18 15:00 Sari Kaukorinne 2009-02-17 16:00 4 Matti Katainen Normalisointi2 tMyn
laakNro vastAika laakNimi potNro potNimi huoneNro fd1 fd2 fd3 fd4 Normalisointi2 tMyn
Siis luodaan kaksi taulua Hammaslaakari(laakNro, laakNimi) Taulu on 2. normaalimuodossa, jos jokainen ei-perusavain –attribuutti on täysin riippuvainen perusavaimesta. Siis fd2 on esteenä 2 NF –muodolle 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 Hammaslaakari(laakNro, laakNimi) Vastaanotto(laakNro, vastAika, potNro, potNimi, huoneNro) Normalisointi2 tMyn
fd3: potNro -> potNimi Nyt taulut ovat siis: Jotta päästään 3 NF –esitysmuotoon, niin poistetaan transitiiviset riippuvuudet, tässä tapauksessa siis taulussa Vastaanotto: fd3: potNro -> potNimi Nyt taulut ovat siis: Hammaslaakari(laakNro, laakNimi) Potilas(potNro, potNimi) Vastaanotto(laakNro, vastAika, potNro, huoneNro) Normalisointi2 tMyn
Potilas Hammaslaakari laakNro laakNimi 1 Jukka Ikonen 2 Paula Oksanen 3 Sari Kaukorinne potNro potNimi 1 Sakari Marttinen 2 Minna Talvitie 3 Veikko Laine Potilas Hammaslaakari Normalisointi2 tMyn
Vastaanotto laakNro vastAika potNro huoneNro 1 2009-02-17 10:00 2009-02-17 11:00 2 3 2009-02-27 14:00 2009-02-18 15:00 2009-02-17 16:00 4 Vastaanotto Normalisointi2 tMyn