BCNF vs 4NF (4. normalisointi)
Tietokannan normalisointi on tekniikka, joka käsittelee relaatiotietokannan hallintajärjestelmiä. Tietovirheet voidaan välttää hyvin normalisoidussa tietokannassa. Normalisointia käytetään vähentämään tietokannan redundanssia. Tämä tarkoittaa tietokantataulukoiden ja niiden suhteiden toteuttamista, redundanssin ja epäjohdonmukaisen riippuvuuden poistamista. Normalisoinnille on asetettu joitain enn alta määritettyjä sääntöjä. Näitä sääntöjä kutsutaan normaalimuodoiksi.
- Ensimmäinen normaalimuoto (1NF)
- Toinen normaalimuoto (2NF)
- Kolmas normaalimuoto (3NF)
- Boyce-Coddin normaalimuoto (BCNF tai 3,5NF)
- Neljäs normaalimuoto (4NF)
Ensimmäistä normaalimuotoa kutsutaan taulukon atomisuudeksi. Taulukon atomiteetti voidaan saavuttaa kahdesta vaiheesta.
- Poistan päällekkäisiä sarakkeita samasta taulukosta.
- Erillisten taulukoiden luominen vastaaville päällekkäisille sarakkeille. (tämän taulukon jokaisen rivin tunnistamiseen on oltava ensisijaisia avaimia)
Toisessa normaalimuodossa taulukon redundantteja tietoja pyritään vähentämään purkamalla ne ja sijoittamalla ne erilliseen taulukkoon. Tämä voidaan saavuttaa suorittamalla seuraavat vaiheet.
- Valitse tietojoukko, joka koskee useita rivejä, ja sijoita ne erillisiin taulukoihin.
- Luo suhteet näiden uusien taulukoiden ja päätaulukoiden välille vieraiden avaimien avulla.
Jotta tietokanta siirretään kolmanteen normaalimuotoon, tietokanta on jo saavutettava ensimmäisessä ja toisessa normaalimuodossa. Kun tietokanta on 1NF:ssä ja 2NF:ssä, siinä ei ole päällekkäisiä sarakkeita eikä useille riveille soveltuvia datan osajoukkoja. Kolmas normaalimuoto voidaan saavuttaa poistamalla taulukoiden sarakkeet, jotka eivät ole täysin, riippuvat ensisijaisesta avaimesta.
Boyce-Coddin normaalimuoto (BCNF tai 3,5NF)
BCNF tarkoittaa "Boyce-Coddin normaalimuotoa". Tämä normaalimuoto tunnetaan myös nimellä 3.5 Normaali tietokannan normalisoinnin muoto. BCNF:n saavuttamiseksi tietokanta on saatettava jo kolmanteen normaalimuotoon. Sitten sinun tulee suorittaa seuraavat vaiheet BCNF:n saavuttamiseksi.
- Tunnista kaikki ehdokasavaimet suhteissa
- Tunnista kaikki suhteiden toiminnalliset riippuvuudet.
- Jos suhteessa on funktionaalisia riippuvuuksia, joissa niiden determinantit eivät ole relaatioiden ehdokasavaimia, poista funktionaaliset riippuvuudet sijoittamalla ne uuteen relaatioon yhdessä niiden determinantin kopion kanssa.
Neljäs normaalimuoto
Tietokannan on oltava kolmannessa normaalimuodossa, ennen kuin se normalisoidaan neljänteen normaalimuotoon. Jos tietokanta on jo kolmannessa normaalimuodossa, seuraava askel pitäisi olla moniarvoisten riippuvuuksien poistaminen. (Jos yksi tai useampi rivi viittaa siihen, että samassa taulukossa on yksi tai useampi muu rivi, sitä kutsutaan moniarvoiseksi riippuvuudeksi.)
Mitä eroa on BCNF:n ja 4NF:n (neljäs normaalimuoto) välillä?
• Tietokannan on oltava jo saavutettu 3NF:ään, jotta se voidaan siirtää BCNF:ään, mutta tietokannan on oltava 3NF:ssä ja BCNF:ssä, jotta se saavuttaa 4NF:n.
• Neljännessä normaalimuodossa taulukoissa ei ole moniarvoisia riippuvuuksia, mutta BCNF:ssä taulukoissa voi olla moniarvoista riippuvuustietoa.