Un modelo de base de datos jerárquica es un modelo de datos en el que los datos se organizan en una estructura similar a un árbol . Los datos se almacenan como registros que están conectados entre sí a través de enlaces . Un registro es una colección de campos, y cada campo contiene solo un valor. El tipo de registro define qué campos contiene el registro.
El modelo de base de datos jerárquica exige que cada registro secundario tenga solo un padre, mientras que cada registro principal puede tener uno o más registros secundarios. Para recuperar datos de una base de datos jerárquica, es necesario recorrer todo el árbol comenzando desde el nodo raíz. Este modelo es reconocido como el primer modelo de base de datos creado por IBM en la década de 1960. [ cita requerida ]
Historia
La estructura jerárquica fue desarrollada por IBM en la década de 1960 y se utilizó en los primeros DBMS de mainframe . Las relaciones de los registros forman un modelo arbóreo. Esta estructura es simple pero inflexible porque la relación se limita a una relación de uno a varios. El IBM System Información de Gestión (IMS) y el RDM móvil son ejemplos de un sistema de base de datos jerárquica con múltiples jerarquías más de los mismos datos. RDM Mobile es una base de datos integrada de nuevo diseño para un sistema informático móvil. [ cita requerida ]
El modelo de datos jerárquicos perdió fuerza cuando el modelo relacional de Codd se convirtió en el estándar de facto utilizado por prácticamente todos los sistemas de administración de bases de datos convencionales. La implementación de una base de datos relacional de un modelo jerárquico se discutió por primera vez en forma publicada en 1992 [1] (ver también modelo de conjuntos anidados ). Los esquemas jerárquicos de organización de datos resurgieron con la llegada de XML a fines de la década de 1990 [2] (ver también base de datos XML ). La estructura jerárquica se utiliza principalmente hoy en día para almacenar información geográfica y sistemas de archivos. [ cita requerida ]
Actualmente, las bases de datos jerárquicas todavía se utilizan ampliamente, especialmente en aplicaciones que requieren un rendimiento y una disponibilidad muy altos, como la banca y las telecomunicaciones. Una de las bases de datos jerárquicas comerciales más utilizadas es IMS. [3] Otro ejemplo del uso de bases de datos jerárquicas es el Registro de Windows en los sistemas operativos Microsoft Windows . [4]
Ejemplos de datos jerárquicos representados como tablas relacionales
Una organización podría almacenar información de los empleados en una tabla que contenga atributos / columnas como el número de empleado, el nombre, el apellido y el número de departamento. La organización proporciona a cada empleado el hardware informático según sea necesario, pero el equipo informático solo puede ser utilizado por el empleado al que está asignado. La organización podría almacenar la información del hardware de la computadora en una tabla separada que incluye el número de serie de cada parte, el tipo y el empleado que lo usa. Las tablas pueden verse así:
|
|
En este modelo, la employee
tabla de datos representa la parte "principal" de la jerarquía, mientras que la computer
tabla representa la parte "secundaria" de la jerarquía. En contraste con las estructuras de árbol que generalmente se encuentran en los algoritmos de software de computadora, en este modelo los niños señalan a los padres. Como se muestra, cada empleado puede poseer varias piezas de equipo informático, pero cada pieza individual de equipo informático puede tener solo un propietario empleado.
Considere la siguiente estructura:
EmpNo | Designacion | Informes a |
---|---|---|
10 | Director | |
20 | Gerente senior | 10 |
30 | Mecanógrafo | 20 |
40 | Programador | 20 |
En esto, el "hijo" es del mismo tipo que el "padre". La jerarquía que indica EmpNo 10 es el jefe de 20, y 30 y 40 cada informe a 20 está representado por la columna "ReportsTo". En términos de bases de datos relacionales, la columna ReportsTo es una clave externa que hace referencia a la columna EmpNo. Si el tipo de datos "secundario" fuera diferente, estaría en una tabla diferente, pero aún habría una clave externa que hace referencia a la columna EmpNo de la tabla de empleados.
Este modelo simple se conoce comúnmente como modelo de lista de adyacencia y fue introducido por el Dr. Edgar F. Codd después de que surgieron las críticas iniciales de que el modelo relacional no podía modelar datos jerárquicos. [ cita requerida ] Sin embargo, el modelo es solo un caso especial de una lista de adyacencia general para un gráfico.
Ver también
Referencias
- ^ Michael J. Kamfonas / Jerarquías recursivas: ¡El tabú relacional! Archivado el 8 de noviembre de2008 en la Wayback Machine - The Relation Journal, octubre / noviembre de 1992
- ^ [1]
- ^ Sistema de gestión de información de IBM
- ^ [2]
enlaces externos
- Enlaces de Troels a datos jerárquicos en RDBMS
- Gestión de datos jerárquicos en MySQL (esta página es de archive.org ya que la página ha sido eliminada de MySQL.com)
- Datos jerárquicos en MySQL: padres e hijos en una consulta
- Crear gráfico de jerarquía a partir de una base de datos jerárquica