En este artículo veremos qué es la normalización de bases de datos, por qué es importante normalizar los datos, cuáles son las formas normales y un ejemplo de tercera forma normal aplicada en Salud.

¿Qué es la Normalización de Base de Datos?

La normalización es una proceso clave para diseñar bases de datos relacionales. Usualmente consiste en aplicar una serie de reglas (formas normales) para convertir un modelo entidad-relación a un modelo relacional.

Gracias a esto se pueden prevenir errores y mejorar la eficiencia de consultas.

¿Por qué es importante Normalizar las Bases de datos?

La normalización tiene como objetivo optimizar los datos y brindar integridad, los beneficios específicos son:

  1. Evitar la redundancia de los datos.
  2. Prevenir problemas de actualización.
  3. Proteger la integridad de los datos.
  4. Facilitar el acceso e interpretación de los datos.
  5. Reducir el tiempo y complejidad de revisión de las bases de datos.
  6. Optimizar el espacio de almacenamiento.
  7. Prevenir borrados indeseados.

¿Cómo Normalizar Bases de Datos?

El proceso consta de etapas bien ordenadas llamadas formas normales (FN), se parte en la primera forma normal (1FN) pudiendo llegar hasta la sexta (6FN), aunque lo tradicional es llegar hasta la tercera forma normal.

Existe un gran contenido académico para la evaluación y terminología utilizada en las formas normales, en esta oportunidad optamos por explicar las primeras 3 formas normales de una manera sencilla y fácil de visualizar.

Ejemplo de Normalización de Base de Datos

Primera Forma Normal 1FN

Una tabla está en primera forma normal si y sólo si:

  1. No existen filas repetidas.
  2. Todos los atributos son atómicos. Un atributo es atómico si los elementos del dominio son simples e indivisibles.

Consideremos el siguiente ejemplo de una sábana de datos de atención a pacientes ¿Puede identificar su cumple las reglas 1FN?

Ejemplo de lo que NO ES una Normalización de Bases de Datos
Tabla 1 – Atenciones no normalizada

En la siguiente imagen se ve que está mal con la sábana

Identificación de una tabla de datos no Normalizada
Tabla 2 – Atenciones con errores

Las filas en rojo están repetidas, por lo cual es necesario dejar solamente 1 de ellas. Por otro lado, las celdas en naranjo cuentan con datos divisibles (no atómicos), para arreglar esto se identifica que estos número y correos están relacionados al rut de una persona por lo que se separan en una tabla independiente que mantenga una relación con los pacientes. El resultado final de 1FN es:

Normalización de Base de Datos - Ejemplo primera forma normal
Tabla 3 – Atenciones 1FN

Normalización de Base de Datos - Ejemplo de teléfonos en primera forma normal

Tabla 4 – Teléfonos 1FN

Normalización de Base de Datos - Ejemplo de correos en primera forma normal
Tabla 5 – Correos 1FN

Segunda Forma Normal 2FN

Una tabla está en segunda forma normal si y sólo si:

  1. Cumple con las reglas de 1FN.
  2. Todos los atributos que no forman parte de la Clave Principal tienen dependencia funcional completa de ella.

Las reglas definidas nos plantean las siguientes dudas: ¿Qué es una clave principal? ¿Qué es una dependencia funcional? Paso a explicar:

Clave Principal: Es un conjunto de 1 o más columnas que identifican de manera única (no repetida) a una fila.
Dependencia Funcional: Es una relación de implicancia entre 2 columnas, si cambio la independiente cambia la dependiente.

La identificación de la clave principal suele ir de la mano con la identificación de las columnas dependientes, la pregunta a utilizar es: ¿Si cambio el valor de esta columna, que otras columnas deben cambiar de valor? Un ejemplo de esto es el RUT, si cambio el rut cambia el nombre y la localidad del paciente, esto también aplica para la especialidad, si cambia la especialidad también cambia el área. El siguiente diagrama resumen la dependencia y claves de la tabla atenciones:

Análisis de dependencias de un Modelo entidad Relación
Diagrama 1 – Análisis de dependencia

Gracias a esta separación por claves y dependencias el resultado de las tablas normalizadas en 2FN es el siguiente:

Ejemplo de Tabla de Pacientes en segunda Forma Normal
Tabla 6 – Pacientes 2FN

Ejemplo de Tabla de Especialidades en segunda Forma Normal

Tabla 7 – Especialidades 2FN

Ejemplo de Atenciones en segunda Forma Normal
Tabla 8 – Atenciones 2FN

Tercera Forma Normal 3FN

Una tabla está en tercera forma normal si y sólo si:

  1. Cumple con las reglas de 2FN.
  2. No existen dependencias transitivas.

¿Qué es una dependencia transitiva? Es cuando una columna depende de otra que no es clave principal. Por ejemplo: SEMESTRE depende de MES y MES depende de FECHA. En el caso de nuestra tabla de pacientes, REGIÓN depende de LOCALIDAD y LOCALIDAD depende de RUT.  Para tratar esto se crea una tabla nueva con clave principal igual a la columna intermedia incluyendo los campos dependientes, es resultado de la 3FN es este:

Ejemplo de Tabla de Pacientes en Tercera Forma Normal
Tabla 9 – Pacientes 3FN

 

Ejemplo de Tabla de Regiones en Tercera Forma Normal
Tabla 10 – Localidades 3FN

El resultado final es una estructura renovada y óptima para realizar operaciones de bases de datos manteniendo la integridad de la información, con este diagrama se resume el nuevo esquema producto de 1FN, 2FN y 3FN.

Ejemplo de Normalización de Base de Datos aplicada a la Salud
Diagrama 2 – Resultado de normalización

Conclusiones de Normalizar Bases de Datos

La normalización de bases de datos es un proceso bien definido que nos permite ordenar la información para mejorar y mantener su calidad. Usualmente, la normalización sugerida es la 3FN, pero existen varias formas normales adicionales como 6FN y DKFN. También existen escenarios en donde la opción más óptima es una Desnormalización, como podemos apreciar en este modelo de calidad de datos. Otro escenario donde se puede utilizar la normalización es en la creación de Data Warehouses bajo la arquitectura CIF.

¿Te gusta el desarrollo de software? este artículo de bootstrap 5 te puede interesar.

Nota: Si crees que este contenido puede ser útil para otras personas no dudes en compartirlo. De igual forma te invitamos a seguirnos en Linkedin, Facebook y Youtube donde estamos publicando semanalmente tips relacionados con Business Intelligence & Data Warehouse, Data Science, Visualización de Datos y Software a la Medida.

Suscribete!

No olvides suscribirte para estar al día con las nuevas noticias del blog

One Thought on “Normalización de Bases de Datos”

Agregar un comentario

Su dirección de correo no se hará público.