jueves, 19 de enero de 2012

Modelo de Datos Jerárquico

El modelo jerárquico fue desarrollado para permitir la representación de aquellas situaciones de la vida real en las que predominan las relaciones de tipo 1 : N.

Es un modelo muy rígido en el que las diferentes entidades de las que está compuesta una determinada situación, se organizan en niveles múltiples de acuerdo a una estricta relación PADRE/HIJO, de manera que un padre puede tener más de un hijo, todos ellos localizados en el mismo nivel, y un hijo únicamente puede tener un padre situado en el nivel inmediatamente superior al suyo.

Esta estricta relación PADRE/HIJO implica que no puedan establecerse relaciones entre segmentos dentro de un mismo nivel.

La representación gráfica de un modelo jerárquico se realiza mediante la estructura de ARBOL INVERTIDO, en la que el nivel superior está ocupado por una única entidad, bajo la cual se distribuyen el resto de las entidades en niveles que se van ramificando. Los diferentes niveles quedan unidos por medio de las relaciones, Las entidades se denominan en el caso particular del modelo jerárquico SEGMENTOS, mientras que los atributos reciben el nombre de CAMPOS. Los segmentos, se organizan en niveles de manera que en un mismo nivel estén todos aquellos segmentos que dependen de un segmento de nivel inmediatamente superior.

Los segmentos, en función de su situación en el árbol y de sus características, pueden denominarse como:
1) SEGMENTO PADRE: Es aquél que tiene descendientes, todos ellos localizados en el mismo nivel.


2) SEGMENTO HIJO: Es aquél que depende de un segmento de nivel superior. Todos los hijos de un mismo padre están en el mismo nivel del árbol.


3) SEGMENTO RAÍZ: El segmento raíz de una base de datos jerárquica es Αel padre que no tiene padre. La raíz siempre es única y ocupa el nivel superior del árbol.

Un ejemplo sería:
Sea una determinada empresa de ámbito nacional con delegaciones por todo el país; esta empresa tiene centralizadas todas las compras de material de sus delegaciones en la oficina central, para lo cual dispone de una base de datos jerárquica que le permite almacenar los datos de todos sus proveedores.

La base de datos de proveedores, denominada PROVEBAS, presenta cinco segmentos. El segmento raíz en el que se almacenan los datos que son comunes a todos los proveedores, como pueden ser: Nombre de la empresa, Director de la empresa, N.I.F., entro otros. Este segmento se denomina DATGEN.

En el segundo nivel del árbol hay tres segmentos dependientes del segmento raíz. El primero de ellos contiene las direcciones de las sucursales de la empresa proveedora, indicando: Calle, Número, ciudad, Tipo de 4dirección, entre otros. El nombre de este segmento es DIRPRO.

El segundo segmento que ocupa este nivel es el que contiene los datos de todos los productos suministrados por cada una de las empresas proveedoras, Este segmento se denota como PRODUC. El último segmento del segundo nivel es el que permite guardar las diferentes notas informativas que sobre un proveedor van remitiendo las delegaciones a la oficina central, este segmento se denomina NOTINF.

El tercer nivel del árbol está ocupado por un solo segmento que es el que permite almacenar las zonas de distribución de cada uno de los productos suministrados por los diferentes proveedores, este segmento se reconoce como AREDIS y depende del segmento PRODUC.

Una OCURRENCIA de un segmento de una base de datos jerárquica es el conjunto de valores particulares que toman todos los campos que lo componen en un momento determinado.

Un REGISTRO de la base de datos es el conjunto formado por una ocurrencia del segmento raíz y todas las ocurrencias del resto de los segmentos de la base de datos que dependen jerárquicamente de dicha ocurrencia raíz.

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.

El esquema es una estructura arborescente compuesta de nodos, que representan las entidades, enlazados por arcos, que representan las asociaciones o interrelaciones entre dichas entidades.

La estructura del modelo de datos jerárquico es un caso particular de la del modelo en red, con fuertes restricciones adicionales derivadas de que las asociaciones del modelo jerárquico deben formar un árbol ordenado, es decir, un árbol en el que el orden de los nodos es importante. Una estructura jerárquica, tiene las siguientes características:


El modelo de datos jerárquico presenta importante inconvenientes, que provienen principalmente de su 
rigidez, la cual deriva de la falta de capacidad de las organizaciones jerárquicas para representar sin redundancias ciertas estructuras muy difundidas en la realidad, como son las interrelaciones reflexivas y N:M. En la figura 9 se muestran algunos ejemplos de estructuras no admitidas en el modelo jerárquico puro. 

La poca flexibilidad de este modelo puede obligar a la introducción de redundancias cuando es preciso instrumentar, mediante el modelo jerárquico, situaciones del mundo real que no responden a una jerarquía; así ocurre con el esquema no jerárquico de la figura 10 cuando se quiere adaptar al modelo jerárquico, donde es preciso crear dos árboles e introducir redundancias, ya que los registros D, H e I aparecen en ambas jerarquías. Se trata de una pobre solución de diseño.


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, como se muestra en la figura, 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  10 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.



No hay comentarios:

Publicar un comentario