El modelo de datos jerárquico fue el primer modelo de base de datos que se creó, apareciendo por primera vez en 1966. Fue una mejora en los sistemas generales de procesamiento de archivos porque permite la creación de relaciones lógicas entre la información en una base de datos. Sin embargo, esta estructura también tiene sus desventajas que condujeron al desarrollo eventual del modelo de red y el modelo relacional.

Estructura

La característica principal de un modelo de datos jerárquico es la estructura en forma de árbol. Por ejemplo, una base de datos de la empresa podría organizarse utilizando una rama para el Personal, seguida de Departamentos, Equipos y luego Miembros del Equipo. Esta estructura padre-hijo es consistente en toda la base de datos, y cada segmento hijo solo puede tener un segmento padre. Cada segmento, o registro, puede tener cualquier número de elementos de campo que brinden información sobre ese registro. Por ejemplo, el registro de miembro del equipo tendría detalles como nombre, supervisor y detalles de contacto.

Uno a muchos y redundancia

Debido a que los modelos jerárquicos no permiten registros compuestos, es decir, que una entrada tenga más de un elemento primario, la base de datos tiene una estructura de uno a muchos; una compañía puede tener muchos departamentos y un departamento puede tener muchos líderes de equipo. Esto puede conducir a la redundancia en el modelo. Por ejemplo, una rama debajo de los miembros del equipo podría llamarse Proyectos en curso. Dado que varios miembros del personal pueden trabajar en un proyecto, la información del proyecto debe duplicarse, lo que posiblemente genere problemas de coherencia.

Navegación

El modelo de datos jerárquico es un modelo de datos de navegación; Las rutas de acceso en el modelo están limitadas por estructuras predeterminadas. Para obtener un registro de archivo específico, la consulta se mueve desde el segmento raíz en la base de datos hacia abajo a través de las ramas. Esto está bien si ya conoce la ubicación de los registros que busca, pero si está haciendo consultas exploratorias, esto es lento, ya que la base de datos debe leer todos los registros en un nivel determinado antes de pasar al siguiente.

Punteros lógicos para padres

Las limitaciones de la estructura jerárquica se alivian un poco mediante el uso de punteros lógicos principales. Desarrollado por IBM en su modelo de datos del Sistema de gestión de la información, esto implica configurar una nueva base de datos para entradas que tienen relaciones de muchos a muchos y vincular las dos. Por ejemplo, la rama de Proyectos en curso tendría punteros que vinculan al usuario a una base de datos de Proyectos separada donde está contenida la información del proyecto. Esto es similar a cómo funciona la función IDREF del lenguaje de marcado extensible XML.