Ero 3NF: n ja BCNF: n välillä

Kirjoittaja: Laura McKinney
Luomispäivä: 1 Huhtikuu 2021
Päivityspäivä: 13 Saattaa 2024
Anonim
Ero 3NF: n ja BCNF: n välillä - Tekniikka
Ero 3NF: n ja BCNF: n välillä - Tekniikka

Sisältö


normalisointi on menetelmä, joka poistaa irtisanominen suhteesta minimoimalla siten tietokantojen suorituskykyä heikentävien lisäys-, poisto- ja päivitysvirheiden minimoiminen. Tässä artikkelissa erotellaan kahden korkeamman normaalin muodon välillä, ts. 3NF ja BCNF. Perusero 3NF: n ja BCNF: n välillä on se 3NF eliminoi transitiivisen riippuvuuden relaatiosta ja taulukosta, joka on BCNF: ssä, triviaalisen funktionaalisen riippuvuuden X-> Y suhteessa on oltava, vain jos X on supernäppäin.

Keskustelemme 3NF: n ja BCNF: n eroista alla olevan vertailutaulun avulla.

  1. Vertailutaulukko
  2. Määritelmä
  3. Keskeiset erot
  4. johtopäätös

Vertailutaulukko

Vertailun perusteet3NFBCNF
KonseptiMikään ei-ensisijainen ominaisuus ei saa olla transitiivisesti riippuvainen ehdokasavaimesta.Kaikille triviaalille riippuvuuksille suhteessa R sanotaan X-> Y, X: n tulisi olla suhteen R superavain.
riippuvuus3NF voidaan saada uhraamatta kaikkia riippuvuuksia.Riippuvuuksia ei välttämättä säilytetä BCNF: ssä.
hajoaminenHäviötöntä hajoamista voidaan saavuttaa 3NF: llä.Häviötöntä hajoamista on vaikea saavuttaa BCNF: ssä.


Määritelmä 3NF

Taulukon tai suhteen katsotaan olevan Kolmas normaali muoto vain jos pöytä on jo 2NF eikä sitä ole kakkosluokan ominaisuus transitiivisesti riippuvainen ehdokasavain suhteesta.

Joten, ennen kuin käsittelen taulukon normalisointiprosessia 3NF: ssä, anna minun keskustella ehdokkaasta. Ehdokasavain on minimaalinen super avain toisin sanoen superavain, jolla on vähimmäismääritteet, jotka voivat määritellä suhteen kaikki määritteet. Joten taulukon normalisointiprosessissa tunnistat ensin tietyn suhteen ehdokasavaimen. Ehdokasavaimeen kuuluvat attribuutit ovat ensisijaiset ominaisuudet, ja määritteet, jotka eivät ole ehdokasavaimen osa, ovat ei-tärkeät määritteet.

Nyt jos meillä on suhde R (A, B, C, D, E, F) ja meillä on seuraavat funktion riippuvuudet suhteelle R.


Havaitsemalla toiminnalliset riippuvuudet voimme päätellä, että AB on ehdokasavain suhteelle R, koska avainta AB käyttämällä voidaan hakea kaikkien suhteen R attribuuttien arvo. Joten A, B tulee ensisijaiset ominaisuudet kun he yhdessä tekevät ehdokkaana avaimen. Määritteet C, D, E, F tulee kakkosluokan määritteitä, koska yksikään niistä ei ole ehdokasavaimen osa.

Taulukko on 2NF: ssä, koska mikään ei-prime-määrite ei ole osittain riippuvainen ehdokkausavaimesta

Mutta transitiivinen riippuvuus havaitaan ominaisuutena annettujen funktionaalisten riippuvuuksien joukossa F ei ole suoraan riippuvainen ehdokkaasta AB. Sen sijaan määrittele F on transitiivisesti riippuvainen ehdokkaasta AB kautta määritteen D. Till-ominaisuudella D on arvo, jonka voimme tavoittaa F-arvoon, ehdokkaanavaimesta AB. Jos attribuutin D arvo on NULL, emme voi koskaan löytää / etsiä F: n arvoa ehdokasavaimen AB avulla. Tästä syystä 3NF vaatii poistamaan transitiivisen riippuvuuden suhteista.

Joten tämän transitiivisen riippuvuuden poistamiseksi meidän on jaettava suhde R. Jakaamalla suhdetta, aseta aina ehdokasavain ja kaikki attribuutit, jotka riippuvat kyseisestä ehdokkausavaimesta ensimmäisessä suhteessa. Seuraavaan jaettuun suhteeseen sijoitamme toiseen suhteeseen attribuutin, joka aiheuttaa transitiivisen riippuvuuden, ja myös siitä riippuvat attribuutit.

Nyt taulukot R1 ja R2 ovat muodossa 3NF, koska siinä ei ole jäljellä osittaista ja transitiivistä riippuvuutta. Suhde R1 (A, B, C, D, E) on ehdokasavain AB taas suhteessa R2 (D, E) on D ehdokkaanaan.

Määritelmä BCNF

BCNF: n katsotaan olevan voimakkaampi kuin 3NF. BCNF: ssä olevan suhteen R on oltava 3NF. Ja missä tahansa a ei-triviaalinen funktionaalinen riippuvuus A -> B pitää sitten suhteessa R täytyy olla a superkey suhteen R suhteen. Kuten tiedämme, superavain on avain, jolla on yksi attribuutti tai attribuuttijoukko, joka määrittelee suhteen koko määritteen.

Siirrytään nyt esimerkkiin ymmärtääksesi BCNF: ää paremmin. Oletetaan, että meillä on suhde R (A, B, C, D, F), joilla on seuraavat toiminnalliset riippuvuudet.

Tarkkailemalla suhdetta R voimme sanoa sen ja BF olemme ehdokkaiden avaimet suhteesta R, koska ne yksin voivat etsiä arvoa suhteessa R oleville kaikille määritteille. Joten A, B, F ovat tärkein määritteitä, C ja D olemme kakkosluokan attribuutteja. Edellä olevissa toiminnallisissa riippuvuuksissa ei havaita mitään transitiivistä riippuvuutta. Siksi taulukko R on 3NF: ssä.

Mutta yksi toiminnallinen riippuvuus, ts. D -> F rikkoo BCNF: n määritelmää, jonka mukaan jos D -> F on olemassa D pitäisi olla super avain mikä ei ole tässä tapauksessa. Joten jaamme suhteen R.

Nyt taulukot R1 ja R2 ovat BCNF: ssä. Suhde R1 on kaksi ehdokas näppäimet ja B, R1: n triviaalinen funktionaalinen riippuvuus, ts. A-> BCD ja B -> ACD, pidä BCNF: ssä, koska A ja B ovat suhteen superavaimet. Suhde R2 on D kuin sen ehdokasavain ja toiminnallinen riippuvuus D -> F pätee myös BCNF: lle, koska D on superavain.

  1. 3NF: n mukaan minkään ei-pääominaisuuden ei tarvitse olla transitiivisesti riippuvainen suhteen ehdokasavaimesta. Toisaalta BCNF toteaa, että jos suhteelle on olemassa triviaalia toiminnallinen riippuvuus X -> Y; sitten X: n on oltava superavain.
  2. 3NF voidaan saada tinkimättä suhteen riippuvuudesta. Riippuvuutta ei kuitenkaan voida säilyttää BCNF: n saamisen aikana.
  3. 3NF voidaan saavuttaa menettämättä mitään tietoja vanhasta taulukosta, kun taas saamme BCNF: ää saatamme menettää joitain tietoja vanhasta taulukosta.

johtopäätös:

BCNF on paljon rajoittavampi kuin 3NF, mikä auttaa pöydän normalisoinnissa enemmän. 3NF: n suhteessa on jäljellä minimaalinen redundanssi, jonka BCNF poistaa edelleen.