El objetivo de Boyce-Codd Normal Form (BCNF) es aumentar la integridad de los datos mediante la organización de las columnas y tablas de una base de datos relacional con el fin de lograr la normalización de la base de datos. La normalización de la base de datos ocurre cuando se establecen relaciones entre tablas y cuando las tablas tienen reglas definidas para hacer la base de datos más flexible y preservar los datos.
Los objetivos de la normalización de bases de datos son eliminar los datos redundantes y asegurar que las dependencias de datos tengan sentido. Una base de datos se normaliza cuando los mismos datos no se almacenan en más de una tabla y cuando sólo se almacenan en una tabla los datos relacionados.
Origen de la Forma Normal de Boyce-Codd
Seguir una serie de directrices garantiza la normalización de las bases de datos. Estas pautas se conocen como formas normales y están numeradas del uno al cinco. Una base de datos relacional se describe como normalizada si cumple con las tres primeras formas: 1NF, 2NF y 3NF.
BCNF fue creado como una extensión de la tercera forma normal, o 3NF, en 1974 por Raymond Boyce y Edgar Codd. Los hombres estaban trabajando para crear esquemas de base de datos que minimicen las redundancias con el objetivo de reducir el tiempo computacional. El tercer formulario normal elimina las columnas que no dependen de la clave primaria, además de cumplir con las pautas del primer y segundo formulario normal. El BCNF, que a veces se denomina 3.5NF, cumple todos los requisitos del 3NF y requiere que las claves del candidato no dependan de otros atributos de una tabla.
En el momento de la creación de BCNF, Boyce era uno de los principales desarrolladores de Structured English Query Language (SQL), que mejoró la recuperación de datos utilizando el modelo relacional de Codd. En este modelo, Codd postuló que la complejidad estructural de las bases de datos podría reducirse, lo que significaba que las consultas podrían ser más potentes y flexibles.
Usando su conocimiento de la base de datos relacional, Codd definió las pautas 1NF, 2NF y 3NF. Se asoció con Boyce para definir el BCNF.
Claves del candidato y BCNF
Una clave candidata es una columna o combinación de columnas en una tabla que forma una clave única en la base de datos. La combinación de atributos puede utilizarse para identificar un registro de base de datos sin hacer referencia a ningún otro dato. Cada tabla puede contener varias claves de candidato, cualquiera de las cuales puede calificarse como clave primaria. Una tabla contiene sólo una clave primaria.
Las claves del candidato deben ser únicas.
Una relación es en el BCNF si cada determinante es una clave candidata. Considere una tabla de base de datos que almacena la información de los empleados y tiene los atributos , , , , (Last_name>, y .
En esta tabla, el campo determina primer_nombre y último_nombre. Del mismo modo, la tupla ( , ) determina .
Identificador del empleado Nombre Apellido Título 13133EmilySmithManager13134JimSmithAssociate13135EmilyJonesAssociate
La clave candidata para esta base de datos es porque es el único valor que no puede ser utilizado por otra fila.