GNU/Linux >> Tutoriales Linux >  >> Cent OS

¿Qué es la normalización de bases de datos?

Introducción

La normalización de bases de datos es un método en el diseño de bases de datos relacionales que ayuda a organizar correctamente las tablas de datos. El proceso tiene como objetivo crear un sistema que represente fielmente la información y las relaciones sin pérdida de datos ni redundancia.

Este artículo explica la normalización de bases de datos y cómo normalizar una base de datos a través de un ejemplo práctico.

¿Qué es la normalización de bases de datos?

Normalización de bases de datos es una técnica para crear tablas de bases de datos con columnas y claves adecuadas al descomponer una tabla grande en unidades lógicas más pequeñas. El proceso también considera las demandas del entorno en el que reside la base de datos.

La normalización es un proceso iterativo. Comúnmente, la normalización de una base de datos ocurre a través de una serie de pruebas. Cada paso subsiguiente descompone las tablas en información más manejable, lo que hace que la base de datos general sea lógica y más fácil de trabajar.

¿Por qué es importante la normalización de la base de datos?

La normalización ayuda a un diseñador de bases de datos a distribuir de manera óptima los atributos en las tablas. La técnica elimina lo siguiente:

  • Atributos con múltiples valores.
  • Duplicado o repetido atributos.
  • No descriptivo atributos.
  • Atributos con redundancia información.
  • Atributos creados a partir de otras características .

Aunque la normalización total de la base de datos no es necesaria, proporciona un entorno de información que funciona bien. El método asegura sistemáticamente:

  • Una estructura de base de datos adecuado para consultas generalizadas.
  • Redundancia de datos minimizada , aumentando la eficiencia de la memoria en un servidor de base de datos.
  • Integridad de datos maximizada a través de las anomalías reducidas de inserción, actualización y eliminación.

La normalización de la base de datos transforma la coherencia general de la base de datos y proporciona un entorno eficiente.

Redundancias y anomalías de la base de datos

Al alterar una entidad en una tabla con redundancias , debe modificar todas las instancias repetidas de información y cualquier otra información relacionada con los datos modificados. De lo contrario, la base de datos se vuelve inconsistente y anomalías. ocurrir al hacer cambios.

Por ejemplo, en la siguiente tabla no normalizada:

La tabla contiene datos redundancia , que a su vez provoca tres anomalías al realizar cambios de datos:

1. Insertar anomalía . Al intentar insertar un nuevo empleado en el sector financiero, también debe saber el nombre del gerente. De lo contrario, no puede insertar datos en la tabla.

2. Anomalía de actualización. Si un empleado cambia de sector, el nombre del gerente termina siendo incorrecto. Por ejemplo, si Jacob cambia a finanzas, Adam permanece como su gerente.

3. Eliminar anomalía . Si Joshua decide dejar la empresa, al eliminar la fila también se elimina la información de que existe un sector financiero.

La solución a estas anomalías está en la normalización de bases de datos conceptos y pasos.

Conceptos de normalización de bases de datos

Los conceptos elementales utilizados en la normalización de bases de datos son:

  • Teclas . Atributos de columna que identifican un registro de base de datos de forma única.
  • Dependencias funcionales . Restricciones entre dos atributos en una relación.
  • Formas normales . Pasos para lograr una cierta calidad de una base de datos.

Formas normales de base de datos

La normalización de una base de datos se logra a través de un conjunto de reglas conocidas como formas normales . El concepto central es ayudar a un diseñador de base de datos a lograr la calidad deseada de una base de datos relacional.

Todos los niveles de normalización son acumulativos. Se deben cumplir los requisitos de la forma normal anterior antes de pasar al siguiente formulario.

Las etapas de la normalización son:

Una base de datos se normaliza cuando cumple la tercera forma normal . Los pasos adicionales en la normalización complican el diseño de la base de datos y podrían comprometer la funcionalidad del sistema.

¿Qué es una CLAVE?

Una clave de base de datos es un atributo o un grupo de características que describen de forma única una entidad en una tabla. Los tipos de claves utilizadas en la normalización son:

  • Supertecla . Un conjunto de características que definen de forma única cada registro en una tabla.
  • Clave de candidato . Claves seleccionadas del conjunto de superclaves donde el número de campos es mínimo.
  • Clave principal . La elección más adecuada del conjunto de claves candidatas sirve como clave principal de la tabla.
  • Clave externa . La clave principal de otra tabla.
  • Clave compuesta . Dos o más atributos juntos forman una clave única pero no son claves individualmente.

A medida que las tablas se descomponen en varias tablas más simples, las claves definen un punto de referencia para una entidad de base de datos.

Por ejemplo, en la siguiente estructura de base de datos:

Algunos ejemplos de superteclas en la tabla son:

  • ID de empleado
  • (ID de empleado, nombre)
  • correo electrónico

Todas las superclaves pueden servir como un identificador único para cada fila. Por otro lado, el nombre o la edad del empleado no son identificadores únicos porque dos personas pueden tener el mismo nombre o edad.

Las claves candidatas provienen del conjunto de superclaves donde el número de campos es mínimo. La elección se reduce a dos opciones:

  • ID de empleado
  • correo electrónico

Ambas opciones contienen una cantidad mínima de campos, lo que las convierte en claves candidatas óptimas. La opción más lógica para la clave principal es el ID de empleado porque el correo electrónico de un empleado puede cambiar. La clave principal en la tabla es fácil de referenciar como una clave externa en otra tabla.

Dependencias de bases de datos funcionales

Una dependencia de base de datos funcional representa una relación entre dos atributos en una tabla de base de datos. Algunos tipos de dependencias funcionales son:

  • Dependencia funcional trivial . Una dependencia entre un atributo y un grupo de características donde el elemento original está en el grupo.
  • Dependencia funcional no trivial . Una dependencia entre un atributo y un grupo donde la característica no está en el grupo.
  • Dependencia transitiva. Una dependencia funcional entre tres atributos donde el segundo depende del primero y el tercero depende del segundo. Debido a la transitividad, el tercer atributo depende del primero.
  • Dependencia multivaluada. Una dependencia en la que múltiples valores dependen de un atributo.

Las dependencias funcionales son un paso esencial en la normalización de la base de datos. A la larga, las dependencias ayudan a determinar la calidad general de una base de datos.

Ejemplo de normalización de base de datos:¿cómo normalizar una base de datos?

Los pasos generales en la normalización de bases de datos funcionan para todas las bases de datos. Los pasos específicos para dividir la tabla, así como para pasar de 3NF, dependen del caso de uso.

Ejemplo de base de datos no normalizada

Una tabla no normalizada tiene múltiples valores dentro de un solo campo, así como información redundante en el peor de los casos.

Por ejemplo:

Escenario Anomalías de redundancia solucionadas
Forma no normalizada (UNF) El estado antes de cualquier normalización. Los valores redundantes y complejos están presentes.
Primera Forma Normal (1NF) Los valores repetidos y complejos se dividen, haciendo que todas las instancias sean atómicas.
Segunda Forma Normal (2FN) Las dependencias parciales se descomponen en tablas nuevas. Todas las filas dependen funcionalmente de la clave principal.
Tercera Forma Normal (3NF) Las dependencias transitivas se descomponen en tablas nuevas. Los atributos no clave dependen de la clave principal.
Forma normal de Boyce-Codd (BCNF) Las dependencias funcionales parciales y transitivas para todas las claves candidatas se descomponen en nuevas tablas.
Cuarta Forma Normal (4FN) Eliminación de dependencias multivaluadas.
Quinta Forma Normal (5NF) Eliminación de dependencias JOIN.

Insertar, actualizar y eliminar datos es una tarea compleja. Realizar cualquier alteración en la tabla existente tiene un alto riesgo de perder información.

Paso 1:Primera Forma Normal 1NF

Para volver a trabajar la tabla de la base de datos en el 1NF, los valores dentro de un solo campo deben ser atómicos. Todas las entidades complejas de la tabla se dividen en nuevas filas o columnas.

La información en las columnas managerID , nombre del administrador y área repita para cada empleado para asegurarse de que no se pierda información.

ID de administrador nombre del administrador área Id. de empleado nombre del empleado ID del sector sectorName
1 Adam A. Este 1
2
David D.
Eugenio E.
4
3
Finanzas
TI
2 Betty B. Oeste 3
4
5
George G.
henry h
Ingrid I.
2
1
4
Seguridad
Administración
Finanzas
3 Carl C. Norte 6
7
James J.
Katy K.
1
4
Administración
Finanzas

La tabla reelaborada satisface la primera forma normal.

Paso 2:Segunda Forma Normal 2NF

La segunda forma normal en la normalización de la base de datos establece que cada fila en la tabla de la base de datos debe depender de la clave principal.

La tabla se divide en dos tablas para satisfacer la forma normal:

  • Gerente (ID de administrador, nombre de administrador, área)
ID de administrador nombre del administrador área Id. de empleado nombre del empleado ID del sector sectorName
1 Adam A. Este 1 David D. 4 Finanzas
1 Adam A. Este 2 Eugene E. 3 TI
2 Betty B. Oeste 3 George G. 2 Seguridad
2 Betty B. Oeste 4 Henry H. 1 Administración
2 Betty B. Oeste 5 Ingrid I. 4 Finanzas
3 Carl C. Norte 6 James J. 1 Administración
3 Carl C. Norte 7 Katy K. 4 Finanzas
  • Empleado (ID de empleado, nombre de empleado, ID de gerente, ID de sector, nombre de sector)
ID de administrador nombre del administrador área
1 Adam A. Este
2 Betty B. Oeste
3 Carl C. Norte

La base de datos resultante en la segunda forma normal es actualmente dos tablas sin dependencias parciales.

Paso 3:Tercera Forma Normal 3NF

La tercera forma normal descompone cualquier dependencia funcional transitiva. Actualmente, la tabla Empleado tiene una dependencia transitiva que se descompone en dos nuevas tablas:

  • Empleado (ID de empleado, nombre de empleado, ID de gerente, ID de sector)
ID de empleado nombre del empleado ID de administrador ID del sector sectorName
1 David D. 1 4 Finanzas
2 Eugene E. 1 3 TI
3 George G. 2 2 Seguridad
4 Henry H. 2 1 Administración
5 Ingrid I. 2 4 Finanzas
6 James J. 3 1 Administración
7 Katy K. 3 4 Finanzas
  • Sector (ID del sector, nombre del sector)
ID de empleado nombre del empleado ID de administrador ID del sector
1 David D. 1 4
2 Eugene E. 1 3
3 George G. 2 2
4 Henry H. 2 1
5 Ingrid I. 2 4
6 James J. 3 1
7 Katy K. 3 4

La base de datos se encuentra actualmente en la tercera forma normal con tres relaciones en total. La estructura final es:

En este punto, la base de datos está normalizada . Cualquier otro paso de normalización depende del caso de uso de los datos.


Cent OS
  1. ¿Qué es la base de datos NoSQL? – Explicación de NoSQL

  2. ¿Qué es una base de datos relacional?

  3. ¿Qué es speedtest-cli?

  4. ¿Qué es Web 3.0?

  5. ¿Qué es una base de datos relacional?

10 mejores prácticas de seguridad de bases de datos

¿Qué es una base de datos?

¿Qué es un Certificado SSL?

¿Qué es NewSQL?

Cómo crear una base de datos en PostgreSQL

¿Qué es una base de datos distribuida y para qué sirven los sistemas de datos distribuidos?

    sectorID sectorName
    1 Administración
    2 Seguridad
    3 TI
    4 Finanzas