jueves, 15 de septiembre de 2011

El modelo de datos Jerárquico

Detalle las estructuras de una base de datos de modelo jerárquico

Las estructuras jerárquicas se clasifican también como:
- Lineales: es un caso particular y simple en el que cada tipo de registro padre sólo puede tener un tipo de
registro hijo, donde se muestra la interrelación entre DEPARTAMENTO y EMPLEADO.

-Arborescente propiamente dicha: un tipo de registro padre puede tener varios tipos de registro
descendientes.


Los Vínculos virtuales Padre-Hijo

La relación PADRE/HIJO en la que se apoyan las bases de datos jerárquicas, determina que el camino de
acceso a los datos sea ÚNICO; este camino, denominado CAMINO SECUENCIA JERÁRQUICA, comienza
siempre en una ocurrencia del segmento raíz y recorre la base de datos de arriba a abajo, de izquierda a derecha y
por último de adelante a atrás.

La restricciones de integridad en el modelo jerárquico

  • Toda alta, a no ser que corresponda a un nodo raíz, debe tener un padre. Por ejemplo, sería imposible insertar en la base de datos de la Figura 12 un alumno que aún no tuviera asignado profesor.
  • Se podría resolver el problema creando un padre ficticio para este registro, pero con ello se complicaría la labor del usuario de la base de datos, que tendría, cuando deseara conectar el registro a su padre real, que eliminarlo de la base de datos y volver a introducirlo ligado a su verdadero padre Además, el sistema no podría distinguir entre padre ficticio y real y cuando contara el número de profesores de la base de datos nos daría uno más.
  • La baja de un registro implica que desaparezca todo el subárbol que tiene dicho registro como nodo raíz, con lo que pueden desaparecer datos importantes que convendría conservar en la base de datos.
El Uso de la transformación ER - Jerárquico para el diseño de bases de datos jerárquicas:

Ya se han señalado los inconvenientes que presenta el modelado del mundo real según esquemas jerárquicos,
y también hemos indicado una técnica de diseño jerárquico que consiste en introducir redundancias.


Se podría evitar la pérdida de simetrías introduciendo mucha mayor redundancia, donde se presenta la transformación de un esquema E/R con dos entidades y una interrelación N:M es
un esquema jerárquico en el que existen dos árboles, de modo que se conservan las simetrías naturales, ya que los algoritmos para dos preguntas simétricas, como son recuperar los alumnos de un profesor y recuperar los profesores de un alumno, serían también simétricos.
Soluciones de este tipo no son en absoluto eficientes.
A partir del modelo E/R, vamos a analizar la forma de transformar algunos tipo, de interrelaciones al modelo jerárquico.

A) Interrelaciones 1:N con cardinalidad mínima 1 en la entidad padre.
En este caso no existe ningún problema y el esquema jerárquico resultante será prácticamente el mismo que en el ME/R


B) Interrelaciones 1:N con cardinalidad mínima 0 en el registro propietario.
El problema es que podrían existir hijos sin padre, por lo que o se crea un padre ficticio para estos casos o se crean dos estructuras arborescentes.


La primera estructura arborescente tendrá como nodo padre el tipo de registro A y como nodo hijo los identificadores del tipo de registro B. De esta forma no se introducen redundancias, estando los atributos de la entidad B en la segunda arborescencia, en la cual sólo existiría un nodo raíz B sin descendientes.

C) Interrelaciones N:M
La solución es muy parecida, creándose también dos arborescencias.


La solución es independiente de las cardinalidades mínimas. Se podría suprimir, en la primera arborescencia o en la segunda, el registro hijo, pero no se conservaría la simetría.
D) Interrelaciones reflexivas
La jerarquía a) se utilizaría siempre que se desee obtener la explosión.
La aplicación de estas normas de diseño evita la introducción de redundancias, así como la pérdida de simetría, pero complica enormemente el esquema jerárquico resultante que estará constituido por más de un árbol, lo que no resulta fácilmente comprensible a los usuarios.



Lenguaje de manipulación Jerárquico:

Una instrucción de un lenguaje de manipulación constará:
- Un operador que indica el tipo de operación a realizar.
- Los datos sobre los que se lleva a cabo la operación.
- Una condición, que servirá para seleccionar el conjunto de datos sobre el que se desea trabajar, y que es una expresión de tipo lógico, es decir, constantes y variables unidas por operadores de comparación y del álgebra de Boole.

Ejemplos de esquema jerárquico:

No hay comentarios:

Publicar un comentario