Вы находитесь на странице: 1из 7

Estructura de rbol.

Consideremos para explicar la estructura de rbol


una base de datos acadmica (de la figura 1 que se muestra debajo), la
cual contiene informacin acerca del sistema educacional interno de una
compaa industrial grande. La compaa en cuestin mantiene un
departamento educacional, cuya funcin es impartir varios cursos de
adiestramiento para los empleados de la compaa; cada curso se ofrece
en diferentes lugares dentro de la organizacin, y la base de datos
contiene detalles tanto de los ofrecimientos ya impartidos, como de los
programados para impartirse en el futuro.


Figura 1. Estructura de la base de datos acadmica.
La base de datos contiene la siguiente informacin:
Para cada curso: nmero de curso, ttulo de curso, detalles de
todos los cursos que sean requisitos inmediatos y detalles de todos
los ofrecimientos.
Para cada curso que sea requisito de un curso dado: nmero de
curso de ese requisito.
Para cada ofrecimiento de un curso dado: nmero de ofrecimiento,
fecha, lugar, detalles de todos los profesores y detalles de todos
los estudiantes.
Para cada profesor de un ofrecimiento dado: nmero de empleado
y nombre.
Para cada estudiante de un ofrecimiento dado: nmero de
empleado, nombre y calificacin.
El tipo de rbol para la base de datos acadmica tiene Curso como su
tipo de registro de raz y posee dos tipos de subrbol, cuyas races son
los tipos de Req y Ofrecimiento, respectivamente (y advirtase que este
conjunto de dos tipos de subrbol est ordenado; es decir, el tipo de
subrbol Req precede al tipo de subrbol Ofrecimiento, como se
muestra en la figura 1). El tipo de subrbol con raz en Req es slo raz;
en cambio, el tipo de subrbol con raz en Ofrecimientotiene a su vez
dos tipos de subrbol de nivel ms bajo, los dos de slo raz, cuyas
races son los tipos de registro Profesory Estudiante, respectivamente.
As pues, la base de datos contiene cinco tipos de
registro: Curso, Req, Ofrecimiento,Profesor y Estudiante. Curso como
tipo de registro raz, y los dems como tipos de registros
dependientes. Curso es el tipo de registro padre de los tipos de
registro Req y Ofrecimiento, y stos son tipos de registro hijos de tipo
de registroCurso. De manera similar, Ofrecimiento es el tipo de registro
padre de Profesor y Estudiante, y stos son tipos de registro hijos
de Ofrecimiento. La conexin entre un tipo hijo dado y su tipo padre
correspondiente, se llama tipo liga. Cierta informacin que en una base
de datos relacional se representara con claves ajenas, en una base de
datos jerrquica se presenta mediante ligas padre-hijo. En la base de
datos acadmica, por ejemplo, la conexin entre los ofrecimientos y los
cursos est representada no por un campo NumCurso en el
registro Ofrecimiento, sino por la ligaCurso-Ofrecimiento. Una vez
tratada la cuestin de los tipos, a continuacin se revisan las ocurrencias.











La terminologa raz/padre/hijo, que se seal anteriormente en los
tipos, se refleja tambin en las ocurrencias. De esta manera, cada
ocurrencia de rbol consiste en una sola ocurrencia de registro raz,
junto con un conjunto ordenado de cero o ms ocurrencias de cada uno
de los tipos de subrbol que dependen en forma inmediata del tipo de
registro raz. Cada una de esas ocurrencias de subrbol a su vez
consiste tambin de una sola ocurrencia de registro -la raz de la
ocurrencia de subrbol- junto con un conjunto ordenado de cero o ms
ocurrencias de cada uno de los tipos de subrbol que dependen en
forma inmediata de este tipo de registro raz, y as sucesivamente.
Dicho de otro modo, para cualquier ocurrencia de cualquier tipo de
registro padre, existen n ocurrencias de cada uno de sus tipos de
registro hijos (donde nes mayor o igual a cero).
En la siguiente figura (2) se muestra un slo rbol de la base de datos
acadmica de la figura 1 en trminos ms precisos, desde luego, una
sola ocurrencia de rbol.

Figura 2. Muestra de un rbol de la base de datos acadmica.
La explicacin del rbol de la figura 2 es la siguiente; por definicin, ese
rbol contiene una sola ocurrencia de Curso (la raz del rbol).
Ese Curso tiene dos requisitos subordinados y tres ofrecimientos
subordinados (en trminos ms precisos, esa ocurrencia de Curso tiene
un conjunto ordenado de dos ocurrencias de Req subordinadas y un
conjunto ordenado de tres ocurrencias de Ofrecimiento subordinadas).
Se dice que Curso es una ocurrencia padre, con dos hijosReq y tres
hijos Ofrecimiento, es decir, ocurrencias hijas. De manera similar, el
primer ofrecimiento tambin es un padre con un hijo Profesor y varios
hijos Estudiante (slo se muestran tres). Los otros dos ofrecimientos no
tienen hijosProfesor ni Estudiante en este momento, adems, cada
(ocurrencia) padre se considera como el padre en tantas ligas (es decir,
ocurrencia de liga) como hijos tenga ese padre, es decir, el
registro Curso. Por ejemplo, es el padre en dos ocurrencias de la
liga Curso Req, y el padre en tres ocurrencias de la liga Curso-
Ofrecimiento. Por otro lado, cada (ocurrencia) hija es el hijo en una y
slo una (ocurrencia de) liga.






Adems de lo expuesto anteriormente, hay un vocablo que se aplica a
las ocurrencias y no a los tipos: el trmino gemelo. Se dice que todas
las ocurrencias de un tipo hijo dado que comparten la misma ocurrencia
padre son gemelas. As, por ejemplo, los tres ofrecimientos de la figura
2 son gemelos (aunque haya tres). Es preciso mencionar que los
requisitos en esa figura no son gemelos de esos ofrecimientos, porque
aunque tienen el mismo padre, son de un tipo diferente.
A lo largo del subtema se ha hecho mencin frecuentemente del
concepto de ordenamiento, de hecho la nocin de ordenamiento es
fundamental en la estructura de datos jerrquica. Considerando algn
tipo de subrbol T, cuyo registro raz es R y cuyos tipos de subrbol son
S1, S2, Sn (en ese orden). Sea t una ocurrencia de T, cuya raz es r
(una ocurrencia de R) y cuyos subrboles son s1, s2, sn (ocurrencias
de S1, S2, Sn, respectivamente). Definimos entonces de manera
recursiva la secuencia jerrquica de t como la secuencia que se obtiene
tomando primero el registro r, seguido de todos los registros de s1 en
secuencia jerrquica, despus de todos los registros de s2 en
secuencia jerrquica, seguidos de todos los registros de sn en
secuencia jerrquica:
Curso M23
Req M16
Req M19
Ofrecimiento 1
Profesor 421633
Estudiante 102141
Estudiante 183009
Estudiante 761620
Ofrecimiento 2
Ofrecimiento 3
Esto se da en orden de arriba hacia abajo y de izquierda a derecha,
llamado tambin ordenamiento de profundidad.
Cada uno de los rboles en la base de datos se puede considerar como
un subrbol de algn registro raz del sistema hipottico, en
consecuencia toda la base de datos se puede considerar como un slo
rbol. Por tanto, la nocin de secuencia jerrquica antes definida se
aplica a toda la base de datos as como a cada subrbol individual, es
decir, el concepto de secuencia jerrquica define un ordenamiento total
para el registro de la base de datos, y debe considerarse a las bases de
datos almacenadas (lgicamente) de acuerdo con ese ordenamiento.






Manipulacin de los datos en el modelo jerrquico
Un lenguaje para manipulacin de datos con estructura jerrquica se
compone de un conjunto de operadores para procesar datos
representados en forma de rboles. Como ejemplos de tales
operadores podemos mencionar los siguientes:
Un operador para localizar un rbol especfico en la base de datos;
por ejemplo, un operador para localizar el rbol del
curso M23 (ver figura 2).
Un operador para pasar uno de estos rboles al siguiente; por
ejemplo, un operador para pasar del rbol correspondiente al
curso M23 al rbol siguiente en la secuencia jerrquica de base de
datos.
Operadores para pasar de un registro a otro dentro de estos
rboles, desplazndose hacia arriba o hacia abajo por los diversos
trayectos jerrquicos; por ejemplo, un operador para pasar de
registro Curso correspondiente al cursoM23 al primer registro
de Ofrecimiento de ese curso.
Otros ejemplos de operadores son:
Operadores para pasar de un registro a otro de acuerdo con la
secuencia jerrquica de la base de datos; por ejemplo, un operador
para pasar de un registro Profesor de
un Ofrecimiento determinado a un registro
deEstudiante correspondiente a ese Ofrecimiento o a
otro Ofrecimiento Subsecuente.
Un operador para insertar un registro nuevo en una posicin
especificada dentro de uno de esos rboles; por ejemplo, un
operador para inserta un nuevo Ofrecimiento en el rbol del
curso M23.
Un operador para eliminar un registro especificado; por ejemplo, un
operador para eliminar un cierto Ofrecimientodel rbol del
curso M23.
Como se ha visto en los ejemplos de la figura 1y 2, tales operadores
trabajan por lo regular a nivel de registros. Es verdad que ciertos
sistemas manejan tambin operadores a nivel de conjuntos, pero tales
operadores quedan fuera del alcance modelo jerrquico en la
acepcin usual del trmino.

Вам также может понравиться