Poco hemos hablado de este tema por el foro, y es muy importante si queremos asegurarnos que una base de datos (BBDD) relacional está estructurada en condiciones, reduciendo la redundancia de datos y manteniendo la integridad.
No voy a extenderme mucho al existir multitud de información sobre esto por la red, dejaré un ejemplo práctico para entender las diferencias antes y después de aplicar la normalización de un BBDD. Cito lo más relevante primero:
Las bases de datos relacionales se normalizan para:
- Minimizar la redundancia de los datos.
- Disminuir problemas de actualización de los datos en las tablas.
- Proteger la integridad de datos.
En el modelo relacional es frecuente llamar «tabla» a una relación; para que una tabla sea considerada como una relación tiene que cumplir con algunas restricciones:
- Cada tabla debe tener su nombre único.
- No puede haber dos filas iguales. No se permiten los duplicados.
- Todos los datos en una columna deben ser del mismo tipo.
Formas Normales
Las formas normales son aplicadas a las tablas de una base de datos. Decir que una base de datos está en la forma normal N es decir que todas sus tablas están en la forma normal N.
En general, las primeras tres formas normales son el mínimo que deben cubrir la mayoría de las bases de datos. El creador de estas 3 primeras formas normales (o reglas) fue Edgar F. Codd
Mucho texto, vamos a lo que más nos interesa: tenemos una tabla en una BBDD y queremos ver cómo puede llegar a cambiar si el diseño no es el adecuado:
Tabla Facturas
Primera Forma Normal (1FN)
Segunda Forma Normal (2FN)
Tercera Forma Normal (3FN)
¿Se aprecian las diferencias? Si quieres entender los cambios que se han ido aplicando visita esta web, que es la fuente del ejemplo y viene todo explicado:
https://www.ionos.es/digitalguide/hosting/cuestiones-tecnicas/normalizacion/
Otros ejemplos
Si tienes alguna pregunta, no dudes en escribir por aquí e intentaré resolverla.
Más información