Saltar al contenido

¿Qué es la normalización? Ejemplo de base de datos 1NF, 2NF, 3NF, BCNF

¿Qué es la normalización?

Normalizar Es una técnica de diseño de bases de datos que reduce la redundancia de datos y elimina atributos no deseados como Insertar, Actualizar y Eliminar Anomalías. Las reglas normalizadas dividen las tablas más grandes en tablas más pequeñas y las vinculan a las relaciones. El propósito de la normalización en SQL es eliminar los datos redundantes (repetitivos) y garantizar que los datos se almacenen de forma lógica.

El inventor de la modelo relativo Edgar Codd propuso la teoría de la normalización de datos con la introducción de la Primera Forma Normal y continuó expandiendo la teoría con la Segunda y Tercera Forma Normal. Más tarde se unió a Raymond F. Boyce para desarrollar la teoría de la forma normal de Boyce-Codd.

Formularios de base de datos estándar

Aquí hay una lista de los formularios estándar

  • 1NF (Primera forma normal)
  • 2NF (Segunda forma ordinaria)
  • 3NF (Tercera forma ordinaria)
  • BCNF (formulario estándar de Boyce-Codd)
  • 4NF (cuarto formulario estándar)
  • 5NF (Quinta Forma Ordinaria)
  • 6NF (sexta forma ordinaria)

La teoría de la normalización de datos en el servidor SQL aún se está desarrollando. Por ejemplo, incluso hay debates sobre 6ú Forma normal. En la mayoría de las aplicaciones prácticas, sin embargo, la normalización alcanza su mejor nivel en 3rd Forma normal. La evolución de las teorías de normalización de SQL se muestra a continuación:

Formularios de base de datos estándar

Normalización de la base de datos con ejemplos

Base de datos Ejemplo normalizado se puede entender fácilmente con la ayuda de un estudio de caso. Suponga que una biblioteca de videos mantiene una base de datos de películas alquiladas. Sin normalización en la base de datos, toda la información se almacena en una tabla como se muestra a continuación. Entendemos la Normalización en la base de datos con tablas por ejemplo:

Esto es lo que ves Una columna de alquiler de películas tiene varios valores. Ahora pasemos a las primeras formas normales:

Reglas 1NF (Primera Forma Ordinaria)

La tabla de arriba en 1NF-

Ejemplo 1NF

Antes de continuar, entendamos algunas cosas:

¿Qué es una LLAVE?

Una CLAVE es un valor que se utiliza para identificar de forma única un registro en una tabla. Una CLAVE puede ser una sola columna o una combinación de varias columnas

Nota: Las columnas de una tabla que NO se utilizan para identificar un registro de forma única se denominan columnas sin clave.

¿Qué es una clave principal?

Un primario es el valor de una sola columna que se utiliza para identificar de forma única un registro de base de datos.

Tiene las siguientes caracteristicas

¿Qué es una clave compuesta?

Una clave compuesta es una clave principal que consta de varias columnas que se utilizan para identificar un registro de forma única.

En nuestra base de datos, tenemos dos de nosotros con el mismo nombre Robert Phil, pero viven en lugares diferentes.

En consecuencia, requerimos tanto el Nombre completo como la Dirección para identificar un registro de manera única. Esa es una clave compuesta.

Pasemos a la segunda forma 2NF normal

Reglas 2NF (segunda forma ordinaria)

Claramente no podemos proceder a simplificar nuestra base de datos en 2Dakota del Norte Forma normalizada a menos que compartamos la tabla anterior.

Hemos dividido nuestra tabla 1NF en dos tablas a saber. Tabla 1 y Tabla 2. La tabla 1 contiene información sobre los miembros y la tabla 2 contiene información sobre películas de alquiler.

Hemos introducido una nueva columna llamada Membership_id, que es la clave principal para la tabla 1. Los registros se pueden identificar de forma única en la Tabla 1 mediante el uso de una identificación de membresía.

Base de datos: clave externa

En la Tabla 2, Membership_ID es la clave externa

La clave externa se refiere a otra clave de la tabla. Ayuda a conectar tus tablas

¿Por qué necesita una clave externa?

Por ejemplo, un recién llegado envía un registro en la Tabla B como

Solo podrá ingresar valores en su clave externa existente en la clave única en la tabla principal. Esto ayuda con la integridad de la referencia.

El problema anterior se puede solucionar declarando una identificación de membresía de la Tabla 2 como una clave externa y una identificación de membresía de la Tabla 1

Ahora, si alguien intenta ingresar un valor en el campo de identificación de membresía que no existe en la tabla principal, se mostrará un error.

¿Qué son las dependencias funcionales de traducción?

Traslacional dependencia funcional esto es cuando cambia una columna que no es clave, puede cambiar cualquiera de las otras columnas que no son clave

Considere la tabla 1. Si cambia la columna que no es clave, el Nombre completo del saludo puede cambiar.

Pasemos a 3NF

Reglas 3NF (Tercera Forma Ordinaria)

Para mover nuestra tabla 2NF a 3NF, necesitamos dividir nuestra tabla nuevamente.

Ejemplo 3NF

A continuación se muestra un ejemplo de 3NF en una base de datos SQL:

Hemos compartido nuestras tablas nuevamente y hemos creado una nueva tabla que almacena Saludos.

No hay dependencias funcionales traslacionales y, por lo tanto, nuestra tabla está en 3NF.

La Tabla 3 es la clave de ID de saludo y la Tabla 1 contiene el ID de saludo externo para la clave principal en la Tabla 3.

Ahora nuestra pequeña muestra está en un nivel que ya no se puede descomponer para lograr tipos normalizados más altos. De hecho, ya se encuentra en formas más normalizadas. Pasar a los siguientes niveles de normalización de datos en bases de datos complejas generalmente requiere esfuerzos separados. Sin embargo, discutiremos los siguientes niveles de normalización brevemente más adelante.

BCNF (formulario estándar de Boyce-Codd)

Incluso cuando una base de datos está en 3rd Forma normal, aún conduciría a anomalías si tiene más de una Candidato Clave.

A veces también se le llama BCNF. 3.5 Forma estándar.

Reglas 4NF (Cuarta Forma Ordinaria)

Si alguna tabla de la base de datos no contiene dos o más datos independientes que describen la entidad relevante, está en 4ú Forma normal.

Reglas 5NF (Quinta Forma Ordinaria)

Hay una mesa en 5ú Forma normal solo si está en 4NF y no se puede descomponer en ninguna cantidad de tablas más pequeñas sin perder datos.

6NF propuesto (sexto formulario ordinario)

6ú El formulario estándar no está estandarizado, sin embargo, los expertos en bases de datos lo han debatido durante algún tiempo. Espero que tengamos una definición estandarizada clara para 6ú Forma normal en un futuro próximo …

¡¡¡Eso es todo con la Normalización SQL !!!

Resumen