Mostrando entradas con la etiqueta Padre/Hijo. Mostrar todas las entradas
Mostrando entradas con la etiqueta Padre/Hijo. Mostrar todas las entradas

viernes, 16 de septiembre de 2011

Modelo de Datos Jerárquico: Vínculos Virtuales Padre - Hijo


El modelo jerárquico facilita relaciones padre-hijo, es decir, relaciones 1:N (de uno a varios) del modelo relacional. Pero a diferencia de éste último, las relaciones son unidireccionales. En justicia, dichas relaciones son hijo-padre, pero no padre-hijo. Por ejemplo, el registro de un empleado (nodo hijo) puede relacionarse con el registro de su departamento (nodo padre), pero no al contrario. Esto implica que solamente se puede consultar la base de datos desde los nodos hoja hacia el nodo raíz. La consulta en el sentido contrario requiere una búsqueda secuencial por todos los registros de la base de datos (por ejemplo, para consultar todos los empleados de un departamento). En las bases de datos jerárquicas no existen índices que faciliten esta tarea.




Obsérvese que, a priori, no existen relaciones N:M (de muchos a muchos) en el modelo jerárquico. Salvo que se simulen mediante varias relaciones 1:N. No obstante, esto puede provocar problemas de inconsistencia, ya que el gestor de base de datos no controla estas relaciones.
Como ya se ha mencionado, las relaciones se establecen mediante punteros entre registros. Es decir, un registro hijo contiene la dirección física en el medio de almacenamiento de su registro padre. Esto tiene una ventaja fundamental sobre las bases de datos relacionales: el rendimiento. El acceso de un registro a otro es prácticamente inmediato sin necesidad de consultar tablas de correspondencia.
Las relaciones jerárquicas entre diferentes tipos de datos pueden hacer que sea muy sencillo responder a determinadas preguntas, pero muy difícil el contestar a otras.

Fuente: http://es.wikipedia.org/wiki/Base_de_datos_jer%C3%A1rquica

Modelo de Datos Jerárquico: Estructura


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. 



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 árbol se organiza en un conjunto de niveles. 
  • El nodo raíz, el más alto de la jerarquía, se corresponde con el nivel 0. 
  • Los arcos representan las asociaciones jerárquicas entre dos entidades y no tienen nombre, ya que no es necesario porque entre dos conjuntos de datos sólo puede haber una interrelación.
  • Mientras que un nodo de nivel superior (padre) puede tener un número ilimitado de nodos de nivel inferior (hijos), al nodo de nivel inferior sólo le puede corresponder un único nodo de nivel superior. en otras palabras, un progenitor o padre puede tener varios descendientes o hijos, pero un hijo sólo tiene un padre. 
  • Todo nodo, a excepción del nodo raíz, ha de tener obligatoriamente un padre. 
  • Se llaman hojas los nodos que no tienen descendientes. 
  • Se llama altura al número de niveles de la estructura jerárquica. 
  • Se denomina momento al número de nodos. 
  • El número de hojas del árbol se llama peso. 
  • Sólo están permitidas las interrelaciones 1:1 ó 1:N 
  • Cada nodo no terminal y sus descendientes forman un subárbol, de forma que un árbol es una estructura recursiva. 
  • El árbol se suele recorrer en preorden; es decir, raíz, subárbol izquierdo y subárbol derecho. 


Entre las restricciones propias de este modelo se pueden resaltar:

  • Cada árbol debe tener un único segmento raíz. 
  • No puede definirse más de una relación entre dos segmentos dentro de un árbol. 
  • No se permiten las relaciones reflexivas de un segmento consigo mismo. 
  • No se permiten las relaciones N:M. 
  • No se permite que exista un hijo con más de un padre. 
  • Para cualquier acceso a la información almacenada, es obligatorio el acceso por la raíz del árbol, excepto en el caso de utilizar un índice secundario. 
  • El árbol debe recorrer siempre de acuerdo a un orden prefijado: el camino jerárquico. 
  • La estructura del árbol, una vez creada, no se puede modificar. 


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.

Arborescente: Un tipo de registro padre puede tener varios tipos de registro descendiente.


Modelo de Datos Jerárquico: Conceptos Básicos

La implementación del modelo Jerárquico en los productos se lleva a cabo en base a punteros; estructura física que varía según los productos, e incluso un mismo producto proporciona distintas organizaciones físicas a fin de que el usuario pueda conseguir una mayor eficiencia en el diseño físico de la base de datos.

El producto comercial de tipo Jerárquico más extendido es el IMS de IBM con su lenguaje de datos DL/I^2. El System 2000 también fue bien aceptado y fue adquirido por el Instituto SAS.

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 Árbol 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 lo 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 depende de un segmento de nivel inmediatamente superior.


Fuente:http://alarcos.inf-cr.uclm.es/doc/bda/doc/trab/T0001_MAMoraga.pdf