Home Blog/ Negocios/
Negocios

Empieza a normalizar tu base de datos y agiliza la operaci贸n de tus proyectos

Ximena Islas - 16 Mar 21

Articulo

7 min.

驴Tienes una base de datos con informaci贸n repetitiva y desordenada 馃槺? Entonces, normalizar base de datos es la soluci贸n. La normalizaci贸n de base de datos permite que la informaci贸n dentro de ella sea organizada y funcional, con lo cual, es posible el procesamiento autom谩tico de la data para la 贸ptima gesti贸n de tus proyectos o negocios.

Por ello, en este art铆culo conocer谩s qu茅 es la normalizaci贸n de una base de datos y la importancia de normalizar una base de datos. Por otro lado, te mostraremos c贸mo normalizar una base de datos, con el objetivo de que apliques esta estrategia para eliminar redundancias e incongruencias en la base de datos relacionales sin perder informaci贸n .

Si quieres potenciar la utilidad y eficiencia de tus bases de datos 馃梻, has llegado al lugar correcto, porque te introduciremos a las formas normales de base de datos que te acompa帽ar谩n en la correcta organizaci贸n de tu data. 隆Toma nota!

脥ndice

  1. 驴Qu茅 es la normalizaci贸n de una base de datos?
  2. 驴Para qu茅 sirve la normalizaci贸n de base de datos?
  3. 驴C贸mo normalizar una base de datos?
  4. Normalizar una base de datos paso a paso

驴Qu茅 es la normalizaci贸n de una base de datos?

Antes de revisar el proceso de normalizaci贸n de base de datos, es fundamental saber qu茅 es normalizar una base de datos. Microsoft Docs define a la normalizaci贸n de una base de datos como:

鈥淓l proceso de organizar datos en una base de datos. Esto incluye la creaci贸n de tablas y el establecimiento de relaciones entre esas tablas de acuerdo con las reglas dise帽adas tanto para proteger los datos como para que la base de datos sea m谩s flexible mediante la eliminaci贸n de la redundancia y la dependencia incoherente鈥.

Por ejemplo, acomodar de una forma m谩s efectiva aquellos datos repetitivos o aquellos que no tengan una relaci贸n 煤til en una tabla, mediante el proceso de normalizaci贸n de base de datos, evitar谩 que la informaci贸n sea extensa y confusa 馃樀. Este proceso implica la creaci贸n de nuevas tablas a partir de la tabla principal, en donde las nuevas tablas muestren una relaci贸n coherente entre ellas gracias a una nueva organizaci贸n de la data.

Es importante aclarar, que normalizar base de datos no se traduce en eliminar o perder los datos que puedan resultar redundantes, sino que, al usar las formas de normalizaci贸n de base de datos, se reorganizar谩n para que sean entendibles y 煤tiles.聽

En resumen, se puede decir que la normalizaci贸n de la base de datos es la acci贸n de mejorar la estructura de la misma 馃憤.

Objetivos de la normalizaci贸n de datos

  • Reducir la informaci贸n duplicada y minimizar errores de datos.
  • Simplificar dependencias entre columnas de tablas.
  • Lograr que las futuras modificaciones se apliquen en un solo lugar y no en toda la base de datos.
  • Organizar la informaci贸n en grupos o tablas l贸gicas.
  • Construir una base de datos de f谩cil entendimiento, visibilidad e interpretaci贸n de datos.
  • Proteger la integridad de la informaci贸n 馃敀.
  • Ahorrar tiempo al reducir la complejidad de revisi贸n de la base de datos 馃晳.
  • Prevenir la eliminaci贸n de datos.

base de datos

Fuente: Muy Linux

banner crehana premium

驴Para qu茅 sirve la normalizaci贸n de base de datos?

Podr铆a parecer que normalizar la base de datos es un proceso complejo que requiere la inversi贸n de tiempo, sin embargo, es necesario para estructurar de forma 贸ptima la informaci贸n de una base de datos.

De acuerdo con el blog Power Data, la aplicaci贸n de la normalizaci贸n de datos no debe ser considerada como opcional, sino como un proceso necesario para garantizar un dise帽o de base de datos de 茅xito:

鈥淟a normalizaci贸n de base de datos es una t茅cnica que se emplea habitualmente para organizar los contenidos de las tablas de datos transaccionales y los almacenes de datos鈥.

Considerando que el objetivo de la normalizaci贸n de la base de datos es garantizar el control preciso y seguro de la data, el no aplicar la normalizaci贸n tiene las siguientes consecuencias:

  • Poca precisi贸n de los sistemas de bases de datos.
  • Ralentizaci贸n de los procesos.
  • Ineficiencia en operaciones.

驴Necesitas llevar un control de los intereses de pr茅stamos o compras? Organiza tus finanzas con este formato de c谩lculo de intereses


crehana recurso gratis

驴C贸mo normalizar una base de datos?

Antes de conocer c贸mo realizar el proceso de normalizaci贸n de base de datos, es necesario comprender cu谩les son los niveles de normalizaci贸n de datos y las formas normales de base de datos que se aplican para garantizar que una base de datos sea eficiente.聽

Estas reglas de normalizaci贸n de base de datos o formas normales son criterios que ayudar谩n a mejorar la estructura de la data al aplicarse de manera acumulativa, es decir, para que una base est茅 normalizada hasta la segunda forma normal de base de datos, antes tuvo que haber cumplido con los criterios de la primera normal.聽

Veamos los lineamientos de los tres principales niveles de normalizaci贸n de datos:

1. Primera forma normal de base de datos (1FN)

De acuerdo con el sitio web de la Academia 19E37 una base de datos (tabla) est谩 normalizada hasta la primera forma normal cuando:

  • Todos los atributos son at贸micos e indivisibles, es decir, la casilla dentro de una columna solamente debe contener un dato.
  • La tabla contiene una clave primaria 煤nica (uno de los elementos de la base de datos). Por ejemplo, una tabla que contenga los nombres de un grupo de estudiantes debe ir acompa帽ada de una matr铆cula para cada uno de ellos que ayude a identificarlos.
  • Todas las filas de una tabla deben tener el mismo n煤mero de columnas.
  • Contar con tablas separadas para cada grupo de datos relacionados y repetitivos.
  • En ninguna tabla se pueden repetir grupos de datos relacionados, por ejemplo, no pueden haber en una misma tabla dos grupos de n煤meros telef贸nicos.
  • No existe un significado en la posici贸n de los datos en columnas o filas, sino que el significado del dato lo determina el nombre del grupo de datos al que pertenece.

2. Segunda forma normal de base de datos (2FN)

  • Los datos ya deben cumplir con los lineamientos de la 1FN.
  • Los datos que no pertenezcan a la clave primaria 煤nica dependen totalmente de ella para ser funcionales (dependencia funcional).
  • Se crean relaciones entre los valores de las diferentes tablas.

El portal de Unidad de Apoyo para el Aprendizaje de la Universidad Nacional Aut贸noma de M茅xico explica al respecto:

鈥淟as tablas que est谩n ajustadas a la primera forma normal y adem谩s disponen de una clave primaria formada por una 煤nica columna con un valor indivisible, cumple ya con la segunda forma normal. 脡sta afecta exclusivamente a las tablas en las que la clave primaria est谩 formada por los valores de dos o m谩s columnas, debiendo asegurarse, en este caso, que todas las dem谩s columnas son accesibles a trav茅s de la clave completa y nunca mediante una parte de esa clave鈥.

Si se te complica el concepto de clave primaria, piensa que se trata de un elemento que identificar谩 a los componentes de un grupo. En el caso de un grupo de estudiantes, la clave primaria es la matr铆cula de cada estudiante.

3. Tercera forma normal de base de datos (3FN)

  • Debe cumplir con los lineamientos de la primera y segunda forma normal de base de se datos.
  • Se busca eliminar toda dependencia transitiva entre elementos que no tengan una clave primaria y hacer que se relacionen y dependedan de los atributos que s铆 cuentan con una clave (dependencia funcional).

Respecto al punto anterior, pensemos en una base de datos donde se encuentre concentrada la informaci贸n de un grupo de estudiantes, cada estudiante tiene su propia matr铆cula que lo identifica (clave primaria 煤nica).聽

Si dicha base de datos incluye fecha de nacimiento y lugar de nacimiento (datos sin clave), habr谩 que relacionarlos con los alumnos mediante la clave primaria, la cual, es la matr铆cula de cada estudiante.

Por lo tanto, esta base de datos cumple con la tercera forma, pues todos los datos dependen de la clave primaria 煤nica, que en este caso, es la matr铆cula de estudiante.

crehana premium banner

Normalizar una base de datos paso a paso

Sabemos que el proceso de normalizar una base de datos puede parecer intimidante, por ello, te presentamos un ejemplo de normalizaci贸n de base de datos 馃憖.

En este caso, tenemos una base de datos con un listado de tres alumnos con sus matr铆culas, materias que cursan y sus n煤meros telef贸nicos. Como podemos ver, hay dos grupos de informaci贸n que cuentan con sus claves primarias 煤nicas, los alumnos (matr铆cula) y las materias (clave de materia).

Teniendo esto en cuenta 驴c贸mo vamos normalizar de modo que no se repitan datos y que no haya datos sin una dependencia funcional?

captura_de_pantalla_2021-03-15_a_las_115030_pm.png (1075脳211)



1. Apliquemos la primera forma normal de base de datos

Recordemos que esta regla de normalizaci贸n de base de datos dice que:

  • Cada casilla debe contener un solo dato.
  • Requiere la presencia de claves primarias 煤nicas.
  • No se pueden repetir datos ni grupos de datos.


Ahora tenemos un problema: los nombres de dos alumnas se repiten en la columna de alumnos. En primer lugar, vamos a evaluar cu谩les son los datos que est谩n originando la repetici贸n del nombre de los alumnos, en este caso, se trata de la materia.聽

Entonces, vamos a separar las tablas en dos. Una donde est茅n el nombre del alumno, matr铆cula聽 y tel茅fono. Y otra tabla que contenga materia, clave de materia y la matr铆cula de alumno, este 煤ltimo dato es la clave primaria que une y relaciona a las dos tablas.


Tabla materia - alumno

captura_de_pantalla_2021-03-15_a_las_115046_pm.png (652脳213)



Tabla alumno - n煤mero telef贸nico

captura_de_pantalla_2021-03-15_a_las_115102_pm.png (657脳148)


En esta 煤ltima tabla se puede observar que, al separar y crear una nueva tabla para las materias, se ha eliminado la repetici贸n de nombres de los alumnos.

2. Apliquemos la segunda forma normal de base de datos

Para empezar con la segunda forma, recordemos que es indispensable cumplir con los lineamientos de normalizaci贸n de la primera forma normal de base de datos considerando que ya lo hemos logrado, pasemos a identificar las dependencias funcionales y las transitivas que hay en nuestras nuevas dos tablas.

En nuestra tabla alumno - n煤mero telef贸nico, vemos que contamos con una clave primaria, matr铆cula de alumno. Por otra parte, la tabla alumno - materia cuenta con una clave primaria que es la clave de materia; estas dos claves primarias forman una dependencia funcional.

Al mismo tiempo, en nuestra tabla alumno-materia tenemos una dependencia transitiva, que es la matr铆cula. Pues en este caso, la matr铆cula est谩 funcionando como una uni贸n entre nuestras dos tablas.

En resumen, la materia depende de la clave de materia, mientras que alumno depende de la matr铆cula. Sin embargo, en la tabla materia - alumno, vemos que tambi茅n la materia no depende funcionalmente de la matr铆cula, por ello, ser谩 necesario separar nuevamente nuestras tablas.

Nuestra base de datos estar谩 normalizada hasta la segunda forma normal de base de datos de esta manera:

En este momento, el proceso de normalizaci贸n de datos hasta la segunda forma normal nos ha llevado a la generaci贸n de dos tablas que cuentan con atributos que dependen funcionalmente de claves primarias. En la primera tabla, los campos de alumno y tel茅fono dependen funcionalmente de matr铆cula.

Tabla alumno - n煤mero telef贸nico


En la segunda tabla, el campo de materia depende funcionalmente de la clave de materia.


Tabla materia

captura_de_pantalla_2021-03-15_a_las_115112_pm.png (505脳213)

Por 煤ltimo, en la segunda forma normal de base de datos, tambi茅n tenemos una tabla con atributos que no dependen funcionalmente, sin embargo, son la uni贸n entre las tablas.聽



Tabla matr铆cula - materia (uni贸n)

captura_de_pantalla_2021-03-15_a_las_115122_pm.png (506脳215)

3. Apliquemos la tercera forma normal de base de datos

驴Recuerdas que indica la tercera forma normal de base de datos? Esta regla indica que se deben eliminar todas las dependencias transitivas, es decir, no puede haber atributos que no dependan funcionalmente de una clave primaria.聽

No obstante, nuestro ejemplo ya no se encuentra con ese problema, lo cual, se帽ala que nuestra base de datos ya se encuentra normalizada, sin haber necesitado pasar por la tercera forma normal de base de datos. Las razones son las siguientes:

  • En la tabla alumno - n煤mero telef贸nico los atributos n煤mero telef贸nico y alumno dependen funcionalmente de la matr铆cula.
  • En la tabla materia, la materia depende funcionalmente de la clave de materia.
  • Por 煤ltimo, tenemos una tabla que une las dos anteriores que, adem谩s, indica qu茅 materia cursa tal alumno.



Ahora, ya conoces qu茅 es la normalizaci贸n de una base de datos y c贸mo se lleva a cabo este proceso. Recuerda que el objetivo es reducir los datos repetidos sin eliminar informaci贸n, en otras palabras, la normalizaci贸n ayuda a darle una mejor estructura a la base de datos.

Esperamos que este art铆culo y nuestro ejemplo te ayuden a tener un mejor control de tu data. Te recomendamos normalizar base de datos desde la creaci贸n de la base para que la tarea no se te haga tan complicada m谩s adelante.

Si est谩s interesado en el manejo y an谩lisis eficiente de la base de datos, te recomendamos el curso de Desarrollo y gesti贸n de bases de datos, el cual, te ayudar谩 a tomar las mejores decisiones para el optimizar el desarrollo de tu empresa, negocio o proyecto. 隆Suerte! 馃挭