viernes, 16 de septiembre de 2011

Restricciones de integridad en el modelo jerárquico

Siempre que especificamos un esquema jerárquico, habrá varias restricciones inherentes al modelo jerárquico. Entre ellas se cuentan:

  •  Ninguna ocurrencia de registro, con excepción de los registros raíz, puede existir si no esta relacionada con una ocurrencia de registro padre. Esto tiene las siguientes implicaciones
  • Ningún registro hijo puede insertarse si no esta enlazado a un registro padre
  • Un registro hijo se puede eliminar independientemente de su padre; pero la eliminación de un padre causa automáticamente la eliminación de todos sus registros hijos y descendientes
  • Las reglas anteriores no se aplican a los registros hijo y padre virtuales. Las regla en este caso es que un apuntador en un registro hijo virtual debe apuntar a una ocurrencia real de un registro padre virtual.
  • No debe permitirse la eliminación de un registro en tanto existan apuntadores a el en registros hijo virtuales, lo que lo convierte en un registro virtuales, lo que lo convierte en un registro padre virtual.
  • Si un registro hijo tiene dos o mas registros padre del mismo tipo de registros, el registro hijo debe duplicarse una vez bajo cada registro padre.
  • Un registro hijo que tengo dos o mas registros padre de diferentes tipos de registros solo puede tener un padre real; todos los demás deben representarse como padres virtuales
A continuación se mencionan los problemas típicos de las bases de datos jerárquicas y que no existen en las bases de datos relacionales. Todos estos problemas derivan del hecho de que el sistema gestor de base de datos no implementa ningún control sobre los propios datos, sino que queda en manos de las aplicaciones garantizar que se cumplen las condiciones invariantes que se requieran (por ejemplo, evitar la duplicidad de registros). Dado que todas las aplicaciones están sujetas a errores y fallos, esto es imposible en la práctica. Además dichas condiciones suelen romperse ex profeso por motivos operativos (generalmente, ajustes debidos a cambios en el negocio) sin evaluarse sus consecuencias.

Duplicidad de registros

No se garantiza la inexistencia de registros duplicados. Esto también es cierto para los campos "clave". Es decir, no se garantiza que dos registros cualesquiera tengan diferentes valores en un subconjunto concreto de campos.

Integridad referencial

No existe garantía de que un registro hijo esté relacionado con un registro padre válido. Por ejemplo, es posible borrar un nodo padre sin eliminar antes los nodos hijo, de manera que éstos últimos están relacionados con un registro inválido o inexistente..

Desnormalización

Este no es tanto un problema del modelo jerárquico como del uso que se hace de él. Sin embargo, a diferencia del modelo relacional, las bases de datos jerárquicas no tienen controles que impidan la desnormalización de una base de datos. Por ejemplo, no existe el concepto de campos clave o campos únicos.
La desnormalización permite ingresar redundancia de una forma controlada, seguir a una serie de pasos conlleva a:
§  Combinar las relaciones
§  Duplicar los atributos no claves
§  Introducción de grupos repetitivos
§  Crear tablas de extracción
Cuando se debe desnormalizar:
§  Se debe desnormalizar para optimizar el esquema relacional
§  Para hacer referencia a la combinación de 2 relaciones que forman una sola relación


Bibliografía:
















No hay comentarios:

Publicar un comentario