¿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:
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)
- Cada celda de la tabla debe tener un valor.
- Cada registro debe ser único.
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
- NULL no puede ser una clave principal
- Un valor principal debe ser único
- Los valores primarios primarios rara vez se cambian
- La clave principal debe recibir un valor cuando se ingresa un nuevo registro.
¿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)
- Regla 1- Estar en 1NF
- Regla 2- Clave principal de una sola columna
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
- Una clave externa puede tener un nombre diferente al de la clave principal
- Asegura que haya filas correspondientes en otras filas en una tabla
- A diferencia de la clave principal, no es necesario que sean únicas. A menudo no lo son
- Las claves externas se pueden anular mientras que las claves primarias no se pueden crear
¿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)
- Regla 1- Estar en 2NF
- Regla 2- No hay dependencias funcionales traslacionales
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
- El diseño de la base de datos es fundamental para la implementación exitosa de un sistema de administración de base de datos que cumpla con los requisitos de datos de un sistema empresarial.
- La normalización de procesos en DBMS ayuda a producir sistemas de bases de datos que son rentables y tienen mejores modelos de seguridad.
- Las dependencias funcionales son una parte muy importante del proceso de normalización de datos.
- La mayoría de los sistemas de bases de datos son una base de datos normalizada hasta el tercer formulario estándar.
- Una clave primaria identificada de forma única se registra en una tabla y no se puede anular
- Una clave externa ayuda a vincular una tabla y hacer referencia a una clave principal