Modelojerarquicoymodelodereddebasededatos 130722020809 Phpapp02
MODELO JERARQUICO
Los diagramas de estructura de árbol es la representación de un esquema de la base de datos jerárquica, de ahí el nombre, ya que un árbol está desarrollado precisamente en orden descendente formando una estructura jerárquica.
Este tipo de diagrama está formado por dos componentes básicos:
Rectángulos: que representan a los deregistros.
Líneas: que representan a los enlaces o ligas entre los registros.
Características de las estructuras de árbol:
El árbol no puede contener ciclos.
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.
Consideremos la relación alumno-materia:
La transformación según las cardinalidades seria:Relación Uno a Uno
Relación uno a muchos
Relación muchos a uno
Relación muchos a muchos
RECUPERACIÓN DE DATOS
Para manipular la información de una base de datos jerárquico, es necesario emplear un lenguaje de manipulación de datos, el lenguaje consta de varias órdenes que están incorporadas en un lenguaje principal, Pascal.
La orden Get: La recuperación 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 dirección del último registro accesado.
Copia los datos solicitados a un tipo de registro apropiado para la consulta.
La orden Get debe especificar en cuál de los árboles de la base de datos se va a buscar.
Existen dos órdenes Get diferentes para localizar registros enun árbol de base de datos. La orden más simple tiene la forma:
get first
where
La cláusula 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 preorden) del tipo en la base de datos que satisfaga la de la cláusula where. Si se omite la cláusula where, entonces selocaliza el primer registro del tipo . Una vez que se encuentra ese registro, se hace que el puntero que tiene la dirección del último registro apuntando a ese registro y se copia el contenido del registro en un registro apto para la consulta.
Para ilustrar lo anterior veamos los ejemplos:
Realicemos una consulta que imprima El nombre del alumno llamado Juan Pérez (consideremos la relaciónAlumno-Materia que hemos estado manejando.)
get first Alumno
where Alumno.NombreA="Juan Pérez";
print (Alumno.Control)
Ahora consideremos que deseamos la consulta de los nombres de las materias en donde el alumno de nombre Juan Pérez ha obtenido una calificación igual a 100 (si es que existe)
get first Alumno
where Alumno.NombreA="Juan Perez" and Cursa.cal= 100;
if DB-Status=0 then print(Materia.NombreM);
La condición 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 más de ellos, para localizar a los demás registros empleamos la orden Get next.
Cuyo formato es:
get next
where
La cual localiza el siguiente registro enpreorden que satisface la condición. Si se omite la cláusula where, entonces se localiza el siguiente registro del tipo .
ACTUALIZACIÓN DE DATOS.
Creación de nuevos registros.
La orden utilizada para la inserción de registros es:
insert
where
donde: tipo registro contiene los datos de los campos del registro a insertar.
Sí se incluye la cláusula where, el sistema busca en el árbol de la basede datos (en preorden) un registro que satisfaga la condición dada, una vez encontrado, el registro creado se inserta en el árbol como un hijo más a la izquierda. Si se omite where, el registro nuevo es insertado en la primera posición (en preorden) en el árbol de la base de datos donde se pueda insertar un registro del mismo tipo que el nuevo.
Ejemplos:
Añadir una nueva alumna cuyo nombre es...
Regístrate para leer el documento completo.