miércoles, 2 de septiembre de 2015

Base de Datos Jerárquica

Todo conjunto de datos, almacenados en gran cantidad, requiere de un sistema de gestión tanto el almacenamiento como el acceso de dicha información. Un SGBD (Sistema de Gestión de Base de Datos) es el encargado de esta tarea y lo hace de varias maneras diferentes.

Los SGBD jerárquicos fueron los primeros en aparecer. Una base de datos jerárquica se puede visualizar como una estructura en árbol. Las bases de datos jerárquica son bastantes rígidas, una vez diseñada la base de datos, es compleja cambiarla y además, es necesario un conocimiento amplio de la forma en la que se han almacenado los datos para poder superarlos de forma efectiva.

Los SGBD jerárquicos son modelos lógicos basados en registros que se usan para describir datos en los niveles lógicos y de vista, se llaman así debido a que la base de datos se estructura en registro de formato fijo de diferentes tipos, en cada tipo de registro se define un número fijo de campos o tributos y cada campo tiene normalmente una longitud fija. El uso de registros de longitud fija simplifica la implementación en el nivel físico de la base de datos.

Concepto de Modelo y Esquemas
Es un tipo de sistema de gestión de base de datos, almacena información en una estructura jerárquica que enlaza los registros en forma de estructura de árbol (similar a un árbol visto al revés), en donde un nodo padre de información puede tener varios nodos hijos y así sucesivamente.

El modelo jerárquico no diferencia una vista lógica de una vista física de la base de datos. De manera que las relaciones entre datos se establecen siempre a nivel físico, es decir, mediante referencia a direcciones físicas del medio de almacenamiento (sectores y pistas).

Los datos se almacenan en la forma de registro, el equivalente a las tuplas del modelo relacional. Cada registro consta de un conjunto de campos, el equivalente a los tributos del modelo relacional. Un conjunto de registro con los mismos campos se denomina fichero (record type, en inglés), el equivalente a las relaciones del modelo relacional. 

Implementación
Los elementos de base del Modelo Jerarquizado son registros lógicos que se unen entre sí, mediante punteros para construir un árbol valorado. Como árbol valorado se entiende que es aquel árbol cuyos nodos son tipo de registro lógicos y a la vez están valorados.

Un árbol valorado tiene una estructura puramente de árboles n-arios, y mantiene las estructuras y limitaciones de éste, un conjunto de registros y enlaces donde existe una única raíz (distinguido por ser el único que no recibe ninguna flecha), desde la que se desprende los demás registros. Como enlaces se representan los punteros (apuntadores a direcciones físicas) que apuntan a registros que contienen información relacionada jerárquicamente con otra. Los enlaces son asociaciones entre exactamente dos registros. Cada registro padre, puede tener muchos hijos y cada hijo puede tener un solo padre. No hay enlaces entre hermanos (como hermanos entenderemos dos registros hijos de un mismo padre, aunque hay otros tipos de implementación que sí los permiten.

Características de la Estructura Jerárquica
Una base de datos jerárquica consiste en una colección de segmentos (registro) que se conectan entre sí por medio de enlaces. Cada segmento es una colección de campos (atributos), que contienen un solo valor cada uno de ellos. Un enlace es una asociación o unión entre dos segmentos exclusivamente.

Las características principales de implementar este modelo son:
  • Globalización de la información: permite a los diferentes usuarios considerar la información como un recurso corporativo que carece de dueños específicos.
  • Eliminación de información inconsistente: si existen dos o más archivos con la misma información, los cambios que se hagan a éstos deberán hacerse a todas las copias del archivo de facturas.
  • Permite compartir información.
  • Permite mantener la integridad de la información: la integridad de la información es una de sus cualidades altamente deseable y tiene por objetivo que sólo se almacena la información correcta.
  • Independencia de datos: el concepto de independencia de datos es quizás el que más ha ayudado a la rápida proliferción del desarrollo de Sistemas de Bases de Datos.
En este tipo de modelos se establece en forma de árbol donde la raíz es un nodo ficticio. Así tenemos que, una base de datos jerárquicas es una colección de árboles.

Modelo Jerárquico
Un modelo de datos jerárquicos es un modelo de datos en el cual los datos son organizados en una estructura parecida a un árbol. La estructura permite a la información que repite y usa relaciones padre/hijo: cada padre puede tener muchos hijos pero cada hijo sólo tiene un padre. Todos los atributos de un registro específico son catalogados bajo un tipo de entidad.

Una base de datos jerárquica es un tipo de sistema de gestión de bases de datos que almacenan la información en una estructura jerárquica que alcanza los registros en forma de estructura de árbol en donde un nodo padre de información puede tener varios modos hijo. De la misma manera se puede establecer relación entre los nodos hermanos, en este caso la estructura en forma de árbol se convierte en una estructura en forma de grafo dirigido.

El modelo jerárquico se clasifica en estructura lineales y arborescentes. La primera clase de estructura, cada tipo de registro padres sólo puede tener un tipo de registro hijo. La segunda, un tipo de registro padre puede tener varios tipos de registro hijos. El producto comercial de tipo jerárquico más extendido y el único que ha llegado hasta nuestros días es el IMS de IB.
Estructura
En un modelo jerárquico, los datos están organizados en una estructura arbórea (dibujada como árbol invertido o raíz), lo que implica que cada registro sólo tiene un padre. Las estructuras jerárquicas fueron usadas extensamente en los primeros sistemas de gestión de datos de unidad central, como el Sistema IMS por IBM, y ahora se usan para describir la estructura de documentos XML, esta estructura permite relaciones 1:N entre los datos, y es muy eficiente para describir muchas relaciones del mundo real: tabla de contenidos, ordenamiento de párrafos y cualquier tipo de información anidada.

Sin embargo, la estructura jerárquica es ineficiente para ciertas operaciones de base de datos cuando el camino completo no se incluye en cada registro. Una limitación del modelo jerárquico es su incapacidad para representar manera eficiente la redundancia en datos.

En la relación padre-hijo: el hijo puede tener un padre pero un padre puede múltiples hijos. Los padres e hijos están unidos por enlaces, todo nodo tendrá una lista de enlaces a sus hijos.

Sublenguaje
Utiliza un subconjunto del lenguaje Prolog llamado Datalog el cual es declarativo y permite al ordenador hacer deducciones para contestar a consultas basándose en lo hechos y reglas almacenados.

Datalog: Datalog es un lenguaje de programación lógica verdaderamente declarativo que sintácticamente es un subconjunto de Prolog, a menudo se utiliza como lenguaje de consulta para bases de datos deductivas. En los últimos años, ha encontrado un nuevo registro de datos en la aplicación de datos, extracción de información, creación de redes, análisis de programas, la seguridad y la computación en nube.

Sus orígenes se remontan al inicio de la programación lógica, pero se convirtió en prominente como un área de entorno a 1977, cuando Hervé Gallaire y Jack Minker organizaron un taller sobre la lógica y las bases de datos David Maier se le atribuye haber acuñado el término de registro de datos.

Ventajas y Desventajas de la Implementación
de las Bases de Datos
Ventajas
  • Un árbol con todo su entrerramado, en el que la conexión es fija y solo puede ser cambiada modificando una porción de código, suministra, sin embargo, la ventaja de la navegación se realiza de una forma muy rápida.
  • Es fácil de ver la estructura de la base de datos.
  • Su implementación es sencilla y rápida de implementar.
  • Se puede predefinir relaciones, lo que simplifica las variaciones a futuro.
Desventajas
  • Puede dar lugar a la consistencia de los datos cuando se llevan a cabo actualizaciones.
  • Resulta inevitable el desaprovechamiento de espacio. Solución: una solución es introducir el concepto de registro virtual. Este tipo de puntero no contiene ningún valor de dato, sino un puntero lógico a un registro físico concreto. Cuando hay que replicar un registro en varios árboles de una base de datos, se guarda una sola copia de ese registro en uno de los árboles y se sustituyen en los demás registros por registros virtuales que contiene un puntero a ese registro físico.
  • La extracción de la información de una unidad que se encuentra varios niveles abajo requiere navegar por un camino a través de las unidades y sus relaciones hasta llegar a ella.
  • Presenta la desventaja de que es necesario un conocimiento en profundidad de las unidades de información y de sus relaciones entre sí. Adicionalmente combinar la información de unidades que residen en ramas muy separadas de la estructura arbórea es una tarea que consume tiempo y esfuerzo.
  • Las operaciones de insertar y borrar son complejas.
  • Las relaciones Nodo a Nodo pueden ser implementadas de una forma no muy eficiente, pues para hacerlo se genera redundancia.
Cuadro Comparativo de los Modelos
de Datos

Modelo Jerárquico
  • Fueron los primeros en aparecer.
  • Se puede visualizar como una estructura en árbol.
  • Son bastante rápidas. Una vez diseñada la base de datos, es complejo cambiarla y además, es necesario u conocimiento amplio de la forma en la que se han almacenado los datos para poder recuperarlas de forma efectiva.
  • Dominan el mercado en sus comienzos.
  • Han sido decayendo y actualmente no se encuentran en el marcado.
Modelo de Red
  • Fueron una evolución del modelo jerárquico.
  • Cada uno de los registros están enlazados entre sí, pero no necesariamente siguiendo una estructura en árbol.
  • Elimina parte de las rigideces del modelo jerárquico, pero aumenta la complejidad para modificar la estructura de la base de datos.
  • A pesar de su buen rendimiento, el número de instalaciones ha sido pequeño y hoy en día no se encuentran en el mercado.
  • Sin embargo, quedan instalaciones de este modelo, que responden con gran eficiencia y plena satisfacción de sus usuarios.
Modelo Relacional
  • Fue el último en aparecer.
  • Los datos se representa como un conjunto de tablas bidimensionales compuesta de filas y columnas. Cada fila representa una relación entre un conjunto de valores y está identificado por una clave única.
  • Son muy flexibles y de fácil manejo.
  • Un factor decisivo en la mplantación de los SGBDs relacionales, ha sido el lenguaje SQL (Structured Query Lenguaje) para la interrogación y el manejo de datos del modelo relacional.
  • Es el modelo dominante en la actualidad.
  • Se encuentra actualmente en el mercado.

Las bases de datos jerárquica pierden simplicidad a medida que el factor "volumen de la información" va tomando magnitud de cantidad. el modelo jerárquico es una simple versión de una base de datos con formato de árbol n-ario, sirve y funciona muy bien en sistemas que en el mundo real solo poseen entidades, que no relacionan de otra forma que 1 a N, es decir, que este tipo de sistema está seriamente limitado en cuando a su adaptación natural mediante las diferentes inclinaciones que debería tener sus componentes.

El modelo jerárquico falla en su concepto principal de enfoque, esto es, ver a la base de datos como una colección de datos relacionados por una "jerarquía" cuando en realidad la base de datos es una colección de datos relacionados con otros datos por medio de relaciones de dependencias e independencias existentes de acuerdo a su funcionalidad respecto de otros datos.

5 comentarios:

  1. Hola. Me puedes decir tu bibliografía para este artículo, por favor?

    ResponderEliminar
  2. La información recopilada resulta concisa y completa, lo único que tendría ausencia serían los correspondientes años de su implementación

    ResponderEliminar
  3. los modelos es lo mismo que cuales son los tipo?

    ResponderEliminar