Diferencia entre 3NF y BCNF en DBMS

1. Tercera Forma Normal (3NF) :
Se dice que una relación está en Tercera Forma Normal (3NF), si está en 2NF y cuando ningún atributo no clave depende transitivamente de la clave primaria, es decir, no hay dependencia transitiva. También debe cumplir una de las condiciones dadas a continuación. Para la función de dependencia C->D:

  • C debería ser una superclave y,
  • D debe ser un atributo principal, es decir, D debe ser parte de la clave candidata.

3NF se utiliza para reducir la duplicación de datos y lograr la integridad de los datos.

Ejemplo:
Para la relación R(L, M, N, O, P) con dependencias funcionales como {L->M, MN->P, PO->L}:

The candidate keys will be : {LNO, MNO, NOP}
      as the closure of LNO = {L, M, N, O, P} 
             closure of MNO = {L, M, N, O, P}
             closure of NOP = {L, M, N, O, P}

Esta relación está en 3NF como ya está en 2NF y no tiene dependencia transitiva. Además, no hay un atributo no principal que derive un atributo no principal.

2. Forma normal de Boyce-Codd (BCNF) :
BCNF significa forma normal de Boyce-Codd y fue creada por RF Boyce y EF Codd en 1974. Se dice que hay una dependencia funcional en BCNF si se cumplen estas propiedades:

  • Ya debería estar en 3NF.
  • Para una dependencia funcional, digamos P->Q, P debería ser una superclave.

BCNF es una extensión de 3NF y tiene reglas más estrictas que 3NF. Además, se considera que es más fuerte que 3NF.

Ejemplo:
para la relación R(A, B, C, D) con dependencias funcionales como {A->B, A->C, C->D, C->A}:

The candidate keys will be : {A, C}
      as the closure of A = {A, B, C, D} 
             closure of C = {A, B, C, D} 

Esta relación está en BCNF como ya está en 3Nf (no hay ningún atributo principal que derive de ningún atributo principal) y en el lado izquierdo de la dependencia funcional hay una clave candidata.

Diferencia entre 3NF y BCNF:

S. NO. 3NF FNBC
1. En 3NF no debe haber dependencia transitiva, es decir, ningún atributo no principal debe depender transitivamente de la clave candidata. En BCNF para cualquier relación A->B, A debería ser una super clave de relación.
2. Es menos fuerte que BCNF. Es comparativamente más fuerte que 3NF.
3. En 3NF las dependencias funcionales ya están en 1NF y 2NF. En BCNF las dependencias funcionales ya están en 1NF, 2NF y 3NF.
4. La redundancia es alta en 3NF. La redundancia es comparativamente baja en BCNF.
5. En 3NF hay preservación de todas las dependencias funcionales. En BCNF puede haber o no preservación de todas las dependencias funcionales.
6. Es comparativamente más fácil de lograr. Es difícil de lograr.
7. La descomposición sin pérdidas se puede lograr mediante 3NF. La descomposición sin pérdidas es difícil de lograr en BCNF.

Publicación traducida automáticamente

Artículo escrito por kapilsparshi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *