Está en la página 1de 17

7.

MODELOS DE DATOS PRE-RELACIONALES


1. Modelo de Datos en Red
1.1 Arquitectura 1.2 Componentes de una Base de Datos en Red 1.3 Definicin y Manipulacin de Datos 1.4 Diseo Lgico

2. 2 Modelo de Datos Jerrquico


1.1 Arquitectura 1.2 1 2 Componentes de una Base de Datos de Jerrquica

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

1. 1 Modelo de Datos en Red 1.1 Arquitectura


Es un conjunto de registros conectados por medio de enlaces. Arquitectura a tres niveles.
Subesquemas S b

... ...

Esquema

Esquema de almacenamiento E d l i t

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

1. 1 Modelo de Datos en Red 1.1 A it t 1 1 Arquitectura


Arquitectura a tres niveles
Esq ema de almacenamiento Esquema
Considera todos los aspectos sobre el almacenamiento fsico de los datos de la base de datos. S d fi utilizando el lenguaje para descripcin de almacenamiento de datos Se define tili d l l j d i i d l i t d d t (DSDL).

Esquema conceptual
D fi la estructura global de la base de datos. Define l l b ld l b d d Utiliza el lenguaje para definicin de esquemas (Schema DDL).

Subesquemas
Permite crear subconjuntos del esquema para distintos usuarios. Utiliza el lenguaje para definicin de datos de subesquema (Subschema DDL).

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

1. 1 Modelo de Datos en Red 1.2 C 1 2 Componentes de una Base de Datos en Red d B d D R d


Elemento de datos E el equivalente al concepto de atributo del esquema relacional. Es l i l l d ib d l l i l Agregado de datos Vector (vector de tamao fijo). Como por ejemplo una fecha (da/mes/ao). fijo) (da/mes/ao) Grupo repetitivo. Como por ejemplo los nmeros de tlf. de una persona. Registro Coleccin nominada de elementos de datos. Conjunto C l i nominada de 2 o ms registros que crea una relacin entre ellos. Coleccin i d d it l i t ll Clave de Base de datos Inicialmente era una clave fija, que incluso poda almacenar el programador.
Toms Rojo Vctor Lpez BASES DE DATOS
CURSO 2007/2008 4

1. 1 Modelo de Datos en Red 1.2 C 1 2 Componentes de una Base de Datos en Red d B d D R d


Conjunto C una asociacin nominada 1:N / 1:1 entre dos ms Crea i i i d 1N 11 d registros.
Registro propietario (owner). Slo puede haber un registro propietario. Registro miembro (member). Puede haber uno o ms registros miembro miembro. Un registro puede ser propietario de uno o ms conjuntos. Un registro puede ser miembro de uno o ms conjuntos.

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

1. 1 Modelo de Datos en Red 1.2 C 1 2 Componentes de una Base de Datos en Red d B d D R d


Conjunto S representan utilizando diagramas Se ili d di de Bachman:

1 2 Informtica

Nombre del conjunto j Registro propietario 3 Registro miembro


Departamento2 D t m t

BDD

SS.OO.

imparte1
Asignatura3

FP II

...

a) Conjunto imparte
Toms Rojo Vctor Lpez BASES DE DATOS
CURSO 2007/2008

b) Ocurrencia del conjunto imparte


6

1. 1 Modelo de Datos en Red 1.2 C 1 2 Componentes de una Base de Datos en Red d B d D R d


Conjunto Pueden existir varias relaciones entre los mismos registros. d i i i l i l i i Un registro puede ser registro miembro de una relacin y registro p p propietario en otra. Los conjuntos singulares permiten considerar una relacin como si fuera un fichero convencional. En este caso el registro propietario ser ficticio (el sistema). Estos conjuntos slo tendrn una ocurrencia. sistema) ocurrencia
Sistema Taras Bulba

libros orden alfabtico


Libro

Conan

SDLA

...

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

1. 1 Modelo de Datos en Red 1.2 C 1 2 Componentes de una Base de Datos en Red d B d D R d


Tipos de conexiones entre conjuntos Red: un miembro con varios propietarios, pero en conjuntos distintos. d i b i i i j di i Permite representar relaciones M:N evitando la redundancia de datos.
Propierario 1

...

Propierario n

conjunto 1

conjunto n Miembro

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

1. 1 Modelo de Datos en Red 1.2 C 1 2 Componentes de una Base de Datos en Red d B d D R d


Tipos de conexiones entre conjuntos Jerrquica a un nivel i i l
Multimiembro: un solo registro propietario con varios registro miembro de distinto tipo en un nico conjunto. Propietario p
conjunto 1 Miembro 1 Miembro 2 Miembro 3

Distintos conjuntos: jerarqua en la que cada uno de los miembros forma con el propietario un conjunto distinto. Propietario
conjunto 1 conjunto 2 Miembro 1 Miembro 2 Miembro 3 conjunto 3

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

1. 1 Modelo de Datos en Red 1.2 C 1 2 Componentes de una Base de Datos en Red d B d D R d


Tipos de conexiones entre conjuntos Jerrquica con mltiples niveles: l registros de los niveles intermedios i l i l i l los i d l i l i di son miembros del conjunto del nivel superior. Distintas relaciones entre dos tipos de registros: p g
Registro 1

conjunto 1
Registro 2 Propietario

conjunto 2
Registro 3

conjunto 1
Miembro

conjunto 2

a) jerarqua con multiples niveles


Toms Rojo Vctor Lpez

b) varias relaciones entre 2 registros


10

BASES DE DATOS
CURSO 2007/2008

1. 1 Modelo de Datos en Red 1.2 C 1 2 Componentes de una Base de Datos en Red d B d D R d


Tipos de conexiones entre conjuntos Registros aislados: son registros que no son propietarios ni miembros de i il d i i i i i b d ningn conjunto. Miembro opcional: puede haber ocurrencias de un registro declarado p p g como miembro de un conjunto que no tengan ningn padre (esta situacin no se admite dentro del modelo jerrquico).

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

11

1. 1 Modelo de Datos en Red 1.2 C 1 2 Componentes de una Base de Datos en Red t d B d D t R d


Caractersticas de los conjuntos
Restricciones estructurales de los conjuntos
Opciones de insercin en conjuntos (cmo se conectan las ocurrencias?) Automtico (automatic): el nuevo registro se conecta automticamente a la ocurrencia de registro adecuada. Manual: no se conecta a ningn conjunto. Se puede conectar ms tarde explcitamente. Opciones de retencin de conjuntos (cmo se comporta al cambiar registros de un conjunto a otro?) Opcional (optional): un registro miembro puede existir por s mismo sin ser miembro de ninguna ocurrencia de conjunto. Obligatorio (mandatory): ningn registro miembro puede existir por s mismo, siempre debe ser miembro de una ocurrencia de conjunto, aunque s se puede cambiar de un conjunto a otro. Fijo (fixed): ningn registro miembro puede existir por s mismo, adems, una vez insertado no puede moverse de un registro a otro otro. Toms Rojo Vctor Lpez BASES DE DATOS
CURSO 2007/2008 12

1. 1 Modelo de Datos en Red 1.2 C 1 2 Componentes de una Base de Datos en Red d B d D R d


Caractersticas de los conjuntos
R i i Restricciones estructurales de los conjuntos l d l j
Opciones de ordenacin (en qu orden se insertan los registros?)
El modo por defecto (aleatorio) Segn un campo Primero: las ocurrencias se insertan justo despus de la ocurrencia propietario. ltimo: las ocurrencias se insertan justo antes de la ocurrencia propietario. Siguiente: las Si i t l ocurrencias se insertan despus de la ocurrencia activa en ese momento. i i t d d l i ti t Previo: las ocurrencia se insertan antes de la ocurrencia activa en ese momento.

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

13

1. 1 Modelo de Datos en Red 1.2 C 1 2 Componentes de una Base de Datos en Red d B d D R d


Caractersticas de los conjuntos
R i i Restricciones estructurales de los conjuntos l d l j
Opciones de seleccin de conjuntos (cmo se seleccionan los conjuntos?). Si la opcin de insercin es Automtica es necesario especificar cmo se selecciona la l ocurrencia del conjunto donde se va a realizar la insercin. i d l j t d d li l i i Seleccin estructural (SET SELECTION IS STRUCTURAL): se especifica que la seleccin dentro del conjunto se realiza con los valores de dos campos que deben coincidir: un campo del registro miembro y otro del registro propietario. propietario Seleccin por la aplicacin (SET SELECTION BY APPLICATION): la aplicacin navegar hasta encontrar el registro adecuado donde se desea realizar la insercin, y a continuacin se insertar el registro. g Seleccin por valor (SET SELECTION IS BY VALUE OF campo IN registro): el valor actual que contenga el campo campo del registro registro servir para determinar dnde se inserta el nuevo registro miembro. Toms Rojo Vctor Lpez BASES DE DATOS
CURSO 2007/2008 14

1. 1 Modelo de Datos en Red 1.3 D fi i i 1 3 Definicin y Manipulacin de Datos M i l i d D


Definicin del esquema de la base de datos
SCHEMA NAME IS nombre_esquema: permite especificar el nombre del esquema. b i ifi l b d l RECORD NAME IS nombre_registro: permite especificar los registros que componen el esquema. La sintaxis para la definicin de los tipos de datos es muy prxima al lenguaje Cobol. SET NAME IS nombre_conjunto: permite especificar los conjuntos que representan la relaciones entre los registros definidos en el esquema.
Proveedor Artculo

Suministra (P-S) Suministro

Es suministrado (A-S)

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

15

1. 1 Modelo de Datos en Red 1.3 D fi i i 1 3 Definicin y Manipulacin de Datos M i l i d D


Definicin del esquema de la base de datos
SCHEMA NAME IS Proveedores y Articulos. Articulos RECORD NAME IS Proveedor; DUPLICATED ARE NOT ALLOWED FOR NROP IN Proveedor. NROP; TYPE IS CHARACTER 5. 5 NOMP; TYPE IS CHARACTER 20. ESTATUS; TYPE IS FIXED DECIMAL 3. CIUDAD; TYPE IS CHARACTER 15. RECORD NAME IS Articulo; A ti l DUPLICATED ARE NOT ALLOWED FOR NROA IN Articulo. NROA; TYPE IS CHARACTER 6. NOMA; TYPE IS CHARACTER 20. COLOR; CO O TYPE IS CHARACTER 6. SC C PESO; TYPE IS FIXED DECIMAL 4; DEFAULT IS -1. CIUDAD; TYPE IS CHARACTER 15. Suministra (P-S) Suministro Es suministrado (A-S) Proveedor Artculo

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

16

1. 1 Modelo de Datos en Red 1.3 D fi i i 1 3 Definicin y Manipulacin de Datos M i l i d D t


Definicin del esquema de la base de datos
RECORD NAME IS Suministro; DUPLICATED ARE NOT ALLOWED FOR NROP IN Suministro, NROA IN Suministro. NROP; TYPE IS CHARACTER 5. NORA; TYPE IS CHARACTER 6. CTD; CTD TYPE IS FIXED DECIMAL 5. 5 SET NAME IS P-S; OWNER IS Proveedor; ORDER IS SORTED BY DEFINED KEYS DUPLICATED ARE NOT ALLOWED. MEMBER IS Suministro; INSERTION IS AUTOMATIC RETENTION IS FIXED; ; KEY IS ASCENDING NROA IN Suministro; SET SELECTION IS BY VALUE OF NROP IN Proveedor. Proveedor Suministra (P-S) Suministro Artculo Es suministrado (A-S)

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

17

1. 1 Modelo de Datos en Red 1.3 D fi i i 1 3 Definicin y Manipulacin de Datos M i l i d D


Definicin del esquema de la base de datos
SET NAME IS A-S; OWNER IS Articulo; ORDER IS SORTED BY DEFINED KEYS DUPLICATED ARE NOT ALLOWED. ALLOWED MEMBER IS Suministro; INSERTION IS AUTOMATIC RETENCION IS FIXED; KEY IS ASCENDING NROP IN Suministro; S i i t SET SELECTION IS BY VALUE OF NROA IN Articulo. Proveedor Suministra (P-S) Suministro Artculo Es suministrado (A-S)

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

18

1. 1 Modelo de Datos en Red 1.3 D fi i i 1 3 Definicin y Manipulacin de Datos M i l i d D


Definicin del subesquema de la base de datos
T secciones Tres i
Title Division: nombre del subesquema y clasulas de confidencialidad. Mapping Division: definicin de las relaciones entre el esquema y el subesquema. Por ejemplo, puede contener definiciones de alias. j l d t d fi i i d li Structure Division: se definen las reas (divisin nominada del espacio de almacenamiento fsico), registros y conjuntos que van a formar parte del subesquema.
TITLE DIVISION. SS IS PROVEEDORES WITHIN Proveedores y Articulos. MAPPING DIVISION. ALIAS SECTION. SECTION AD SET SUMI IS P-S. STRUCTURE DIVISION. REALM SECTION RD SUMI-REALM CONTAINS Proveedor, Suministro RECORDS SUMI REALM Proveedor RECORDS.

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

19

1. 1 Modelo de Datos en Red 1.3 D fi i i 1 3 Definicin y Manipulacin de Datos M i l i d D


Definicin del subesquema de la base de datos
RECORD SECTION 01 Proveedor. 02 NROP; PICTURE IS X(5). 02 CIUDAD; PICTURE IS X(24). 01 Suministro 02 NROA; PICTURE IS X(6). 02 NROP; PICTURE IS X(5). 02 CTD; PICTURE IS S9(5). S9(5) SET SECTION. SD SUMI.

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

20

1. 1 Modelo de Datos en Red 1.3 D fi i i 1 3 Definicin y Manipulacin de Datos M i l i d D


Manipulacin de los datos
ATU ( d T b j d U (rea de Trabajo de Usuario): i )
es un conjunto de variables de programa, declaradas en el programa anfitrin que se utilizan para la comunicacin con la base de datos.

I di d Indicadores de registro activo: d i i


Registro actual: ltimo registro al que se ha accedido. Existe uno para cada tipo de registro definido. C j Conjunto actual: l i ocurrencia de registro miembro o propietario que ha sido l ltima i d i i b i i h id accedido. Existir uno para cada conjunto definido. Unidad de ejecucin actual: ltimo registro al que tuvo acceso el programa (miembro o propietario). propietario)

Indicadores de estado
DB_STATUS: indica un cdigo de error o de excepcin, como por ejempo EOS (fin de conjunto). conjunto) Toms Rojo Vctor Lpez BASES DE DATOS
CURSO 2007/2008 21

1. 1 Modelo de Datos en Red 1.3 D fi i i 1 3 Definicin y Manipulacin de Datos M i l i d D t


Manipulacin de los datos
Sentencias para seleccin de datos
FIND ANY registro [USING lista_de_campos] Cualquier ocurrencia de registro cuyos campos coincidan con lista_de_campos. FIND DUPLICATE registro USING lista_de_campos g p Seleccionar la siguiente ocurrencia de registro que coincide con el criterio especificado en lista_de_campos. FIND {FIRST|NEXT} registro WITHIN conjunto Seleccionar la primera/siguiente ocurrencia del registro miembro registro dentro del conjunto conjunto. FIND OWNER WITHIN conjunto Seleccionar la ocurrencia del registro propietario que corresponde a la ocurrencia de registro miembro seleccionada. (siempre se actualizan los indicadores de registro actual)

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

22

1. 1 Modelo de Datos en Red 1.3 D fi i i 1 3 Definicin y Manipulacin de Datos M i l i d D


Manipulacin de los datos
S Sentencias para leer/escribir/modificar/borrar datos i l / ibi / difi /b d
GET registro | campos Obtiene la ocurrencia de registro (o ciertos campos de ella) actualmente en la unidad d ejecucin, y l coloca en l variables correspondientes. id d de j i lo l las i bl di t STORE registro Almacena una ocurrencia de registro en la base de datos. ERASE registro Elimina la ocurrencia que hay en ese momento en la unidad de ejecucin. MODIFY registro Modifica algunos de los campos de la ocurrencia del registro actualmente en la unidad de ejecucin.

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

23

1. 1 Modelo de Datos en Red 1.3 D fi i i 1 3 Definicin y Manipulacin de Datos M i l i d D


Manipulacin de los datos
S Sentencias para la conexin de las ocurrencias i l i d l i
CONNECT registro TO conjunto Conectar una ocurrencia de registro al conjunto conjunto (segn el modo de insercin definido y los indicadores de registro activo). i i d fi id l i di d d it ti ) DISCONNECT registro FROM conjunto Desconectar una ocurrencia registro de un conjunto conjunto. RECONNECT registro WITHIN conjunto Mover una ocurrencia de un registro a otro.

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

24

1. 1 Modelo de Datos en Red 1.3 D fi i i 1 3 Definicin y Manipulacin de Datos M i l i d D


Ejemplo
A d a registros individuales Acceder i i di id l
Ejemplo 1
cliente.nombre := Lpez; find fi d any cliente using nombre; li t i b get cliente; print (cliente.direccion); inversor
Cliente

Cuenta

Ejemplo 2
Cliente.ciudad := Albacete; find any cliente using ciudad; while DB-status = 0 do begin get cliente; print (cliente.nombre); find duplicate cliente using ciudad; end;

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

25

1. 1 Modelo de Datos en Red 1.3 D fi i i 1 3 Definicin y Manipulacin de Datos M i l i d D


Ejemplo
A d a registros dentro de un conjunto Acceder i d d j
Ejemplo 3
sum := 0; cliente.nombre := L li t b Lpez; find any cliente using nombre; find first cuenta within inversor; while DB-status = 0 do begin DB status get cuenta; sum := sum + cuenta.balance; find next cuenta within inversor; end print (sum); inversor
Cliente

Cuenta

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

26

1. 1 Modelo de Datos en Red 1.3 D fi i i 1 3 Definicin y Manipulacin de Datos M i l i d D


Ejemplo
A d a registros dentro de un conjunto Acceder i d d j
Ejemplo 4
Inversor Firma.Nombre := Inversiones Vctor; find fi d any fi firma using nombre; i b find first cuenta within cuenta-firma; while DB-status = 0 do begin find owner within inversor; get cliente; print (cliente.nombre); find next cuenta within cuenta-firma; end Cuenta-Firma Cuenta Cliente Firma

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

27

1. 1 Modelo de Datos en Red 1.4 Di l i 1 4 Diseo lgico


Transformacin del modelo E/R al modelo de red
E id d Entidad
Libro

Para cada entidad se crea un nuevo tipo de registro en el esquema de red.

Entidad dbil
Se crea un registro para la entidad dbil que ser miembro de un conjunto cuyo registro propietario ser la entidad fuerte de la cual depende.

depende d d
Ejemplar

R1

Relaciones 1:1 y 1:M


relacin

R2

Para cada relacin 1:1 o 1:M entre las entidades E1 y E2 se crea un conjunto que relaciona los tipos de registros R1 y R2 que representan a E1 y E2 respectivamente. Si es 1:1 se puede elegir arbitrariamente R1 o R2 como registro propietario. Si es 1:M entre E1 y E2 se elige como propietario el registro R1 que representa E1. 1 2 li i i l i 1 1

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

28

1. 1 Modelo de Datos en Red 1.4 Di l i 1 4 Diseo lgico


Transformacin de modelos E/R al modelo de red
R l i Relaciones M:N MN
Para cada relacin M:N entre las entidades E1 y E2 se crea un registro ficticio miembro dos conjuntos C1, C2, cuyos registro propietarios sern R1 y R2 que representan a E1 y E2 respectivamente. respectivamente
Departam. (1,1) incluye (1,N) (1 N) Asignatura (1,N) cursa (1,N) Alumno Imparte Cursa Profesor Asignatura Alumno (1,1) pertenece (1,N) Profesor Departam.

a) M d l E/R ) Modelo

b) Modelo de Red

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

29

2. 2 Modelo de Datos Jerrquico 2.1 A i 2 1 Arquitectura


El modelo de datos jerrquico es un caso particular del modelo de red. La base de datos se compone por un conjunto de bases de datos fsicas definidas por una descripcin de base de datos p (DBD).

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

30

2. 2 Modelo de Datos Jerrquico 2.2 C 2 2 Componentes de una Base de Datos Jerrquica d B d D J i


El esquema es una estructura arborescente compuesta de nodos (segmentos), que representan las entidades, enlazados por arcos, que representan las entidades arcos relaciones entre dichas entidades. Los arcos que representan las relaciones no estn nominados, puesto que slo puede existir una relacin entre dos conjuntos de datos. Un nodo padre puede tener tantos nodos hijo como sea necesario, pero un nodo hijo slo puede tener un padre. padre A excepcin del nodo raz, todos los nodos deben tener un padre.

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

31

2. 2 Modelo de Datos Jerrquico 2.2 C 2 2 Componentes de una Base de Datos Jerrquica d B d D J i


Esta estructura slo permite relaciones 1:1 y 1:N.
N:M NM
Proyecto

1:1 11
Empleado Personal

participa

cobra

Nmina

Proyecto

Empleado

Personal

Empleado

Proyecto

Nmina

Desventajas:
Inconsistencia cuando se producen borrados y actualizaciones. Redundancia de datos Toms Rojo Vctor Lpez BASES DE DATOS
CURSO 2007/2008 32

2. 2 Modelo de Datos Jerrquico 2.2 C 2 2 Componentes de una Base de Datos Jerrquica d B d D J i


Adems de registros y arcos que los unen, existen registros virtuales que no contienen ningn valor, sino simplemente punteros a los registros fsicos concretos. f i

Toms Rojo Vctor Lpez

BASES DE DATOS
CURSO 2007/2008

33

También podría gustarte