3NF vs BCNF
La normalización es un proceso que se lleva a cabo para minimizar las redundancias que se presentan en los datos de las bases de datos relacionales. Este proceso dividirá principalmente las tablas grandes en tablas más pequeñas con menos redundancias. Estas tablas más pequeñas estarán relacionadas entre sí a través de relaciones bien definidas. En una base de datos bien normalizada, cualquier alteración o modificación de los datos requerirá modificar una única tabla. La Tercera Forma Normal (3NF) fue introducida en 1971 por Edgar F. Codd, quien también es el inventor del modelo relacional y el concepto de normalización. La forma normal de Boyce-Codd (BCNF) fue introducida en 1974 por Codd y Raymond F. Boyce.
¿Qué es 3FN?
3NF es la tercera forma normal utilizada en la normalización de bases de datos relacionales. De acuerdo con la definición de Codd, se dice que una tabla está en 3NF, si y solo si, esa tabla está en la segunda forma normal (2NF), y cada atributo en la tabla que no pertenezca a una clave candidata debe depender directamente de cada clave candidata de esa tabla. En 1982, Carlo Zaniolo produjo una definición expresada de manera diferente para 3NF. Las tablas que cumplen con la 3NF generalmente no contienen anomalías que ocurren al insertar, eliminar o actualizar registros en la tabla.
¿Qué es FNBC?
BCNF (también conocido como 3.5NF) es otra forma normal utilizada en la normalización de bases de datos relacionales. Se introdujo para capturar algunas de las anomalías que no son abordadas por el 3NF. Se dice que una tabla está en BCNF, si y solo si, para cada una de las dependencias de la forma A → B que no son triviales, A es una superclave. La descomposición de una tabla que no está en la forma normal de BCNF no garantiza la producción de tablas en la forma de BCNF (mientras se conservan las dependencias que estaban presentes en la tabla original).
¿Cuál es la diferencia entre 3NF y BCNF?
Tanto 3NF como BCNF son formas normales que se utilizan en bases de datos relacionales para minimizar las redundancias en las tablas. En una tabla que está en la forma normal BCNF, para cada dependencia funcional no trivial de la forma A → B, A es una superclave mientras que una tabla que cumple con 3NF debe estar en 2NF, y cada no prima El atributo debe depender directamente de cada clave candidata de esa tabla. BCNF se considera una forma normal más fuerte que 3NF y se desarrolló para capturar algunas de las anomalías que 3NF no podía capturar. Obtener una tabla que cumpla con el formulario BCNF requerirá descomponer una tabla que está en el 3NF. Esta descomposición dará como resultado operaciones de combinación adicionales (o productos cartesianos) al ejecutar consultas. Esto aumentará el tiempo de cálculo. Por otro lado, las mesas que cumplen con BCNF tendrían menos redundancias que las mesas que solo cumplen con 3NF. Además, la mayoría de las veces, es posible obtener una tabla que cumpla con 3NF sin obstaculizar la preservación de la dependencia y la unión sin pérdidas. Pero esto no siempre es posible con BCNF.