En este post se explica en qué consiste la normalización de las bases de datos, por qué es necesaria y qué tipos de normalización existen.
Hay algunas reglas que se deben tener en cuenta a la hora de realizar una base de datos. A partir de lo anterior, se puede dar la siguiente formulación: la ▷normalización de la base de datos◁ es un proceso de organización de los datos de una manera determinada y unas directrices de diseño. En otras palabras, las tablas y las relaciones entre ellas (relaciones) se crean de acuerdo con las reglas. De este modo, se proporciona el nivel necesario de seguridad de los datos y la propia base de datos se vuelve más flexible. Asimismo, se eliminan las dependencias incoherentes y la redundancia.
Ventajas de la normalización:
La normalización no es obligatoria, pero aporta las siguientes ventajas:
- El proceso de muestreo se simplifica. Se trata de simplificar el trabajo de consulta, es decir, el usuario podrá recuperar la información deseada con consultas relativamente sencillas.
- La integridad de los datos está garantizada. Se puede hablar de minimizar la distorsión de la información y reducir la probabilidad de pérdida de datos.
- Se mejora la escalabilidad. Si se observan las reglas de normalización, se forman las condiciones favorables para el crecimiento de la base de datos.
- No hay redundancia de datos. La redundancia es un problema notorio de uso improductivo del espacio libre en el disco duro que dificulta el mantenimiento de la base de datos. En algunos casos, este problema se agrava por el hecho de que si es necesario alterar los registros del mismo tipo de datos almacenados en varios lugares (tablas), el usuario tendrá que realizar las alteraciones en todas partes, lo cual es una tarea bastante laboriosa. Es mucho más fácil hacer que, por ejemplo, los datos sobre las ciudades se almacenen sólo en la tabla Ciudades y en ningún otro lugar. En resumen, la redundancia implica la duplicación, que no sólo complica la base de datos, sino que también aumenta su tamaño.
- Ausencia de dependencias incoherentes. Las dependencias incoherentes impiden el acceso a los datos, porque el camino hacia esa información puede ser incorrecto e ilógico. En la tabla Ciudades es lógico buscar las ciudades, el número de habitantes, etc., pero no las direcciones y los nombres de los habitantes (para esta información necesitamos otra tabla): Ciudadanos.
La normalización se lleva a cabo:
Para llevar la base de datos a un estado normal, es necesario:
- Combinar los datos existentes en grupos.
- Aclarar las relaciones lógicas entre los grupos. Para garantizar la exactitud de los vínculos, los campos que se vinculen deben ser del mismo tipo.
Si la tabla no está normalizada, puede almacenar la información de varias entidades e incluir las columnas repetidas que a su vez pueden almacenar los valores duplicados. Sin embargo, si se normaliza, cada tabla almacena información sobre una sola entidad.
La normalización supone el uso de formas normales con respecto a la estructura de los datos disponibles. Hay varias reglas de normalización. Cada una de ellas se denomina forma normal (FN). Cada una de estas formas, excepto la primera, supone que la forma normal anterior ya se ha aplicado a los datos. Cuando se ejecuta la primera regla, la base de datos se representa en la primera forma normal (1FN), y cuando se ejecutan las tres reglas se representa en la tercera forma normal (3FN).
Existen siete de estas formas (niveles), pero en la práctica para la mayoría de las aplicaciones basta con normalizar la base de datos hasta la tercera forma normal (en sentido estricto, la base de datos se considerará normalizada cuando se le aplique una 3FN o superior).
Es cierto, no siempre es factible ofrecer un cumplimiento total de las normas y especificaciones porque la normalización requerirá la creación de tablas adicionales y no siempre es aceptable o no es aceptada por los clientes. Pero si hay que romper las reglas, hay que entender que se tendrán en cuenta todos los problemas relacionados, incluidas las dependencias no coordinadas y la redundancia, y que esto es aceptable para la aplicación sin romper su funcionalidad.
¿Quiere saber más sobre la normalización de las bases de datos? Revise nuestro Máster Big Data Analytics