You are on page 1of 9

Modelo de datos Jerrquicos En un modelo jerrquico, los datos son organizados en una estructura parecida a un rbol, implicando un eslabn

solo ascendente en cada registro para describir anidar, y un campo de clase para guardar los registros en un orden particular en cada lista de mismo-nivel. Las estructuras jerrquicas fueron usadas extensamente en los primeros sistemas de gestin de datos de unidad central, como el Sistema de Direccin de Informacin (IMS) por la IBM, y ahora describen la estructura de documentos XML. Esta estructura permite un 1:N en una relacin entre dos tipos de datos. Esta estructura es muy eficiente para describir muchas relaciones en el verdadero real; recetas, ndice, ordenamiento de prrafos/versos, alguno anid y clasific la informacin. Sin embargo, la estructura jerrquica es ineficaz para ciertas operaciones de base de datos cuando un camino lleno (a diferencia del eslabn ascendente y el campo de clase) tambin no es incluido para cada registro. Una limitacin del modelo jerrquico es su inhabilidad de representar manera eficiente la redundancia en datos. Un Modelo de datos jerrquico consiste en una coleccin de registros que se conectan entre s por medio de enlaces. Los registros son similares a los expuestos en el modelo de red. Cada registro es una coleccin de campos (atributos), que contienen un solo valor cada uno de ellos. Un enlace es una asociacin o unin entre dos registros exclusivamente. Por tanto, este concepto es similar al de enlace para modelos de red.

Conceptos bsicos de modelo de datos jerrquicos Una base de datos jerrquica consiste en una coleccin de registros que se conectan entre s por medio de ligas. Los registros y las ligas son similares a los del modelo de red, pero en el modelo jerrquico se organiza en forma de rbol con raz (donde la raz es nodo ficticio); de tal manera que una base de datos jerrquica es una coleccin de rboles de este tipo, formando un bosque. Registro: un registro (tambin llamado fila o tupla) representa un objeto nico de datos implcitamente estructurados en una tabla. Campo clave: campo que permite identificar y localizar un registro de manera gil y organizada. Tablas: unidad donde crearemos el conjunto de datos de nuestra base de datos. Estos datos estarn ordenados en columnas verticales. Aqu definiremos los campos y sus caractersticas. Ms adelante veremos qu es un campo.

Campo: unidad bsica de una base de datos. Un campo puede ser, por ejemplo, el nombre de una persona. Los nombres de los campos, no pueden empezar con espacios en blanco y caracteres especiales. No pueden llevar puntos, ni signos de exclamacin o corchetes. Si pueden tener espacios en blanco en el medio. La descripcin de un campo, permite aclarar informacin referida a los nombres del campo. Clave primaria: es una clave nica elegida entre todas las candidatas, para especificar los datos que sern relacionados con las dems tablas. La forma de hacer esto es por medio de claves forneas. Slo puede existir una clave primaria por tabla y ningn campo de dicha clave puede contener valores NULL. Clave fornea: es una referencia a una clave en otra tabla. Las claves forneas no necesitan ser claves nicas en la tabla donde estn y si a donde estn referenciadas. Por ejemplo, el cdigo de departamento puede ser una clave fornea en la tabla de empleados, pero obviamente se permite que haya varios empleados en un mismo departamento, pero existir solo un departamento.

Diagrama de estructura de un rbol Los diagramas de estructura de rbol es la representacin de un esquema de la base de datos jerrquica, de ah el nombre, ya que un rbol esta desarrollado precisamente en orden descendente formando una estructura jerrquica. Este tipo de diagrama est formado por dos componentes bsicos: a) Rectngulos: que representan a los de registros. b) Lneas: que representan a los enlaces o ligas entre los registros. Un diagrama de rbol tiene el propsito de especificar la estructura global de la base de datos. Un diagrama de estructura de rbol es similar a un diagrama de estructura de datos en el modelo de red. La principal diferencia es que en el modelo de red los registros se organizan en forma de un grafo arbitrario, mientras que en modelo de estructura de rbol los registros se organizan en forma de un rbol con raz. Caractersticas de las estructuras de rbol: a) El rbol no puede contener ciclos.

b) Las relaciones que existen en la estructura deben ser de tal forma que solo existan relaciones muchos a uno o uno a uno entre un padre y un hijo. Imagen del diagrama estructural de un rbol.

Recuperacin de Datos. Para manipular la informacin de una base de datos jerrquico, es necesario emplear un lenguaje de manipulacin de datos, el lenguaje consta de varias rdenes que estn incorporadas en un lenguaje principal, Pascal. La orden Get: La recuperacin de datos se realiza mediante esta orden, se realizan las siguientes acciones: Localiza un registro en la base de datos y actualiza a un puntero que es el que mantiene la direccin del ltimo registro ingresado. Copia los datos solicitados a un tipo de registro apropiado para la consulta.

La orden Get debe especificar en cul de los rboles de la base de datos se va a buscar. Para revisar todos los registros de forma consistente, se debe imponer un orden en los registros. El que normalmente se usa es el pre-orden, el cual consiste en iniciar la bsqueda por la raz y contina buscando por los subrboles de izquierda a derecha recursivamente. As pues, empezamos por la raz, visitamos el hijo ms a la izquierda, y as sucesivamente, hasta que alcancemos un nodo hoja (sin hijos). A continuacin movemos hacia atrs al padre de la hoja y visitamos el hijo ms a la izquierda no visitado. Continuamos de esta forma hasta que se visite todo el rbol. Existen dos rdenes Get diferentes para localizar registros en un rbol de base de datos. La orden ms simple tiene la forma: get first where La clusula where es opcional. La que se adjunta es un predicado que puede implicar a cualquier tipo de registro que sea un antecesor de o el mismo. La orden get localiza el primer registro (en pre-orden) del tipo en la base de datos que satisfaga la de la clusula where. Si se omite la clusula where, entonces se localiza el primer registro del tipo. Una vez que se encuentra ese registro, se hace que el puntero que tiene la direccin del ltimo registr ingresado apunte a ese registro y se copia el contenido del registro en un registro apto para la consulta. Ejemplos: Consulta que imprima El nombre del alumno llamado Jos Pea (el cual, la relacin es Alumno-Materia.) get first Alumno where Alumno.NombreA="Jos Pea"; print (Alumno.Control) Ahora consideremos que deseamos la consulta de los nombres de las materias en donde el alumno de nombre Jos Pea ha obtenido una calificacin igual a 100 (si es que existe) get first Alumno

where Alumno.NombreA="Jos Pea" and Cursa.cal= 100; if DB-Status=0 then print (Materia.NombreM); La condicin involucra a la variable DB-Status, la cual nos indica si se encontr o no el registro. La orden get first, solo nos muestra el primer registro encontrado que satisfaga la orden de consulta, sin embargo puede haber ms de ellos, para localizar a los dems registros empleamos la orden Get next. Su formato es: get next where La cual localiza el siguiente registro en pre-orden que satisface la condicin. Si se omite la clusula where, entonces se localiza el siguiente registro del tipo.

Actualizacin de Datos. Creacin de nuevos registros. La orden utilizada para la insercin de registros es: insert where Dnde: el tipo registro contiene los datos de los campos del registro a insertar. S se incluye la clusula where, el sistema busca en el rbol de la base de datos (en pre-orden) un registro que satisfaga la condicin dada, una vez encontrado, el registro creado se inserta en el rbol como un hijo ms a la izquierda. Si se omite la clusula where, el registro nuevo es insertado en la primera posicin (en pre-orden) en el rbol de la base de datos donde se pueda insertar un registro del mismo tipo que el nuevo. Ejemplos: Consideremos que queremos aadir una nueva alumna cuyo nombre es Roco Veleta con nmero de control 93551028 de la carrera de LI; entonces la insercin del nuevo registro seria de la siguiente manera:

Aumno.NombreA:=Roco Veleta"; Alumno.Control:="93551028"; Alumno.Esp:="ISC"; insert Alumno; Consideremos que deseamos crear la alta de la materia de matemticas 1 a la alumna con nmero de control 99550168. Materia.NombreM:="Matemticas I"; Materia.Clave:="SCB9334"; Materia.Cred:=8; insert Materia; where Alumno.Control="99550168";

Ventajas de un Modelo de Dato Jerrquico La ventaja mayor de un modelo jerrquico es la existencia de sistemas de manejo de base de datos probados que usan el modelo jerrquico como estructura bsica. La relativa simplicidad y facilidad de uso del modelo jerrquico y la familiaridad de los usuarios del procesamiento de datos con la jerarqua, son ventajas importantes. Existe una reduccin de la dependencia de los datos. Cuando se usan los dos modelos jerrquicos de la figura 10, varios puntos de vista diferentes pueden proveerse a los programadores de aplicacin. La prediccin del funcionamiento se simplifica a travs de relaciones predefinidas.

Desventajas de un Modelo de Dato Jerrquico Las relaciones varios a varios pueden implantarse slo de una manera deficiente. Esto puede traer como consecuencia redundancia en los datos almacenados. Sabemos que en el nivel lgico, la redundancia no necesariamente es mala, por el contrario, promueve la simplicidad. Sin embargo, al nivel fsico la redundancia es indeseable.

Como resultado del estricto ordenamiento jerrquico, las operaciones conocidas como de insercin y de supresin se vuelven extremadamente complejas. La eliminacin de padres trae como consecuencia la eliminacin de los hijos. Como resultado de esto, los usuarios deben tener cuidado cuando tengan la necesidad de poner en funcionamiento la operacin SUPRESIN. Los comandos jerrquicos tienden a ser de procedimiento, debido a lo escrito de la estructura. La "raz" es de tipo de nodo dominante. Cualquier nodo hijo es accesible solamente a travs de su nodo padre.

Ejemplo de Modelo de Datos Jerrquicos Un ejemplo de un modelo de datos jerrquico sera si una organizacin tuviera los registros de empleados en una tabla (el tipo de entidad) llamada "Empleados". En la tabla habra atributos/columnas como el Nombre de pila, el Apellido, el Nombre de Trabajo y el Salario. La empresa tambin tiene datos sobre los hijos del empleado en una tabla separada "Hijos" llamada con atributos como el Nombre de pila, el Apellido, y la fecha de nacimiento. La tabla de Empleado representa un segmento paternal y la tabla de Hijos representa un segmento Infantil. Estos dos segmentos forman una jerarqua donde un empleado puede tener muchos hijos, pero cada hijo slo puede tener un padre. Considere la estructura siguiente: EmpNo 10 20 30 40 Puesto Director Seor Manager Typist Programmer 10 20 20 Reporta

En esta tabla, el hijo es el mismo tipo que el padre. La jerarqua que declara EmpNo 10 es el jefe de 20, y30 y 40 cada informe a 20 es representado por la columna Reporta. Llamada en la Base de datos relacional, la columna Reporta es una llave fornea, el referirse de la columna EmpNo. Si el tipo de datos hijo fuera diferente, estara en una tabla diferente, pero todava habra una llave fornea que se refiere la columna EmpNo de la tabla de empleados.

Referencias Elmasri R; Shamkant N. Addison Wesley (2000), Sistema de Bases de Datos, Conceptos Fundamentales. 2da Edicin. Elmasri R; Shamkant N. Addison Wesley (2007), Fundamentos de Bases de Datos. 4ta Edicin. Piattini M. RA-MA. (1999), Fundamentos y Modelos de Bases de Datos. 2da Edicin. Silberschatz A; Korth H. McGraw-Hill (2002), Fundamentos de bases de Datos. 4ta Edicion. Silberschatz A; Korth H; Sudarshan S. McGraw-Hill (2006), Fundamentos de bases de datos. 5ta edicin.

REPBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACIN UNIVERSITARIA INSTITUTO UNIVERSITARIO DE TECNOLOGA DE ADMINISTRACIN INDUSTRIAL EXTENSIN MARACAY

Integrante: Omar Rodrguez. C.I 19.608.212

Maracay, Mayo 09 de 2013.

You might also like