Qué es la desnormalización en los SGBD?
¿Qué es la desnormalización en un SGBD?
Cuando hacemos la normalización de las tablas, las dividimos en tablas más pequeñas. Pero si queremos obtener los datos de más de una tabla, entonces tenemos que realizar algún tipo de operación de unión en esas tablas. En el blog de la normalización, leemos que la operación de unión llevará a un aumento del tiempo. Para superar esta desventaja de la normalización hacemos la desnormalización de las tablas.
Denormalización
La desnormalización es una técnica de optimización de la base de datos donde añadimos datos redundantes en la base de datos para deshacernos de las complejas operaciones de unión. Esto se hace para acelerar la velocidad de acceso a la base de datos. La desnormalización se realiza después de la normalización para mejorar el rendimiento de la base de datos. Los datos de una tabla se incluyen en otra tabla para reducir el número de uniones en la consulta y, por lo tanto, ayuda a acelerar el rendimiento.
Una base de datos desnormalizada nunca debe confundirse con una base de datos que nunca ha sido normalizada.
Ejemplo: Supongamos que después de la normalización tenemos dos tablas primero, la de Alumnos y segundo, la de Sucursales. El estudiante tiene los atributos como Roll_no, Student-name, Age, y Branch_id.
La tabla Branch está relacionada con la tabla Student con Branch_id como clave foránea en la tabla Student.
Si queremos el nombre de los estudiantes junto con el nombre de la rama entonces necesitamos realizar una operación join. El problema aquí es que si la tabla es grande necesitamos mucho tiempo para realizar las operaciones de unión. Por lo tanto, podemos añadir los datos de Branch_name de la tabla Branch a la tabla Student y esto ayudará a reducir el tiempo que se habría utilizado en la operación de unión y así optimizar la base de datos.
Ventajas de la desnormalización
- La ejecución de la consulta es rápida ya que tenemos que unir menos tablas.
Desventajas de la desnormalización
- Como hay redundancia de datos, las operaciones de actualización e inserción son más caras y tardan más tiempo. Dado que no estamos realizando la normalización, por lo que esto dará lugar a datos redundantes.
- La integridad de los datos no se mantiene en la desnormalización. Como hay redundancia por lo que los datos pueden ser inconsistentes.
Esto es todo sobre la desnormalización. Espero que hayas aprendido algo nuevo hoy.