La normalización en el contexto de las bases de datos relacionales (RAG) es un proceso sistemático cuyo objetivo principal es minimizar la redundancia y dependencia de los datos mediante la organización estructurada de las tablas. Este proceso se lleva a cabo siguiendo una serie de reglas conocidas como formas normales, cada una de las cuales incrementa el nivel de normalización y, por lo tanto, mejora la eficiencia y coherencia de la base de datos. Este concepto fue introducido por Edgar F. Codd en la década de 1970, quien es ampliamente reconocido como el padre del modelo relacional de bases de datos.
La primera forma normal requiere que todos los atributos de una tabla sean atómicos, es decir, que no sean divisibles. Además, cada entrada en una columna debe ser del mismo tipo de dato y cada columna de una tabla debe contener solo valores únicos.
Ejemplo:
ID | Nombre | Teléfonos |
—— | ————— | ————————- |
1 | Juan | 123, 456 |
En 1NF, se convierte en:
ID | Nombre | Teléfono |
—— | ————— | ————————- |
1 | Juan | 123 |
1 | Juan | 456 |
La segunda forma normal es alcanzada cuando una tabla cumple con la primera forma normal y todos los atributos no clave son totalmente dependientes de la clave primaria.
Ejemplo:
Supongamos una tabla `Pedidos`:
PedidoID | ClienteID | ClienteNombre | ProductoID | ProductoNombre |
————— | —————— | ———————- | —————— | ———————— |
1 | 1 | Juan | 1 | Libro |
Se divide en dos tablas:
Clientes:
ClienteID | ClienteNombre |
—————- | ———————- |
1 | Juan |
Productos:
ProductoID | ProductoNombre |
—————— | ———————— |
1 | Libro |
Pedidos:
PedidoID | ClienteID | ProductoID |
————— | —————- | —————— |
1 | 1 | 1 |
Para alcanzar la tercera forma normal, una tabla debe estar en segunda forma normal y todos los atributos no clave deben ser dependientes únicamente de la clave primaria y no de otros atributos no clave.
Ejemplo:
Supongamos una tabla `Empleados`:
EmpID | Nombre | DeptID | DeptNombre |
———- | ———— | ———— | —————— |
1 | Ana | 1 | Ventas |
Se dividiría en:
Departamentos:
DeptID | DeptNombre |
———— | —————— |
1 | Ventas |
Empleados:
EmpID | Nombre | DeptID |
———- | ———— | ————- |
1 | Ana | 1 |
1. Codd, E. F. “A Relational Model for Large Shared Data Banks.” Communications of the ACM, Vol. 13, No. 6, pp. 377-387.
2. Date, C. J. “An Introduction to Database Systems.” Addison-Wesley, 8th Edition.
3. Silberschatz, A., Korth, H. F., and Sudarshan, S. “Database System Concepts.” McGraw-Hill, 6th Edition.
La normalización de bases de datos garantiza que los datos se almacenen de manera eficiente y sin redundancias, facilitando su modificación y mantenimiento. Los ejemplos anteriores ilustran cómo este proceso puede optimizar la estructura de una base de datos, favoreciendo la integridad y consistencia de la información almacenada.