Diferència entre 3NF i BCNF

Autora: Laura McKinney
Data De La Creació: 1 Abril 2021
Data D’Actualització: 10 Ser Possible 2024
Anonim
Diferència entre 3NF i BCNF - Tecnologia
Diferència entre 3NF i BCNF - Tecnologia

Content


Normalització és un mètode que elimina redundància a partir d’una relació minimitzant així les anomalies d’inserció, eliminació i actualització que degraden el rendiment de les bases de dades. En aquest article, diferenciarem dues formes normals superiors, és a dir, 3NF i BCNF. La diferència bàsica entre 3NF i BCNF és que 3NF elimina la dependència transitiva d'una relació i una taula que es troba en BCNF, la dependència funcional trivial X-> Y en una relació ha de mantenir-se, només si X és la tecla super.

Anem a discutir les diferències entre 3NF i BCNF amb l'ajut del gràfic de comparació que es mostra a continuació.

  1. Gràfic de comparació
  2. Definició
  3. Diferències claus
  4. Conclusió

Gràfic de comparació

Bases per a la comparació3NFBCNF
ConcepteCap atribut que no sigui prim no ha de dependre de manera transitòria de la clau de Candidat.Per a qualsevol dependència trivial en una relació R diguem X-> Y, X hauria de ser una super clau de la relació R.
DependènciaEs pot obtenir 3NF sense renunciar a totes les dependències.És possible que les dependències no es conservin a BCNF.
DescomposicióLa descomposició sense pèrdues es pot aconseguir en 3NF.És difícil aconseguir la descomposició sense pèrdues a BCNF.


Definició de 3NF

Es considera que hi ha una taula o una relació Tercera forma normal només si la taula ja és a 2NF i no n’hi ha no primeres atribut de forma transitiva depenent de la clau de candidat d’una relació.

Per tant, abans d'abordar el procés de normalització d'una taula en 3NF, permeteu-me discutir la clau del candidat. A Clau del candidat és super tecla mínima és a dir, una tecla super amb atributs mínims que pot definir tots els atributs d'una relació. Així, en el procés de normalització de la taula, primer reconeixeu la clau de candidat d’una relació determinada. Els atributs que formen part de la clau de candidat són atributs principalsi els atributs que no formen part de la clau del candidat són atributs no primers.


Ara si tenim una relació R (A, B, C, D, E, F) i tenim dependències de funció següents per a la relació R.

Observant les dependències funcionals, podem concloure que AB és una clau candidata per a la relació R perquè utilitzant la tecla AB podem cercar el valor de tots els atributs en una relació R. Així doncs A, B esdevé atributs principals ja que junts fan de candidat la clau. Els atributs C, D, E, F esdevé no primeres atributs perquè cap d'ells és la part d'una clau de candidat.

La taula està en 2NF, ja que cap atribut no prim depèn parcialment de la clau del candidat

Però, entre les dependències funcionals proporcionades, s'observa una dependència transitòria, com a atribut F no depèn directament de la clau del candidat AB. En canvi, atribueix F és de forma transitiva depenent de la clau del candidat AB mitjançant atribut D. L’atribut Till D té algun valor que podem arribar a l’atribut del valor de F, des de la clau de candidat AB. En cas que el valor de l’atribut D sigui NULL, mai no podrem trobar / cercar el valor de F amb l’ajuda de la clau de candidat AB. Aquesta és la raó per la qual 3NF exigeix ​​eliminar les dependències transitives de les relacions.

Per tant, per eliminar aquesta dependència transitiva, hem de dividir la relació R. Mentre que dividim una relació, col·loquem sempre la clau candidata i tots els atributs que depenen d'aquesta clau de candidat a la primera relació. En la següent relació dividida, col·locarem l’atribut que provoca dependència transitiva i també els atributs que en depenen a la segona relació.

Ara, les taules R1 i R2 estan en 3NF ja que no li queden dependències parcials i transitives. Relació R1 (A, B, C, D, E) té una clau de candidat AB mentre que, relació R2 (D, E)D com a clau de candidat.

Definició de BCNF

Es considera que el BCNF és el més fort que el 3NF. La relació R per estar en BCNF ha d’estar dins 3NF. I allà on dependència funcional no trivial A -> B manté la relació R, doncs A ha de ser un superkey de la relació R. Com sabem, la tecla Súper és una clau que té un atribut únic o un conjunt d’atributs que determina, els atributs sencers d’una relació.

Passem ara a un exemple per entendre BCNF d’una manera millor. Suposem que tenim una relació R (A, B, C, D, F), que tenen dependències funcionals següents.

Observant la relació R, podem dir que A i BF són claus de candidat de la relació R, perquè sols poden cercar el valor de tots els atributs de la relació R. Així doncs A, B, F són els principal atributs mentre que, C i D són no primeres atributs. No s’observa cap dependència transitòria a les dependències funcionals presents anteriorment. Per tant, la taula R està en 3NF.

Però una dependència funcional és a dir. D -> F està violant la definició de BCNF, segons la qual, si D -> F existeixen llavors D hauria de ser la tecla super cosa que no passa aquí. Així doncs, dividirem la relació R.

Ara, les taules R1 i R2 es troben en BCNF. Relació R1 en té dos candidat claus A i B, la dependència funcional trivial de R1, és a dir, A-> BCD i B -> ACD, mantenen BCNF ja que A i B són les tecles super de la relació. Relació R2D com a seu clau de candidat i la dependència funcional D -> F també val per BCNF, ja que D és una tecla super.

  1. 3NF estableix que cap atribut no primari no ha de dependre de manera transitòria de la clau candidata de la relació. D'altra banda, BCNF afirma que si existeix una dependència funcional trivial X -> Y per a una relació; llavors X ha de ser una tecla super.
  2. Es pot obtenir 3NF sense sacrificar la dependència de relació. Tanmateix, és possible que no es conservi la dependència mentre s’obtingui BCNF.
  3. Es pot obtenir 3NF sense perdre cap informació de la taula antiga mentre que, tot i obtenir BCNF, podem deixar anar alguna informació de la taula antiga.

Conclusió:

El BCNF és molt més restrictiu que el 3NF que ajuda a normalitzar més la taula. La relació en 3NF queda una mínima redundància, que és eliminada per la BCNF.