Universidad de Los Lagos Campus: Santiago Carrera: Ingeniería (E) en Informática para Técnicos Dirección: Republica 517 Teléfono: (02) 6753000 Base de Datos Jerárquica. Ramo : Base de Datos. Profesor : Héctor Schulz Pérez Integrantes : Mauricio González Naguil Carlos Vera Rodríguez Juan Carlos Ulloa Gómez 1 Índice Introducción 3 Desarrollo del tema 4 Modelos de bases de datos 4 Modelo de base de datos jerárquica 4 Breve reseña histórica 5 Funcionamiento Figura N°2 Estructura de una base de datos jerárquica Limitaciones del modelo jerárquico Características de la estructura jerárquica 6-7-8-9 9 10 11-12-13 Cuadro comparativo de los modelos de datos 14-15 Opinión Personal 16-17 Conclusión 18-19 Fuentes de Información 20 2 Introducción Entre los primeros modelos de datos que surgieron en los SGBD comerciales se encuentran las estructuras en árbol, propias de los productos jerárquicos. Los árboles, como instrumentos para la representación de estructuras de datos, presentan problemas por su poca flexibilidad, lo que da origen a una falta de adaptación a muchas organizaciones reales. No se ha llegado a una formalización matemática del modelo y de sus lenguajes, como ha ocurrido en el caso del relacional; ni tampoco se ha intentado su estandarización, a pesar de lo cual los productos jerárquicos consiguieron en su momento altas cuotas de mercado, aunque la actual difusión de la tecnología relacional los han llevado a convertirse en sistemas superados, lo cual no quiere decir que no persistan todavía importantes aplicaciones soportadas en estos productos que continúan trabajando, por su eficiente respuesta, a satisfacción de sus usuarios, en tanto que las aplicaciones desarrolladas sobre ellos se mantengan sin cambios. IMS es un producto de software de IBM considerado el primer sistema de base de datos jerárquico. Los productos basados en este tipo de modelos han perdido las altas cuotas de mercado de las que disfrutaban hace una década y se consideran sistemas muy superados por la tecnología relacional, sin embargo aún persisten muchas aplicaciones basadas en este modelo. 3 Desarrollo del Tema Modelos de bases de datos Además de diferenciar las bases de datos de acuerdo a su función, también se pueden diferencias de acuerdo a cómo modelan los datos. ¿Qué es un modelo de datos? Esencialmente un modelo de datos es una “descripción” de un contenedor y una metodología para almacenar y recuperar datos de ese contenedor. Los modelos de datos son abstracciones que consisten en conceptos y algoritmos matemáticos. El análisis y diseño de los modelos de datos han sido la piedra angular en la evolución de las bases de datos. Conforme han avanzado los modelos de datos, así lo ha hecho la eficiencia en las bases de datos. Antes de 1980, los modelos de base de datos más ampliamente usados eran los sistemas en red y jerárquicos. Modelo de base de datos jerárquica Una base de datos jerárquica es un tipo de sistema de gestión de bases de datos que, como su nombre indica, almacenan la 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 hijo. 4 Breve reseña histórica Las bases de datos jerárquicas fueron concebidas en los años 1960. La primera implementación de este metamodelo fue IMS (Information Management System). Se trata de un diseño de IBM y otros colaboradores en 1966 para el Programa Apollo de la NASA. IMS aún se encuentra activo. El sector de la banca y las Administraciones Públicas adoptaron rápidamente esta tecnología, sin la cual, no hubiese sido posible el grado de automatización que tienen hoy día. Estos sectores eran los únicos con capacidad económica suficiente para adquirir los enormes mainframe para la automatización de bases de datos, única solución posible en la época. Poco después, en 1970, E. F. Codd propuso el modelo relacional. Las ventajas de este modelo y su enfoque matemático centraron los esfuerzos de la industria dando lugar a los sistemas gestores de bases de datos relacionales. Estos últimos han reemplazado a las bases de datos jerárquicas hoy día, pero no completamente. La mayoría de las antiguas bases de datos jerárquicas de bancos y Administraciones Públicas aún siguen en actividad. Esto se debe a que el rendimiento de las bases de datos jerárquicas sigue sin ser superado por las bases de datos relacionales. Además estos sectores sufren un gran volumen de transacciones. Obsérvese, por ejemplo, la cantidad de apuntes contables que requiere una red de cajeros automáticos en un solo día. 5 Funcionamiento A diferencia del modelo relacional, 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 registros, el equivalente a las filas del modelo relacional. Cada registro consta de un conjunto de campos, el equivalente a las columnas del modelo relacional. Un conjunto de registros con los mismos campos se denomina fichero (record type, en inglés), el equivalente a las tablas del modelo relacional. El modelo jerárquico facilita relaciones padre-hijo, es decir, relaciones 1 a 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 a N (de muchos a muchos) en el modelo jerárquico. Salvo que se simulen mediante varias relaciones 1 a N. No 6 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. Los datos en este tipo de base de datos, se estructuran jerárquicamente y su diagrama es el de un árbol invertido. Una tabla actúa como la “raíz” del árbol invertido y otras tablas actúan como “ramas” que brotan de la raíz. Si se considera una base de datos representando una relación cliente-cuenta en un sistema bancario. Se tienen dos tipos de registros cliente y cuenta. Se puede definir un registro cliente con una notación similar a la de Pascal: type cliente record cliente_nombre: string; cliente_calle: string; cliente_ciudad: string; end 7 El registro tipo cuenta se puede definir como type cuenta record cuenta_número: string; cuenta_saldo: integer; end La figura N°1: muestra el diagrama de la estructura de una base de datos jerárquica. Una relación en una base de datos jerárquica está representada por el término padre/hijo. En este tipo de relación una tabla padre puede estar asociada con una o más tablas hijo, pero una tabla hijo sólo puede estar asociada con una tabla padre. Estas tablas están explícitamente enlazadas vía apuntadores o por un arreglo físico de registros dentro de las tablas. En este modelo un usuario accede a los datos empezando por la tabla raíz y recorriendo el árbol hasta el dato buscado. Ésta método de acceso requiere que el usuario esté muy familiarizado con la estructura de la base de datos. Una ventaja de esta base de datos es que el un usuario puede recuperar datos muy rápidamente debido a que hay enlaces explícitos entre las tablas. Otra ventaja es que la integridad referencial está automáticamente reforzada, esto asegura que un registro en una tabla hijo debe estar enlazado a un registro existente en una tabla padre, y que 8 un registro que se elimine en una tabla padre causará que todos los registros asociados en la(s) tabla(s) hijo(s) también será(n) eliminado(s). Figura N°2: Estructura de una base de datos jerárquica Este tipo de base de datos no soporta relaciones complejas por lo que existen con frecuencia problemas de datos redundantes. La redundancia ocurre debido a que la base de datos tipo jerárquico maneja las relaciones uno a muchos bien, pero no así las relaciones muchos a muchos. Esto es porque un hijo sólo puede tener un padre, sin embargo, en muchos casos se requerirá tener un hijo relacionado a más de un padre. Por ejemplo si una cuenta bancaria puede ser usada por más de un cliente, hay que replicar el registro de la cuenta para cada cliente que la utilice. No se puede modelar directamente esta relación en la base de datos jerárquica. 9 Limitaciones del modelo jerárquico A continuación se mencionan los problemas típicos de las bases de datos jerárquicas y que no existen en las bases de datos relacionales. Todos estos problemas derivan del hecho de que el sistema gestor de base de datos no implementa ningún control sobre los propios datos, sino que queda en manos de las aplicaciones garantizar que se cumplen las condiciones invariantes que se requieran (por ejemplo, evitar la duplicidad de registros). Dado que todas las aplicaciones están sujetas a errores y fallos, esto es imposible en la práctica. Además dichas condiciones suelen romperse ex profeso por motivos operativos (generalmente, ajustes debidos a cambios en el negocio) sin evaluarse sus consecuencias. 10 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 en 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 proliferación del desarrollo de Sistemas de Bases de Datos. En este tipo de modelos la organización se establece en forma de árbol, donde la raíz es un nodo ficticio. Así tenemos que, una base de datos jerárquica es una colección de árboles. 11 El contenido de un registro específico puede repetirse en varios sitios (en el mismo árbol o en varios árboles). Los Segmentos se clasifican en tres tipos: 1) Padre: ES aquel que tiene descendientes (hijos) todos localizados al mismo nivel. 2) Hijo: ES aquel que depende de un segmento anterior, todos los hijos del mismo padre tendrán que estar localizados en el mismo nivel. 12 3) Segmento Raíz: Es el único segmento que no tiene padre, es el antecesor de todos, y es el segmento de mayor nivel, es decir esta en el nivel superior del Árbol. 13 CUADRO COMPARATIVO DE LOS MODELOS DE DATO: MODELO JERÁRQUICO Fueron los primeros en aparecer. Se puede visualizar como una estructura en árbol. Son bastante rígidas. Una vez diseñada la base de datos, es complejo cambiarla y, además, es necesario un conocimiento amplio de la forma en la que se han almacenado los datos para poder recuperarlos de forma efectiva. Dominaron el mercado en sus comienzos Han ido decayendo y actualmente no se encuentran en el mercado. 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, aún quedan instalaciones de este modelo, que responden con gran eficiencia y plena satisfacción de sus usuarios. 14 MODELO RELACIONAL Fue el último en aparecer. Los datos se representan como un conjunto de tablas bidimensionales compuestas de filas y columnas. Cada fila representa una relación entre un conjunto de valores y está identificada por una clave única. Son muy flexibles y de fácil manejo Un factor decisivo en la implantación de los SGBDs relacionales, ha sido el lenguaje SQL (Structured Query Language) 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. 15 Opinión Personal Juan Carlos Ulloa Gómez Según lo documentado puedo señalar que la actual difusión de la tecnología relacional ha llevado a las base de datos de tipo jerárquicos a convertirse en sistemas superados, lo cual no quiere decir que no persistan todavía importantes aplicaciones soportadas en estos productos que están trabajando, por su eficiente respuesta e historia de satisfacción con el usuario. Por el contrario, una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos, ya que la poca flexibilidad de este modelo obliga a la introducción de redundancias cuando es preciso instrumentar, mediante el modelo jerárquico, situaciones del mundo real que no responden necesariamente a una jerarquía. Otra limitación importante del modelo jerárquico es no estar preparado para representar interrelaciones N:M, como la existente por ejemplo entre profesores y alumnos. Carlos Vera Rodríguez Es muy importante señalar la importancia que tuvo la creación e implementación de este tipo de modelo ya hace bastante tiempo, aunque haya sido reemplazado pero eso no significa que ya no sirvan y que no existan al contrario ya que aun están en funcionamiento en bancos y administraciones públicas gracias a su buen rendimiento. 16 Mauricio González Naguil Mi opinión personal se basa, en que este tipo de modelo de dato fue fundamental para el inicio de las nuevas tecnologías de base de datos, dominaron el mercado en sus inicios. Ya que fueron los primeros en aparecer. Fueron rígidos, había que tener un amplio conocimiento de la forma que se almacenaban los datos, para después poder recuperarlos de forma efectiva. Y aun más complejo poder cambiarlos. Este tipo de modelo jerárquico al tener un modelo de tipo árbol, funciona muy bien en sistemas que se relacionan en forma que 1 es N, en pocas palabras está limitado. Con el paso del tiempo y el desarrollo d la tecnología este modelo ha ido decayendo y actualmente no se encuentra en el mercado. 17 Conclusión Las bases de datos jerárquicas 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 sólo poseen entidades que no se relacionan de otra forma que 1 a N, es decir que éste tipo de sistemas están seriamente limitados en cuanto a su adaptación natural mediante las diferentes inclinaciones que deberían tener sus componentes. Este no es el objetivo de una base de datos (Limitar un sistema en cuanto su adaptación con el medio), es por eso que éste tipo de modelo no es conveniente para “modelar” un sistema de grandes volúmenes de información que además se encuentran en una muy estrecha relación con el medio en que se desenvuelven. 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. En el futuro la mayoría de las organizaciones cambiarán la forma convencional de manejo de la información a la arquitectura de base de datos a las ventajas derivadas de su uso. El uso de las bases de datos distribuidas se incrementará de manera considerable en la medida en que la tecnología de comunicación de datos brinde más facilidades para ello. El uso de bases de datos facilitará y soportará en gran medida a los Sistemas de Información para la Toma de Decisiones. 18 A pesar de que los avances en el campo de los SGBDs han sido muy grandes y de que los SGBDs actuales proporcionan un rendimiento muy elevado, aún están lejos de satisfacer todas las demandas de las aplicaciones más avanzadas. Siguen existiendo hoy en día numerosas áreas científicas e industriales, en las que los SGBDs relacionales están escasamente introducidos. Muchos de estos campos exigen la manipulación de nuevos tipos de información o suponen unos volúmenes de datos de difícil manejo por los sistemas actuales. 19 Fuentes de Información: http://wikidigitalipn.wikispaces.com/tecnologia http://es.wikipedia.org/wiki/Base_de_datos_jer%C3%A1rquica http://es.scribd.com/doc/55253332/Luas-lahan-sawah 20