UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRALUNIDAD ACADEMICA RIO GALLEGOS TRABAJO DE INVESTIGACIÓN: BASE DE DATOS MATERIA: ! MODELO JERÁRQUICO DE UNA BASE DE DATOS & INTEGRANTES: PROFESOR: AMALVY MARCOS ANTIPANI VICTOR GALLARDO INGRID SOFÍA OSIRIS 1 INDICE: Introducción...................................................................................................................3 Características de la estructura jerárquica......................................................................4 Implementación Del M odelo Jerarquizado:...................................................................6 Segmentos O Registros .................................................................................................7 Otro tipo de Implementación..........................................................................................9 ! Otras Clasificaciones de arboles...................................................................................10 La función de manipulación de datos...........................................................................11 Cuadro comparativo de los modelos de datos..............................................................12 Conclusión....................................................................................................................13 & Bibliografía...................................................................................................................14 2 Introducción: & ! Todo conjunto de datos, almacenado en gran cantidad, requiere de un sistema que gestione tanto el almacenamiento como el acceso a dicha información. Un SGBD (Sistema de Gestión de Base de Datos) es el encargado de ésta tarea, y los hace de varias maneras diferentes. Desde la aparición de los primeros SGBDs comerciales en la década de los 60 hasta la actualidad, se han sucedido tres generaciones distintas de SGBDs basadas en tres modelos de datos. Los tres modelos en los que se ha basado el desarrollo de las bases de datos son el jerárquico, en red y relacional. El modelo jerárquico dominó el mercado de los SGBDs hasta mediados de los 80. Durante este mismo período, surgió el modelo en red con el que se pretendía sustituir a los SGBDs jerárquicos, lo que no se consiguió. Los SGBDs 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árquicas 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. Por ello, a pesar de haber dominado el mercado en sus comienzos, los SGBDs han ido decayendo y actualmente no se encuentran en el mercado. Los SGBDs jerárquicos son M odelos 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 numero fijo de campos o atributos, 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. Esta simplicidad contrasta con muchos de los modelos basados en objetos. Los M odelos Jerárquicos se usan tanto para especificar la estructura lógica completa de la base de datos como para proporcionar una descripción de alto nivel de la implementación. 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. M uchos 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. . 3 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. 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 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 Arbol. Segmento: A 4 A Segmento Raíz: Segmento Hijo: A A ! A A Segmento Padre: & Las relaciones entre dos degmentos sólo pueden ser de uno a uno: A B 5 IMPLEMENTACION DEL MODELO JERARQUIZADO: ! Los elementos de base del M odelo Jerarquizado son registros lógicos que se únen entre sí, mediante punteros, para construir un árbol valorado. Como árbol valorado se entiende que es aquel árbol cuyos nodos son tipos de registros lógicos y a la vez están valorados. Una árbol valorado tiene una estructura puramente de arboles 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 desprenden los demás registros. Como enlaces se representan a los punteros (apuntadores a direcciones físicas) que puntan 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 entendemos dos registros hijos de un mismo padre, aunque hay otros tipos de implementación que sí los permiten). A C D E F G & B H 6 SEGMENTOS O REGISTROS Distinto tipo de Relaciones entre segmentos: De 1:n: Es cuando el segmento padre tiene dos o mas segmentos hijos. C D B ! A & De 1:1: Es cuando el segmento padre se relaciona con un único hijo. árbol. A B Se definen los conceptos de: Niveles (o altura) del árbol, M omento y peso de un 7 Altura (o Niveles) de una árbol: Se define como la altura de un árbol a la cantidad de "líneas" formadas por los registros de un árbol. Ejemplo de Altura o nivel: línea 0 Nivel 0: Por definición el nivel 0 es el primer nivel del Arbol donde se encuentra localizada solamente la raíz . ! A Niveles mayores a 0: ( La letra que tiene dentro de cada segmento representa el nivel de este y no la imformación del mismo). Nivel o Línea A o 0 Nivel o Línea B A B Líneas C C C C & C B Momento de un árbol: Se entiende por momento de un árbol como los valores contenidos en éste en un instante dado. Un momento en un árbol determinado varía según la información contenida en él cambia o es actualizada (éstos cambios son producidos por que en la vida real, las entidades varían su información). Peso de un árbol: Se define el peso de un árbol como la cantidad de hojas que contiene un árbol.. Cada hoja se distingue por ser un nodo del que no se desprenden enlaces (flechas). 8 OTROS TIPOS DE IMPLEMENTACIÓN: *) Con otros tipos de enlace: Cada nodo del árbol contiene un puntero hacia el hijo_mas_a_la_izquierdo y un puntero al hermano_siguiente. El puntero hijo_mas_a_la_izquierdo apunta a un hijo, el puntero hermano_siguiente apunta a otro hijo del mismo padre. *) Introduciendo registro virtuales: ! La estructura del árbol es exactamente la misma para todos los nodos, excepto en aquellos en los que un puntero referencia a un registro ya existente creando un duplicado. En éstos casos el registro virtual consiste en una referencia lógica al registro ya existente, para que cualquier cambio que afecte a ése registro se vea reflejado en cada nodo que lo referencie. Ejemplo Gráfico de registro virtual: El registro A necesita del reg B y el B necesita del reg A, para que la información no sea redundante, se guarda un único registro físico de cada uno y se accede a los mismos mediante registros virtuales que solo contienen punteros a las direcciones de los registros físicos & A B (virtual) B A (virtual) Otras Clasificaciones de Arboles: También las estructuras jerárquicas tienen una clasificación según su ramificación. Un árbol puede tener enlaces (o punteros) a uno o más tipos de registro (hijo). Según éste concepto, los árboles pueden ser: 9 Lineales: Se clasifica así a un árbol cuando éste posee una estructura en el cuál un registro padre puede tener un solo tipo de registro hijo. Arborescente propiamente dicha: Se clasifica así a un árbol cuando éste posee una estructura en la cuál un padre sólo puede tener varios tipos de registro hijo. Ventajas y desventajas de la implementación jerárquica de las bases de datos ! Ventajas: 1) Un árbol con todo su entrerramado de relaciones, en el que la conexión es fija y sólo puede ser cambiada modificando una porción de código, suministra, sin embargo, la ventaja de que la navegación se realiza de una forma muy rápida. 2) Es fácil de ver la estructura de la base de datos. 3) Su implementación es sencilla y rápida de implantar. 4) Se puede predefinir relaciones, lo que simplifica las variaciones a futuro Desventajas: 1) Puede dar lugar a la consistencia de los datos cuando se llevan a cabo actualizaciones. 2) Resulta inevitable el desaprovechamiento de espacio. & { Solución: una solución es introducir el concepto de registro virtual. Reste 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 arboles de una base de datos, se guarda una sola copia de ése registro en uno de los árboles y se sustituyen los demás registros por registros virtuales que contiene un puntero a ése registro físico.} 3) 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. 4) 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. 5) Las operaciones de insertar y borrar son complejas. 6) Las relaciones Nodo a Nodo pueden ser implementadas de una forma no muy eficiente, pues para hacerlo se genera redundancia. 10 La función de manipulación de datos de los modelos jerárquicos & ! La manipulación de datos jerárquicos necesita localizar ( seleccionar) 1ª los datos sobre los que se va a trabajar para realizar a continuación la acción de recuperación o actualización sobre dicho datos. A) Localización o selección . La función de selección jerárquica es de tipo navegacional, es decir, trabaja registro a registro. Dada la sencillez del modelo, la función de selección es también muy sencilla, existiendo únicamente la siguientes forma básicas de búsquedas: - seleccionar un determinado registro que cumpla una cierta condición. En el lenguaje DL/I se realizara este tipo de sección mediante una sentencia (GET UNIQUE -GU-) que activara el primer registro que cumpla con la condición especificada en el predicado que acompaña a la sentencia. - Seleccionar el siguiente registro, que se encuentra perfectamente definido al existir un único camino jerárquico. También en este caso se puede especificar una condición que abra de cumplir el registro para ser seleccionado. DL/I se utiliza una sentencia (GET NEXT -GN-) que selecciona y al mismo recupera el siguiente registro en el preorden. - Seleccionar el siguiente registro dentro de un padre. Esta sentencia (GET NEXT PARENT -GNP-) es análoga a la anterior, pero la selección termina cuando no halla mas descendientes de ese padre. - Seleccionar al registro padre de otro dado (que ha sido activado previamente) se conoce como normalización jerárquica Ascendente, mientras que la selección de descendientes se llama normalización jerárquica descendente. B) Acción Una vez seccionado un registro, se tendrá que realizar sobre el una acción, sea de recuperación o de actualización. La recuperación, que va asociada a la selección en el DL/I, consiste en llevar el registro marcado como activo en la sección realizada previamente al área de entrada/salida. Se utiliza la sentencia GET. En cuanto a la actualización ,es precisó distinguir entre : - Insertar un conjunto de datos (INSERT -ISRT-). - Borrar un conjunto de datos(DELETE -DLETE-). - Reemplazar - modificar - uno o varios campos de un registro (REPLACE -REPL-). Debido a la naturaleza jerarquiza de la conexiones entre registros , las inserciones y borrados de registros requieren consideraciones especiales: - Cuando un nuevo registro se inserta en una base de datos jerárquica, excepto para la raíz tiene que ser conectado a un nodo padre previamente seleccionado mediante alguna sentencia de selección .El nuevo registro se inserta como hijo del registro seccionado. - Cuando un registro se borra en una base de datos jerárquica, excepto si se trata de una hoja , se han de borra todos los registros descendientes de el . 11 Una instrucción de un lenguaje de manipulación constara con: - Un operador que indica el tipo de operación a realizar. - Los datos sobre los se lleva a cabo la operación. - Una condición ,que servirá para seleccionar un conjunto de datos sobre el que se desea trabajar, y que es una expresión de tipo lógico, es decir, constantes y variables unidas por operadores de comparación y el álgebra de Bolee. - CUADRO COMPARATIVO DE LOS MODELOS DE DATOS 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. & ! MODELO JERÁRQUICO 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 12 CONCLUSION ! Las bases de datos jerárquicas pierden simplicidad a medida que el factor “volumen de la información” va tomando magnitud de cantidad. El M odelo 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. & 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. 13 BIBLIOGRAFIA Bases de Datos y sistemas relacionales (Claude DELOBEL- Michael ADIBA). ! Fundamento de Bases de Datos (Abraham SILBERSCHATZ- Henry F. KORTH - S. SUDARSHAN & REFERENCIAS EN PAGINAS WEB 14