
Discutamos las diferencias entre 3NF y BCNF con la ayuda del cuadro comparativo que se muestra a continuación.
Gráfica comparativa
Bases para la comparación | 3NF | BCNF |
---|---|---|
Concepto | Ningún atributo que no sea primo debe ser dependiente de la clave del candidato. | Para cualquier dependencia trivial en una relación R, digamos X-> Y, X debe ser una supertecla de relación R. |
Dependencia | 3NF se puede obtener sin sacrificar todas las dependencias. | Las dependencias no pueden ser preservadas en BCNF. |
Descomposición | La descomposición sin pérdida se puede lograr en 3NF. | La descomposición sin pérdida es difícil de lograr en BCNF. |
Definición de 3NF
Una tabla o una relación se considera que está en Tercera Forma Normal solo si la tabla ya está en 2NF y no hay un atributo no primo que dependa de forma transitiva de la clave candidata de una relación.
Entonces, antes de abordar el proceso de normalización de una tabla en 3NF, permítame discutir la clave del candidato. Una clave de candidato es una super clave mínima, es decir, una super clave con atributos mínimos que pueden definir todos los atributos de una relación. Entonces, en el proceso de normalizar su tabla, primero, reconoce la clave candidata de una relación dada. Los atributos que forman parte de la clave candidata son atributos principales, y los atributos que no forman parte de la clave candidata no son atributos principales .
Ahora si tenemos una relación R (A, B, C, D, E, F) y tenemos las siguientes dependencias de funciones para la relación R.

La tabla está en 2NF ya que ningún atributo no principal depende parcialmente de la clave candidata
Pero, se observa una dependencia transitiva entre las dependencias funcionales proporcionadas, ya que el atributo F no depende directamente de la clave candidata AB . En su lugar, el atributo F depende de manera transitoria de la clave candidata AB a través del atributo D. Hasta que el atributo D tiene algún valor que podemos alcanzar para atribuir el valor de F, desde la clave candidata AB. En caso de que el valor del atributo D sea NULL nunca podremos encontrar / buscar el valor de F con la ayuda de la clave candidata AB. Esta es la razón por la que 3NF exige eliminar la dependencia transitiva de las relaciones.
Entonces, para eliminar esta dependencia transitiva, necesitamos dividir la relación R. Mientras dividimos una relación, siempre coloque la clave candidata y todos los atributos que dependen de esa clave candidata en la primera relación. En la siguiente relación dividida, colocaremos el atributo que causa la dependencia transitiva y también los atributos que dependen de él en la segunda relación.

Definición de BCNF
BCNF es considerado el más fuerte que 3NF. La relación R para estar en BCNF debe estar en 3NF . Y dondequiera que se mantenga una dependencia funcional no trivial A -> B en relación R, entonces A debe ser una superclave de relación R. Como sabemos, la superclave es una clave que tiene un único atributo o conjunto de atributos que determina, la totalidad Atributos de una relación.
Ahora, pasemos a un ejemplo para entender BCNF de una mejor manera. Supongamos que tenemos una relación R (A, B, C, D, F), que tiene las siguientes dependencias funcionales.

Pero una dependencia funcional, es decir, D -> F está violando la definición de BCNF, según la cual, si D -> F existe, D debería ser la super clave, que no es el caso aquí. Así dividiremos la relación R.

Diferencias clave entre 3NF y BCNF
- 3NF indica que ningún atributo no primo debe depender de manera transitoria de la clave candidata de la relación. Por otra parte, BCNF establece que si existe una dependencia funcional trivial X -> Y para una relación; entonces X debe ser una super clave.
- 3NF se puede obtener sin sacrificar la dependencia de la relación. Sin embargo, la dependencia puede no ser preservada al obtener BCNF.
- 3NF se puede lograr sin perder información de la tabla anterior, mientras que al obtener BCNF podemos perder información de la tabla anterior.
Conclusión:
BCNF es mucho más restrictivo que 3NF, lo que ayuda a normalizar más la tabla. La relación en 3NF tiene una redundancia mínima, que se elimina aún más por el BCNF.