Bases de datos en informatica

Las formas normales en bases de datos son un conjunto de reglas esenciales para diseñar bases de datos relacionales eficientes y libres de redundancias. Estas normas, desarrolladas por Edgar F. Codd en los años 70, buscan organizar los datos de manera que se eviten inconsistencias, duplicaciones y problemas de integridad. En este artículo, exploraremos en detalle qué son las formas normales, para qué sirven, cómo aplicarlas y por qué son fundamentales en el diseño de bases de datos.


formas normales en bases de datos

Crédito imagen: Wikipedia

¿Qué son las Formas Normales?

Las formas normales son un conjunto de reglas que se aplican a las tablas de una base de datos relacional para garantizar que los datos estén estructurados de manera óptima. Estas reglas se dividen en varios niveles, conocidos como Primera Forma Normal (1FN)Segunda Forma Normal (2FN)Tercera Forma Normal (3FN), y así sucesivamente, hasta la Forma Normal de Boyce-Codd (FNBC) y otras formas avanzadas.

El objetivo principal de las formas normales es:

🌟 ¡Visita Nuestra Tienda para Programadores! 🌟

Descubre Códigos Fuente, Cursos, Software, Computadoras, Accesorios y Regalos Exclusivos. ¡Todo lo que necesitas para llevar tu programación al siguiente nivel!

  1. Eliminar la redundancia: Evitar que los mismos datos se almacenen en múltiples lugares.
  2. Garantizar la integridad de los datos: Asegurar que los datos sean consistentes y precisos.
  3. Facilitar el mantenimiento: Simplificar la actualización, inserción y eliminación de datos.

Primera Forma Normal (1FN)

La Primera Forma Normal (1FN) es la base de todas las formas normales. Para que una tabla cumpla con la 1FN, debe cumplir con las siguientes condiciones:

  1. Cada columna debe contener valores atómicos: Esto significa que cada celda debe contener un único valor, no conjuntos o listas.
  2. No debe haber grupos repetidos: Las columnas no deben contener múltiples valores en una sola celda.

Ejemplo de 1FN

Supongamos que tenemos una tabla llamada Clientes con la siguiente estructura:

ClienteIDNombreTeléfonos
1Juan555-1234, 555-5678
2María555-8765

Esta tabla no cumple con la 1FN porque la columna Teléfonos contiene múltiples valores. Para normalizarla, debemos dividirla en dos tablas:

Tabla Clientes:

ClienteIDNombre
1Juan
2María

Tabla Teléfonos:

🎯 ¿Quieres dominar la programación y estar siempre un paso adelante?

¡No te pierdas los mejores tutoriales, consejos y herramientas para desarrolladores como tú! 💻
Suscríbete ahora a mi canal de YouTube y únete a una comunidad que aprende y crece cada día. 🚀

👉 Haz clic aquí para suscribirte

¡Es gratis y tu próxima habilidad está a un clic de distancia! 🧠🔥

ClienteIDTeléfono
1555-1234
1555-5678
2555-8765

Ahora, ambas tablas cumplen con la 1FN.


Segunda Forma Normal (2FN)

Una tabla está en Segunda Forma Normal (2FN) si cumple con la 1FN y, además, todos los atributos que no son clave dependen completamente de la clave primaria. Esto significa que no debe haber dependencias parciales, es decir, ningún campo debe depender solo de una parte de una clave compuesta.

Ejemplo de 2FN

Imaginemos una tabla Pedidos con la siguiente estructura:

PedidoIDProductoIDNombreProductoCantidadPrecioUnitario
1011Lápiz101.50
1012Cuaderno53.00
1021Lápiz81.50

En este caso, PedidoID y ProductoID forman una clave compuesta. Sin embargo, NombreProducto y PrecioUnitario dependen solo de ProductoID, no de la clave compuesta. Para normalizar, dividimos la tabla:

Tabla Pedidos:

PedidoIDProductoIDCantidad
101110
10125
10218

Tabla Productos:

ProductoIDNombreProductoPrecioUnitario
1Lápiz1.50
2Cuaderno3.00

Ahora, ambas tablas cumplen con la 2FN.


Tercera Forma Normal (3FN)

Una tabla está en Tercera Forma Normal (3FN) si cumple con la 2FN y, además, no tiene dependencias transitivas. Esto significa que ningún campo que no sea clave debe depender de otro campo que no sea clave.

Ejemplo de 3FN

Consideremos una tabla Empleados:

EmpleadoIDNombreDepartamentoUbicaciónDepartamento
1AnaVentasNueva York
2LuisMarketingLos Ángeles
3CarlosVentasNueva York

Aquí, UbicaciónDepartamento depende de Departamento, que no es una clave primaria. Para normalizar, dividimos la tabla:

Tabla Empleados:

EmpleadoIDNombreDepartamento
1AnaVentas
2LuisMarketing
3CarlosVentas

Tabla Departamentos:

DepartamentoUbicaciónDepartamento
VentasNueva York
MarketingLos Ángeles

Ahora, ambas tablas cumplen con la 3FN.


Forma Normal de Boyce-Codd (FNBC)

La Forma Normal de Boyce-Codd (FNBC) es una versión más estricta de la 3FN. Una tabla está en FNBC si, para toda dependencia funcional X → YX es una superclave (una clave única que identifica una fila).

Ejemplo de FNBC

Supongamos una tabla EstudiantesCursos:

EstudianteIDCursoIDProfesor
1101Dr. Pérez
2101Dr. Pérez
1102Dra. Gómez

Aquí, Profesor depende de CursoID, pero CursoID no es una superclave. Para normalizar, dividimos la tabla:

Tabla EstudiantesCursos:

EstudianteIDCursoID
1101
2101
1102

Tabla Cursos:

CursoIDProfesor
101Dr. Pérez
102Dra. Gómez

Ahora, ambas tablas cumplen con la FNBC.


Otras Formas Normales

Además de las formas normales mencionadas, existen otras como la Cuarta Forma Normal (4FN) y la Quinta Forma Normal (5FN), que abordan problemas más complejos como dependencias multivaluadas y de unión. Sin embargo, estas formas son menos comunes en aplicaciones prácticas.


Conclusión

Las formas normales son fundamentales para diseñar bases de datos eficientes y libres de errores. Aplicar estas reglas no solo mejora el rendimiento de la base de datos, sino que también facilita su mantenimiento y escalabilidad. Si estás diseñando una base de datos, asegúrate de seguir estas normas para garantizar la integridad y consistencia de tus datos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *