Está en la página 1de 2

Denormalizacin (base de datos)

De Wikipedia, la enciclopedia libre


Saltar a navegacin, bsqueda La denormalizacin es el proceso de procurar optimizar el desempeo de una base de datos por medio de agregar datos redundantes. A veces es necesaria porque las actuales DBMSs implementan el modelo relacional pobremente. Una verdadera DBMS relacional debe permitir una base de datos completamente normalizada a nivel lgico, mientras proporciona el almacenamiento fsico de los datos afinado para alto rendimiento. Un diseo normalizado a menudo almacenar diferentes, pero relacionadas, piezas de informacin en tablas lgicas separadas (llamadas relaciones). Si estas relaciones estn almacenadas fsicamente como archivos de disco separados, puede ser lento terminar una consulta de la base de datos que tome informacin de varias relaciones (una operacin unin). Si muchas relaciones son unidas (join), puede ser prohibitivamente lento. Hay dos estrategias para tratar con esto. El mtodo preferido es mantener normalizado el diseo lgico, pero permite al DBMS almacenar en el disco informacin redundante adicional para optimizar la respuesta a la consulta. En este caso, es responsabilidad del software del DBMS asegurarse de que cualquier copia redundante se mantenga consistente. Este mtodo es a menudo implementado en SQL como vistas indexadas (MS SQL) o vistas materializadas (Oracle). Una vista representa la informacin en un formato conveniente para consultar, y el ndice asegura que las consultas contra la vista estn optimizadas. El acercamiento ms usual es denormalizar el diseo de datos lgico. Con cuidado, esto puede alcanzar una mejora similar en respuesta de consulta, pero a un costo - ahora es la responsabilidad del diseador de la base de datos de asegurarse de que la base de datos denormalizada no llegue a ser inconsistente. Esto es hecho creando reglas en la base de datos llamadas restricciones, que especifican cmo las copias redundantes de informacin se deben mantener sincronizadas. Es el aumento en la complejidad lgica del diseo de la base de datos y la complejidad aadida de las restricciones adicionales que hacen a este acercamiento peligroso. Por otra parte, debido a los gastos indirectos de evaluacin de restricciones al insertar, actualizar, o eliminar datos, una base de datos denormalizada puede realmente ofrecer un desempeo peor que sus funcionalmente equivalentes contrapartes normalizadas. Cuando se est seleccionado o leyendo datos a menudo el desempeo ser mejor. Un modelo de datos denormalizado no es lo mismo que un modelo de datos que no ha sido normalizado, y la denomarlizacin debe tomar lugar solamente despus de que haya ocurrido un nivel satisfactorio de normalizacin y de que hayan sido creadas las restricciones y/o reglas requeridas para ocuparse de las anomalas inherentes en el diseo. Por ejemplo, que todas las relaciones estn en la tercera forma normal y cualquier relacin con dependencias de unin (join) y multi-valor sean manejadas apropiadamente. Ejemplos de tcnicas de denormalizacin incluyen:

Vistas materializadas, que pueden implementar lo siguiente: o Almacenando la cuenta de "muchos" objetos en una relacin uno-amuchos como un atributo de la relacin "uno" o Agregando atributos a una relacin de otra relacin con la cual ser unida (join) Esquemas en estrella que tambin son conocidos como modelos hechodimensin y se han extendido a los esquemas de copo de nieve Informacin de resumen preconstruida (til para informes, data warehouse o data mining) o cubos OLAP