Share to: share facebook share twitter share wa share telegram print page

 

Denormalización (base de datos)

La desnormalización es el proceso de procurar optimizar el funcionamiento de una base de datos por medio de agregar datos redundantes.[1]​ A veces es necesario porque los actuales sistemas de gestión de bases de datos (SGBD) implementan el modelo relacional de manera limitada. Un SGBD relacional que cumpla las recomendaciones ISO debe permitir una base de datos completamente normalizada a nivel lógico, soportado por un almacenamiento físico de los datos afinado para los requisitos necesarios del sistema.[2]

Almacenamiento de datos

Un diseño normalizado a menudo almacenará diferentes, pero relacionadas, piezas de información en tablas lógicas separadas (denominada relaciones). Si estas relaciones están almacenadas físicamente en dos archivos distintos en disco, su recuperación para realizar una consulta a la base de datos que se base en información de varias relaciones (una operación JOIN) puede ser muy lenta, llegando a no satisfacer determinados requisitos no funcionales del sistema. Hay dos estrategias para tratar de solventar esta situación:

  • El método preferido es mantener normalizado el diseño lógico, pero indicar al SGBD que almacene en el disco información redundante para optimizar la respuesta a la consulta. En este caso, es responsabilidad del software del SGBD proveer soporte para gestionar la confidencialidad de los datos en todos los niveles de la arquitectura. Este método es implementado de diversa manera según el desarrollador: en Microsoft SQL Server se usan vistas indexadas, en lote productos de Oracle vistas materializadas, etc. Una vista representa la información en un formato conveniente para consultar, y el índice asegura que las consultas contra la vista estén optimizadas.
  • Sin embargo, la aproximación más usual es desnormalizar el diseño de datos lógico. Realizado con cuidado, esto puede alcanzar una mejora similar en respuesta de consulta, pero complica la tarea de los usuarios que modifiquen contenido del sistema: ahora es la responsabilidad del diseñador de la base de datos el asegurarse de que la base de datos desnormalizada no llegue a ser inconsistente. Esto se realiza mediante reglas en la base de datos llamadas restricciones, que especifican cómo las copias redundantes de información se deben mantener sincronizadas. Es el aumento en la complejidad lógica del diseño de la base de datos y la complejidad añadida de las restricciones adicionales lo que hacen de esta una alternativa delicada. Por otra parte, debido a los gastos indirectos de evaluación de restricciones al insertar, actualizar, o eliminar datos, una base de datos desnormalizada puede llegar a ofrecer en la práctica un rendimiento inferior al que proporcionaba su versión equivalente normalizada. En cambio, cuando se está seleccionado o leyendo datos a menudo el funcionamiento es más probable que sí se mejore.

Desnormalización versus no normalización

Un modelo de datos desnormalizado no es lo mismo que un modelo de datos que no ha sido normalizado, y la desnormalización debe tomar lugar solamente después de que haya ocurrido un nivel satisfactorio de normalización y de que hayan sido creadas las restricciones y/o reglas requeridas para ocuparse de las anomalías inherentes en el diseño. Por ejemplo, que todas las relaciones estén en la tercera forma normal y cualquier relación con dependencias de unión (JOIN) y multi-valor sean manejadas apropiadamente.

Implementación

Ejemplos de técnicas de desnormalización incluyen:

Referencias

  1. Capel, María Yolanda Jiménez (16 de junio de 2015). Bases de datos relacionales y modelado de datos. IFCT0310. IC Editorial. ISBN 9788416433308. Consultado el 11 de octubre de 2019. 
  2. S. K. Shin and G. L. Sanders. Denormalization strategies for data retrieval from data warehouses. Decision Support Systems, 42(1):267-282, Octubre de 2006.

Véase también

Enlaces externos

Kembali kehalaman sebelumnya


Index: pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve 
Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9