Es bastante fácil entender lo que es una jerarquía,
puesto que diariamente nos enfrentamos con varias de ellas. Considere un
árbol genealógico en el cual los padres pueden no tener hijos, tener uno o
más de uno. Si hay hijos, estos mismos pueden tener sus propios hijos.
El árbol genealógico es un árbol jerárquico si
ignoramos la existencia de un padre en cada nodo. No es accidental que el
modelo jerárquico tome gran parte de su terminología de esta analogía. Los
componentes de una base de datos que usa un modelo jerárquico como
estructura fundamental, se muestran en la figura 1
siguiente.

Figura 1
Los datos de una empresa pueden estar almacenados en varias bases de datos.
Cada base de datos tiene un modelo jerárquico de árbol.
Una estructura jerárquica de árbol
La estructura jerárquica de árbol se construye con nodos y ramas. Un nodo es
una colección de atributos de datos que describen a la entidad en ese nodo.
El nodo más alto de una estructura jerárquica de árbol se reconoce como RAIZ.
Los nodos dependientes se encuentran en niveles más bajos en el árbol. El
nivel de estos nodos depende de su distancia del nodo raíz.
El árbol jerárquico se encuentra en un orden inverso si se le compara con un
árbol real (Ver figura 2), el cual tiene su raíz en el fondo y sus ramas
creciendo hacia arriba.

Fig-2 -Una estructura jerárquica de árbol está constituida de nodos o ramas.
Un modelo jerárquico es un modelo que organiza
a los datos en una estructura jerárquica de árbol. Cada vez que aparece el
nodo raíz da principio un registro lógico de base de datos, esto es, una
base de datos jerárquica está constituida de varios árboles.
En un modelo jerárquico, los nodos que se encuentran en
el nivel 2 se conocen como hijos del nodo que se encuentra en el nivel 1, y
el nodo del nivel 1 se conoce como el padre de los nodos en el nivel 2. Los
nodos en el nivel 3, que corresponden a un nodo se conocen como hijos del
nodo del nivel 2, y el nodo en el nivel 2 se conoce como padre, y así
sucesivamente.
Una estructura jerárquica de árbol tiene que satisfacer las
condiciones siguientes:
1. Un modelo jerárquico siempre comienza con un nodo raíz.
2. Cada nodo consiste de uno o más atributos que describen a las entidades
en ese nodo.
3. Los nodos dependientes pueden aparecer en dos niveles consecutivos. El
nodo en el nivel precedente se convierte en el nodo padre de los nuevos
nodos dependientes. Los nodos dependientes se pueden añadir tanto horizontal
como verticalmente sin ninguna limitación (vea figura 1). (Excepción: el
nivel 1 sólo puede tener un nodo, al que llamamos nodo raíz).
4. Cada nodo que se presenta en el nivel 2 tiene que conectarse con uno y
sólo un nodo que se presente en el nivel 1. Cada nodo que se presenta en el
nivel 3 tiene que conectarse con uno y sólo un nodo que se presente en el
nivel y así sucesivamente. Debido a que como máximo puede haber una sola
conexión (es decir, unión) entre dos nodos cualesquiera, los arcos no
necesitan tener flechas de orientación.
5. Un nodo padre puede tener uno o varios nodos hijos bajo su dependencia.
Si no tiene ningún nodo bajo su dependencia no es un nodo padre.
6. Cada nodo, excepto la raíz, tiene que accesarse a través de su nodo
padre. El nodo representado en una verdadera jerarquía debe recuperarse sólo
a través de su padre, ya que en éste radica el verdadero significado de la
existencia de esos datos. Por lo tanto, la trayectoria de acceso es única
para cada nodo dentro de un modelo jerárquico.
Por ejemplo, el nodo I de la figura 3, puede alcanzarse sólo a través de la
trayectoria de A a G, de G a H y de H a I. El nodo D puede accesarse sólo a
través de la trayectoria de A a B y de B a D. Por lo tanto, un modelo
jerárquico consiste de trayectorias lineales.

La trayectoria de acceso dentro de un modelo jerárquico es única.
7. Un nodo puede aperecer varias veces en cada nivel. Cada vez que aparece
un nodo (excepto cuando aparece el nodo raíz) se tiene que conectar con un
nodo padre, esto es, puede presentarse muchas veces el nodo A. Cada vez que
se presente el nodo A da principio a un registro lógico.
Considere el ejemplo de la información proveniente de la relación PACIENTE,
la relación CIRUJANO, la relación "PACIENTE Y CIRUJANO " y la relación
MEDICINA, como se muestra en las figuras 4, 5 y 6 respectivamente.


Un modelo jerárquico puede presentar la información de varias formas. Una
posibilidad se muestra a continuación

Representación de datos mediante el modelo jerárquico para la base de datos
PACIENTE.
La entidad PACIENTE es el nodo raíz y por cada paciente aparece un nodo
raíz. La base de datos tiene, hasta este momento, registros para los
pacientes Juan Blanco (1111), María Jones (1234), Carlos Brown (2345),
Miguel López (4876), Pablo Martínez (5123), Ana Reyes (6845). El registro de
base de datos para Juan Blando (1111).

Una ocurrencia de registro de base de datos jerárquica
del modelo jerárquico de la figura 7.
El nodo en el nivel 2 de la figura 7 aparece 2 veces en la figura 8. El
modelo jerárquico nos capacita para representar varias intervenciones
quirúrgicas y varios cirujanos por paciente.
Operaciones de almacenamiento con modelo jerárquico
ADICION. Un nodo hijo no puede existir sin un nodo padre. Si el
modelo de datos es como el mostrado en la figura 7, ningún cirujano puede
añadirse a la base de datos, a menos que éste esté tratando a un paciente.
SUPRESION. Cuando se suprime un nodo padre también se suprime el nodo
hijo. La razón de las anomalías para almacenar y actualizar es que una
relación de varios a varios no puede representarse eficazmente con un modelo
jerárquico, el cual representa siempre una relación uno a varios. Las
anomalías pueden resolverse, en parte, introduciendo dos modelos jerárquicos
con una relación establecida entre ellos, como se muestra a continuación.

Representación de los datos mediante dos modelos jerárquicos de las bases de
datos PACIENTE y CIRUJANO.
El modelo 1 presenta al PACIENTE en su nodo raíz y al CIRUJANO en el nodo
del segundo nivel. El nodo del segundo nivel está interconectado con el nodo
CIRUJANO del modelo 2.
En este último, CIRUJANO es el nodo raíz y el nodo CIRUGÍA es el nodo del
segundo nivel, éste está interconectado con el nodo PACIENTE del modelo 1.
Como consecuencia de estos dos modelos la información referente a la fecha
de intervención, CIRUGÍA, aún no se almacenará en forma redundante, pero se
eliminan las anomalías de inserción y supresión del PACIENTE y del CIRUJANO.
En los sistemas de manejo de base de datos, el problema de la redundancia se
resuelve usando un modelo jerárquico, de diferentes maneras, como el modelo
básico.
Ventajas de un modelo jerárquico
La ventaja mayor de un modelo jerárquico es la existencia de sistemas de
manejo de base de datos probados que usan el modelo jerárquico como
estructura básica.
La relativa simplicidad y facilidad de uso del modelo jerárquico y la
familiaridad de los usuarios del procesamiento de datos con la jerarquía,
son ventajas importantes.
Existe una reducción de la dependencia de los datos. Cuando se usan los dos
modelos jerárquicos de la figura 10, varios puntos de vista diferentes
pueden proveerse a los programadores de aplicación.
La predicción del funcionamiento se simplifica a través de relaciones
predefinidas.
Desventajas de un modelo jerárquico
1. Las relaciones varios a varios pueden implantarse sólo de una manera
deficiente. Esto puede traer como consecuencia redundancia en los datos
almacenados. Sabemos que en el nivel lógico, la redundancia no
necesariamente es mala, por el contrario, promueve la simplicidad. Sin
embargo, al nivel físico la redundancia es indeseable.
2. Como resultado del estricto ordenamiento jerárquico, las operaciones
conocidas como de inserción y de supresión se vuelven extremadamente
complejas.
3. La eliminación de padres trae como consecuencia la eliminación de los
hijos. Como resultado de esto, los usuarios deben tener cuidado cuando
tengan la necesidad de poner en funcionamiento la operación SUPRESIÓN.
4. Los comandos jerárquicos tienden a ser de procedimiento, debido a lo
escrito de la estructura.
5. La "raíz" es de tipo de nodo dominante. Cualquier nodo hijo es accesible
solamente a través de su nodo padre.
Transformación a un modelo jerárquico
Derivar un modelo jerárquico lógico de uno conceptual no es un proceso
directo pues se puede hacer, aparentemente, varias elecciones y no existe un
resultado "correcto". Sin embargo, los pasos a seguir se pueden agrupar en
categorías con reglas y directrices que se pueden hacer dentro de cada
categoría. Estas categorías son las siguientes :
Derivar un modelo jerárquico sin tomar en cuenta ningún sistema de
manejo de base de datos en particular (DBMS)
1. Modificar el modelo de datos para eliminar conflictos con las reglas del
DBMS que se usarán.
2. Refinar el modelo de datos modificando de acuerdo con algunas
consideraciones obvias de funcionamiento.
3. Simplificar los nombres de las claves.
4. Añadir relaciones que existen entre los datos, pero que no aparecieron en
el modelo lógico.
Ahora bien, analicemos algunas de las clasificaciones más importantes y
necesarias para cualquier organización.