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

TEMA 37.

MODELO DE DATOS JERARQUICO Y EN


RED.ESTRUCTURAS.OPERACIONES

1.-Modelo en red
1.1.-Introduccion al modelo
1.2.Diagrama de estructura de datos
1.3.-Modelo en red CODASYL DBTG
i)Lenguaje de manipulacin de datos
2.Modelo jerarquico
1.1.-Introduccion al modelo
1.2.-Diagrama de estructura de rbol
a)Interrelaciones con tipos de correspondencias muchos a muchos
b)Interrelaciones uno a muchos
c)Interrelaciones con tipo de correspondencia uno a uno
1.3.-Lenguaje de manupulacion de datos.

1.-MODELO EN RED

1.1.-Introduccion al modelo
Una base de datos en red se compone de un conjunto de registros conectados entre si
por enlaces.
Un tipo de resgistro es similar a una entidad del modelo entidad-interrelacion (ER).Cada registro es una coleccion de campos ,cada uno de los cuales contiene solo el
valor de un dato.
Un enlace es un tipo de asociacion entre dos tipos de registros.
1.2.Diagrama de estructura de datos
Un diagrama de estructura de datos es la representacio grafica de una base de datos de
red.Consta de dos componentes basicos
Rectangualos que representan los tipo registro
Lienas que representan los tipos de enlaces
Su proposito es el mismo que los diagramas entidad relacion, esto es , especificar la
estructura logica global de la base de datos en red.
Interrelaciones binarias
Distinguimos los siguientes tipos de correspondencia.
1. Interrelacion con tipos de correspondencia muchos a muchos.
2. Interrelacion uno a muchos.
3. Interrelacion uno a uno.
1.-Interrelaciones con tipos de correspondecia muchos a muchos
A partir de un tipo de un diagrama entidad-relacion, con tipo de correspondencia
muchos a muchos podemos deducir su diagrama de estructura de datos correspondiente.
2.-Interrelacion uno a muchos.
Se representa con una flecha apuntando hacia el tipo de registro que asocia varias
ocurrencias con una del otro tipo.
(Figura)

3.-Interrelaciones con tipo de correspondecia uno a uno

Se representa mediante una linea sencilla


(figura)

1.3.-Modelo en red CODASYL DBTG


El modelo de red del DBTG adopta la arquitectura en tres niveles ANSI/SPARC
estableciendo la siguiente equivalencia.
El nivel conceptual es denominado esquema.Su desarrollo es tarea del
administrador
El nivel externo es denominado subesquema.Su desarrollo esta rela del
desarrollador del programa,para ellos necesita informacion del esquema.
El nivel interno corresponde a la implementacion que efectua el modelo
Los niveles conceptual e interno son practicamente equivalentes.
Otros elementos basicos del modelo son:
Tipo de registro:Es una coleccion de elementos de datos quese relacionan
logicamente
Tipo de conjunto:Expresa una interrelacion 1:1 o 1:N entre dos tipos de
resgistro
Tipo de registro miembro o hijo:aquel tipo de registro de un conjunto en el que a
las ocurrencias de los registros les corresponde siempre una unica ocurrencia de
otro tipo de registro.
El modelo CODASYL es similar al modelo general de red pero con la salvedad que
los enlaces mucho a mucho no estan permitidos
Lenguaje de definicion de datos
El DDL del modelo CODASYL no se ha llevado de una manera estardar a las
diferentes implementaciones comerciales, por ello se mencionan los conceptos
principales y no la sintaxis de una implementacion concreta

- Una Base de Datos tendra un esquema .Para declararlo utilizamos la sintaxis

SCHEMA IS <nombreEsqueam>
-Cada tipo de registro se nombra con la sintaxis
RECORD NAME IS <nombreTipoRegistro>
-Los tipos de datos se nombran con la sintaxis
<nombreCampo> TYPE IS <tipoCampo> <extension>
-Cada tipo de conjunto se nombra con la sitaxis
SET NAME IS <nobreConjunto>
-Se indica que tipo de registro es el propietario con la sintaxis
OWNER IS <nombreRegistro>SYSTEM
-El modo en que se desea que esten ordenados los registros miembros de un conjunto se
especifica con la clausula ORDER que puede adoptar ,entre otras, las siguientes
variantes.

ORDER IS FIRST :Cada nueva inserccion de un miembro se coloca


inmediatamente despues del propietario (LIFO)
ORDER IS LAST :Cada nueva inserccion de un miembro se coloca al final
(FIFO)
ORDER IS BY SYSTEM DEFAULT:Donde el sistema lo coloque por defecto.
ORDER IS SORTED BY DEFINED KEYS:El orden por los campos definidos
como clave

-En la parte del registro miembro se ha de usar la sintaxis:


KEY (ASCENDING | DESCENDING) IS <listaCampos>
-Para indicar restricciones de clave sobre campos o sus combinaciones se utiliza la
sintaxis.
DUPLICATE ARE NOT ALLOWED

-Se pueden declarar otras restricciones adicionales a las de la clave mediante la sintaxis

CHECK IS <predicado> | < procedimiento>


- Un registro puede insertarse de forma explicita (manualmente) o implicitamente
(automaticamente).Esta distincion se especifica con la orden INSERTION que puede
formar parte de una de las opciones de inserccion.

INSERTION IS MANUAL:El registro se ha de insertar manualmente con la


orden CONNECT
INSERTION IS AUTOMATIC.:El registro se inserta automaticamnte en una
ocurrencia apropiada cuando se de de alta con la orde STORE.Para determinar
cual es la ocurrencia utilizamos la clausula SET SELECTION.

Con SET SELECTION son habituales las siguientes clausulas.


SET SELECTION IS STRUCTURAL:el conjunto se selecciona mediante la
declaracion de los coampos cuyos valores deben coincidir ,uno registro
miembro y otro del propietatio.
- Este ultimo campo debe contar con la restriccion DUPLICATES ARE NOT
ALLOWED.
SET SELECTION US BY APPLICATION:La aplicacion se asegura que la
ocurrencia actual del conjunto se la adecuada para la inserccion.
Cuando se borra un registro porpietario de un conjunto se puede producir el borrado de
los registros miembro asociados.El comportamiento en este caso se determina con la
clausula

i)Lenguaje de manipulacin de datos


Los operadores de manipulacin del modelo DBTG procesan los registros
de uno en uno.El lenguaje de manipulacin del DBTG necesita de un
lenguaje anfitrin,el mas usual es COBOL.
Las ordenes del lenguaje de manupulacion se pueden clasificar en:
Ordenes de navegacion:FIND
Ordenes de recuperacion:GET
Ordenes de actualizacin de registros :ERASE,MODIFY,STORE
Ordenes de actualizacin de
Cada programa de ejecucin tiene una rea de trabajo de usuario (UWU).Es
un rea donde se encuentran varias memorias intermedias que contiene las
siguientes variables.
Plantillas de registros:una plantilla es una definicin del registro
,similar a los Records de Pascal o las struct de C.
o Existe una plantilla por cada tipo de registro.
Punteros actuales:punteros a los registros de la BD accedidos mas
recientemente
o Ultimo registro accedido:un puntero por cada tipo de registro
conteniendo la direccin del ultimo registro accedido.
o Ultimo registro accedido dentro de un conjunto:un puntero pro
cada tipo de conjunto conteniendo la direccin del ultimo
registro accedido
o Ultimo registro accedido pro el programa:un puntero por
programa conteniedo la direccin del ultimo registro accedido.
Indicadores de estado:son variables mediantes las que el sistema
ouede comunicar al programa el estado actual del SGBD y los
resultados de la ultima operacin
Veremos las diferentes ordedes
A) Ordenes de navegacin y recuperacin
Son las ordenes :FIND,GET,MODIFY
i)
FIND: Permite localizr un registro o instancia de un conjunto.Su
ejecucion actualiza los punteros e indicadores
ii)
GET:Recupera los datos localizados copinadolos sobre el rea de
plantillas de la UWA.
iii) .MODIFY.Puede acompaar a la ordel FIND

FIND tiene dos formatos


FIND ANY <Tipo de Registro >[USING <lista de campos>]
FIND DUPLICATE <tipo de registros< [USING lista de campos>]
B)Ordenes de actualizacin de registros
Para aadir un registro, primero se han de insertar los valores en la plantilla
del tipo de registro .Tras ello se usara la orden
STORE <tipo de registro>
Para usar las ordenes de borrado (ERASE) y modificacin (MODIFY) de
registros es precico aadir la particula FOR UPDATE a la orden FIND
Para modificar un registro existente primero ser preciso pasarlo a
plantatilla y luego al camo que se desea modificar y porultimo se ordenara
la actualizacin.
C)Ordenes de actualizacin de conjuntos
La orcen CONNECT permite asociar un egistro a un conjunto , la sintaxis
es .
CONNECT <tipo de registro> TO <tipo de conjunto>
El proceso complentp de inserccion de un registro asociado a un conjunto
conlleva los siguientes pasos.
Crear el registro nuevo con la orden STORE
Buscar el padre adecuado para el nuevo registro
Conectar el registro hijo al padre hallado.
DISCONNECT efecuta la operacin inversa a CONNECT .la sintaxis es
DISCONNECT <tipo de registro> FROM <tipo de conjunto>

Antes de desconcetar es preciso que los punteros actuales de <tipo de


registro> y <tipo de conjunto> apunten hacia el registro y el conjunto
implicados.Para ellos es preciso usar alguna sentendia de tipo FIND
2. MODELO JERARQUICO
1.1.-Introduccion al modelo
Los conceptos bsicos de este modelo son similares a los del modelo de red

Descripcion de la base de datos:hace las funciones del nivel conceptual y nivel


interno
Bloque de especificacin de programa (BEP):equivale al subesquema (vista de
usuario).Dentro de un programa existirn uno o mas subconjutnos BEP a los
que denominaremos bloque de comunicacin de programa (BCP)
Tipo de segmento (de registro) :equivale al conceto de tipo de registro del
modelo en red.
Tipo de interrelacion padre-hijo( IPH):equivale al concepto de tipo conjunto.En
un tipo IPH habr un tipo de segmento padre y otro hijo.La diferencia con el
modelo en red ser que un tipo de segmento solo podr ser hijo de un tipo de
IPH.Los padres se colocan en la parte superior del diagrama

1.2.-Diagrama de estructura de rbol


En el nivel superior existe un nico segmento raz vincualdo mediante una IPH con cero
o mas tipos de registro del nivel siguiente.A partir de aqu y hacia abajo cada IPH cada
IPH entre un padre y uno o varios hijos
Se utilizan otros trminos como tipo de segmento hoja para los nodos sin hijos
,ancestros de un tipo T para los tipos situados en el camino desde la raz hasta el tipo T,

Cada Diagrama de Estructura de Arbol esta formado por dos componentes bsicos.

Rectangulos:corresponden a tipos de registros , se les asgina un nombre.


Lineas:correspondn a enlaces ,no tienen nombre

La forma general de un diagrama de estructura de rbol es : (figura)

El esquema de una base de datos jerarquica se denomia bosque y estar formado pro
uno o mas diagramas de estructura de rbol:
Un bosque de DEA tiene el mismo propsito que un diagrama de entidadrelacion:especificar la estructura global de la base de datos.
a)Interrelaciones con tipos de correspondencias muchos a muchos
El principal inconveniente del modelo jerarquico es la falta de flexiilidad.Este modelo
no permite representar sin incluir gran cantidad de redundancia ,relaciones con tipo de
correspondecia N:M
b)Interrelaciones uno a muchos
Los correspondientes esquemas E/R y diagramas de estructuras de arbol.En la
implmentacion de este tipo de interrelelacion un posible problema seria la cardinalidad
minima 0 en el lado del padre,es decir la posilidad de que apareceira un tipo de
segmento sin padre.Para solucionarlo se creara un dioble arbol como el de la figura.

c)Interrelaciones con tipo de correspondencia uno a uno


Se pueden considera como un caso e las 1:N

1.3.-Lenguaje de manupulacion de datos DL/I


Se procesan los registros de uno en uno ,como en el modelo DBTG.Las ordenes bsicas
son:
Ordenes de recuperacin:GET
Ordenes de actualizacin e registros:INSERT,REPLACE,DELETE.
La sintaxis usual para DL/I es
Orden <tipo de segmento> [WHERE <condicin>]

Cada programa en ejecucin tiene ,tambin aqu, un rea de trabajo del programa.ES un
rea donde se encuentran varias memorias intermedias que contienen las siguientes
variables.
Plantilla de segmento:Una plantilla de segmento es una definicin del
segmento/registro (similar a los Records de pascal o las struct de C)
Punteros actuales:punteros a los segmentos de la BD accedidos mas
recientemente
Indicadores de estado:son variales mediante las que el sistema puede comunicar
el programa el estado actual del SGBD y los resultados de la ultima operacin

Las ordenes principales son:


Recuperacion de registros
La recuperacin de datos se realiza mediante la orden get.Las acciones que se
realizan en una operacin get son las siguientes.
a. Localizar un registro en la base de datos y hacer que el puntero de
actualidad apunte hacia el.
b. Copiar ese registro de la base de datos a plantilla apropiada en el rea de
trabajo
Inserccion de registros
La inserccion de nuevos registros se realiza mediante la orden insert.Para insertar un
registro primero se han de colocar los valores adecuados en la plantilla del registro
correspondiente en el rea del trabajo.
Modificacion de registros
Para modificar un registro se utiliza la orde replace.Primero se ha de traer la
plantailla correspondiente del rea de trabajo y cambiar los coampos deseados en
esa plantilla.
Eliminacion de registros.
Para eliminar un registro primero se debe consegur que el puntero de actualidad
apunte a ese registro.Hecho esto es posile eliminar el registro ejecutnado delete.

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