Está en la página 1de 15

Modelos de datos J.M.

Reixach

Unidad Didáctica 1
Núcleo de actividad 3
Modelos de datos:
Jerárquico, en Red y Relacional

J.M. Reixach

1
Modelos de datos J.M. Reixach

Introducción

Modelos de datos y esquemas.

• Los modelos de datos son herramientas que permiten describir la realidad.

• Los programadores las utilizan para construir Esquemas, que son


representaciones de la realidad.

• La calidad de un esquema se relaciona con las propiedades del Modelo de Datos


(MD) y la experiencia de los programadores o analistas.

Representación de los modelos de datos.

• Los MD’s tienen asociados una serie de conceptos que describen un conjunto de
datos y operaciones para manipular estos datos.

• Tipos de modelos lógicos:

• Tablas o interrelaciones en el modelo relacional.


• Árboles en modelo jerárquico.
• Grafos en modelo de red (Codasyl).

• Dichos conceptos tienen asociados una construcción lingüística y una


construcción gráfica.

2
Modelos de datos J.M. Reixach

Clases de modelos de datos.

• Existen dos tipos de modelo de datos:

• Modelo Conceptual: Representa la realidad a un alto nivel de


abstracción.
• Modelo Lógico o Modelo de Base de Datos: describe las relaciones
lógicas entre los datos y la base de datos.

Características.

• Los elementos de un modelo representan Entidades (los objetos que se


describen) genéricas.

• Los valores concretos se denominan Instancias (Ocurrencias) de una Entidad.

• Cada SGBD se asocia a un modelo de BD específico, es decir, soporta un solo


modelo de BD (Ejemplo: ORACLE al Modelo Relacional).

3
Modelos de datos J.M. Reixach

Contenidos.

• Por lo que respecta a los datos (estática):

• Datos o Entidades.
• Propiedades de los datos.
• Relaciones de los datos.
• Restricciones de los datos.

Se representa mediante un lenguaje de definición de datos o DDL del


SGBD.

• Por lo que se refiere a las operaciones (dinámica):

• Operaciones de los datos.


• Operaciones sobre relaciones de los datos.
• Relaciones entre operaciones.

Se representa mediante el lenguaje de manipulación de datos (DML) del


SGBD.

Clasificación.

SISTEMAS SISTEMAS RELACIONALES SISTEMAS


PRERRELACIONALES POSTRELACIONALES

Modelo Jerárquico. Modelo Relacional Modelo Orientado a Objetos.

Los datos se relacionan de Se utilizan conceptos Los datos se representan


modo jerárquico y se matemáticos como las mediante objetos que
representan mediante una relaciones para representar contienen variables y métodos
estructura tipo Árbol los datos y las operaciones y su manipulación se realiza
sobre éstos. mediante mensajes.

Modelo de Red. Modelo Semántico.

Se entiende como una Tiene como objetivo describir


generalización del Modelo de un modo más preciso la
Jerárquico, donde los nodos información contenida en la
hijo pueden tener más de un BD. Describe la información
padre. Grafo de forma muy exacta.

Modelo Deductivo.

Son capaces de deducir


hechos a partir de las
relaciones base y una serie de
axiomas deductivos o Reglas
de Inferencia.

4
Modelos de datos J.M. Reixach

Modelo Jerárquico
Este modelo fue el primero en aparecer y se caracteriza por organizar la información a
través de una estructura de árboles, en la que las relaciones entre instancias o registros
se expresan mediante una jerarquía. Dicha jerarquía distribuye y ordena los datos
mediante un recorrido en PREORDEN.

La estructura jerárquica cuenta con una gran cantidad de inconvenientes conocidos, por
lo que su utilización en la actualidad es prácticamente nula. La flexibilidad y falta de
estructuración de este modelo permite crear registros cuyos campos sean variables en
número y tamaño; además cuando la información almacenada en la base de datos es
muy grande, se convierte en inmanejable.

En cuanto a limitaciones lógicas cabe destacar que este modelo sólo soporta relaciones
del tipo 1 a N (ya que las de tipo N a N requieren un inaceptable nivel de redundancia).

Además, si un registro tipo aparece como hijo en más de dos relaciones, se debe de
replicar. Esto puede producir problemas de integridad y consistencia de los datos. Los
lenguajes de manipulación asociados son fuertemente navegacionales y hace falta un
lenguaje de programación anfitrión en el que se inserten los operadores.

La estructura general de un diagrama de estructura de árbol sería:

Estructura Jerárquica.

• En una estructura jerárquica los elementos principales son nodos y ramas, los
nodos simbolizan entidades y las ramas relaciones.

• Una BD jerárquica se compone de un conjunto ordenado de árboles, más


concretamente de un conjunto ordenado de Instancias (valor concreto) de tipo
árbol.

• Un tipo de árbol se compone de un tipo de registro raíz junto con un conjunto


ordenado de 0, 1 o más subárboles dependientes.

5
Modelos de datos J.M. Reixach

• Un subárbol es el árbol de un nivel inferior.

• El orden global de la BD se obtiene mediante el recorrido en preorden del


bosque.

Ejemplo de árbol:

Nodo Raíz
1

Nodo Padre
2 5

Nodos Hoja
3 4

Tipos de recorrido de un árbol.

• Recorrido en PREORDEN: Primero se visita el nodo padre, luego el hijo


izquierdo y luego el hijo derecho. (1-2-5-4-3).
• Recorrido en INORDEN: Primero se visita el hijo izquierdo, luego el padre y
después el hijo derecho. (5-2-4-1-3). Mientras tenga hijo se baja al último hijo
izquierdo que haya.
• Recorrido en POSTORDEN: Primero se visita el hijo izquierdo, luego el hijo
derecho y después el padre. (5-4-2-3-1).

Definiciones.

• Los tipos de registro (los nodos) representan las Entidades de la BD.

• Los arcos (ramas) del árbol definen la relación existente entre las Entidades.

• Aparece una dependencia entre los niveles del árbol.

• Dicha dependencia puede llevar asociada la herencia de campos entre los


niveles.

• Esta dependencia también tiene influencia en la integridad de los datos ya que


no puede existir un nodo hijo sin su padre.

6
Modelos de datos J.M. Reixach

Representación gráfica.

Diagrama de ocurrencias

• Características:
o Cada rectángulo representa la Instancia de un tipo de registro (entidad).
o Los arcos definen la relación existente entre las instancias de 2 niveles
contiguos del árbol.
o No se suelen especificar los campos de los registros.
o Cuando la cantidad de información almacenada en la BD es muy grande
se convierte en inmanejable.
o Si no aparece ninguna Instancia de alguno de los niveles del árbol la
relación asociada no se puede representar.
o Cada nodo del árbol tiene un único padre.
o Las relaciones M:N requieren que los datos se dupliquen.

Ejemplo con diagrama de ocurrencias (DO): (Representa valores)


SUCURSAL

SUCURSAL SUCURSAL SUCURSAL


CENTRO ESTE OESTE

CLIENTE CLIENTE CLIENTE CLIENTE CLIENTE CLIENTE


0095 0093 0093 0239 0103 0239

CUENTA CUENTA CUENTA CUENTA CUENTA CUENTA CUENTA


N3939 N2489 S1209 L3099 S1219 N5577 N4499

TRANSAC TRANSAC TRANSAC TRANSAC TRANSAC TRANSAC TRANSAC


395 114 115 005 884 886 885

Podemos decir que una sucursal tiene ‘n’ clientes pero no que un cliente pertenece a ‘n’
sucursales (M:N). Se soluciona duplicando las ocurrencias de cliente. Por ejemplo el
cliente 0093 lo es de dos sucursales por lo que tendremos que duplicar la ocurrencia de
cliente (se genera redundancia, información duplicada).

7
Modelos de datos J.M. Reixach

Diagrama de Bachman ( DB )

• Características:
o Describe gráficamente el esquema lógico de una BD jerárquica (y de
red).
o Los rectángulos representan los tipos de registro.
o Los arcos representan la relación existente entre los tipos de registro.
o Los arcos se etiquetan porque no puede existir más de una relación entre
dos tipos de registro.
o La flecha simple-doble indica que existe un único padre para cada hijo,
pero pueden existir cero o más hijos de un padre.

Ejemplo con diagrama DB: (Representa entidades)

SUCURSAL
Arcos

Cliente_por_sucursal

Etiqueta
CLIENTE

Cuentas_por_cliente
Doble flecha: una ocurrencia
del registro de arriba se
CUENTA relaciona con cero o más
ocurrencias del registro de
abajo
Transacciones_por_cuenta

Flecha simple: una ocurrencia


TRANSAC del registro de abajo se
relaciona solamente con una
ocurrencia del de arriba

8
Modelos de datos J.M. Reixach

Manipulación de los datos

§ Los lenguajes asociados contienen operadores que manejan datos almacenados


en árboles ordenados.
§ Deben contener los siguientes operadores:
− Búsqueda de un árbol.
− Movimiento en los árboles de un nivel.
− Movimiento a un subárbol.
− Movimiento de la estructura jerárquica.
− Inserción y borrado de registros.

Si ahora, además de asociar las cuentas con sus propietarios deseamos clasificar las
mismas por su tipo (cuenta corriente, de ahorro...) ocurre que la única forma de
‘arreglarlo’ es a base de introducir redundancias, replicar la información. Esto ocurre
cuando un registro aparece como hijo en más de dos relaciones, por lo que se debe
replicar.

Diagrama de ocurrencias (DO):

SUCURSAL
CENTRO

CLIENTE CLIENTE TIPO CUENTA TIPO CUENTA


0095 0093 CORRIENTE AHORRO

CUENTA CUENTA CUENTA CUENTA CUENTA CUENTA


N3939 N2489 S1209 N2489 N3939 S1209

TRANSAC TRANSAC TRANSAC


395 114 115

9
Modelos de datos J.M. Reixach

Ejemplo con diagrama DB

SUCURSAL Se debe poner un nombre a la


relación ( entre 2 tipos de
Tipo cuenta por sucursal registros puede haber
Cliente_por_sucursal
relaciones distintas)

TIPO DE CUENTA CLIENTE

cuenta por tipo Cuentas_por_cliente

CUENTA CUENTA

Transacción_por_cuenta

TRANSAC

Problemas de las BD jerárquicas

§ Sólo se pueden representar relaciones 1 a n ( uno a muchos )


§ La representación de relaciones no jerárquicas (M:N) introducen redundancia de
datos.
§ Si un registro aparece como hijo es más de dos relaciones se debe replicar.
§ Esto puede producir problemas de integridad y consistencia de la BD.
§ El lenguaje de manipulación es fuertemente navegacional ( se usa el término
navegación para describir el proceso de recorrer la BD siguiendo rutas explícitas
de un registro al siguiente, en busca de algún elemento de información
requerido).
§ Hace falta un lenguaje de programación Anfitrión, en el que se inserten los
operadores ( referido al lenguaje de navegación).

Conceptos basicos

INTEGRIDAD: Consiste en asegurar que la información de la BD sea correcta. Este


concepto es mucho más importante en un sistema multiusuario de BD, debido a la
compartición de la misma.

INCONSISTENCIA: Se da el caso de que en dos entradas (registros) representan el


mismo hecho y sean diferentes (la BD proporcionará información incorrecta y
contradictoria).

10
Modelos de datos J.M. Reixach

Solución para que una BD cumpla las condiciones de integridad y consistencia: Si


elimina la redundancia desaparece la inconsistencia.

En el caso de que haya redundancia y queramos asegurar que no haya inconsistencia


existe una técnica que se llama PROPAGACIÓN DE LAS ACTUALIZACIONES, que
se usa cuando actualizamos cualquier valor.

NAVEGACIÓN: Se usa este término para describir el proceso de recorrer la BD


siguiendo rutas explícitas de un registro al siguiente, en busca de algún elemento de
información requerido.

Tipos de navegación:

§ Navegación Manual: En los sistemas prerrelaciónales o no


relacionales la navegación es responsabilidad del usuario, debe
especificar los procedimientos y los datos que desee obtener.
§ Navegación Automática: En los sistemas relacionales donde los
lenguajes a nivel de conjuntos, como el SQL, se describen como
“sin procedimientos”, porque el usuario especifica qué y no
cómo. (el proceso de navegación dentro de la BD física para
localizar los datos deseados lo realiza de manera automática el
sistema, no el usuario)

Ejemplo de BD jerárquica

IMS/VS (Information Management System / Virtual Storage)

Fue el primer producto de IBM y la primera BD comercial (1962)

11
Modelos de datos J.M. Reixach

Modelo de red
Estructura de red

§ El modelo de red se puede entender como una extensión del modelo jerárquico
pues se puede representar mediante un árbol, con la diferencia respecto al
jerárquico en que cada nodo hijo puede tener varios padres.
§ De este modo se reducen o eliminan las redundancias pero desaparece la
herencia de los campos.
§ La integridad de los datos asociada a los arcos padre-hijo se mantiene.
§ Estructuras de datos de red
− Nodos (registros)
− Enlaces o arcos (punteros)

Representación del Modelo de red

§ Diagrama de ocurrencias: los arcos conectan los árboles.


§ Diagrama de Bachman: se amplía el visto en el modelo jerárquico apareciendo
flechas doble-doble que representan las relaciones muchos a muchos de las redes
complejas.

Tipos de redes

§ Red simple: los padres de un hijo son instancias de tipo de registros diferentes.
§ Red compleja: los padres pueden ser instancias del mimo tipo de registro.
§ En las redes complejas puede desaparecer todo tipo de redundancia, pero
perdiendo la herencia.
§ Para que esto no ocurra se puede permitir cierto grado de redundancia.
§ Otra alternativa es convertir una red compleja en una red simple en la cuál no se
pierda información (herencia).

12
Modelos de datos J.M. Reixach

Ejemplo de Red Simple con diagrama de ocurrencias (DO)s)

SUCURSAL
CENTRO

CLIENTE CLIENTE TIPO CUENTA TIPO CUENTA


0095 0093 CORRIENTE AHORRO

CUENTA CUENTA CUENTA


N3939 N2489 S1209

TRANSAC TRANSAC TRANSAC


395 114 115

Un hijo tendrá dos entidades distintas, dos padres que son ocurrencias de entidades
distintas.

Ejemplo de Red Compleja con diagrama de ocurrencias (DO)

SUCURSAL

SUCURSAL SUCURSAL SUCURSAL


CENTRO ESTE OESTE

CLIENTE CLIENTE CLIENTE CLIENTE


0095 0093 0239 0103

CUENTA CUENTA CUENTA CUENTA CUENTA CUENTA CUENTA


N3939 N2489 S1209 L3099 S1219 N5577 N4499

TRANSAC TRANSAC TRANSAC TRANSAC TRANSAC TRANSAC TRANSAC


395 114 115 005 884 886 885

13
Modelos de datos J.M. Reixach

En las redes complejas puede desaparecer la herencia, como por ejemplo ¿De qué
sucursal es la cuenta L3099?

Hemos de replicar información para no perder la herencia

SUCURSAL

SUCURSAL SUCURSAL SUCURSAL


CENTRO ESTE OESTE

CLIENTE CLIENTE CLIENTE CLIENTE CLIENTE CLIENTE


0095 0093 0093 0239 0239 0103

CUENTA CUENTA CUENTA CUENTA CUENTA CUENTA CUENTA


N3939 N2489 S1209 L3099 S1219 N5577 N4499

TRANSAC TRANSAC TRANSAC TRANSAC TRANSAC TRANSAC TRANSAC


395 114 115 005 884 886 885

Ejemplo de Red Compleja con DB

SUCURSAL

Tipo cuenta por sucursal Cliente_por_sucursal

TIPO DE CUENTA CLIENTE

Cuentas_por_cliente
cuenta por tipo

CUENTA

Transacción_por_cuenta

TRANSAC

14
Modelos de datos J.M. Reixach

Inconvenientes

§ Los lenguajes de manipulación asociados son fuertemente navegacionales.


§ Hace falta un lenguaje de programación anfitrión en el que se inserten los
operadores para manipular los datos.
§ Las redes complejas entrañan gran dificultad.

Productos comerciales

IDMS (Integrated Database Management System) de Computer Associates (1971)

Este producto está basado en el Modelo de red (Codasyl ‘Conference On Data System
Language’) que fue la organización que ideó el modelo de red así como el lenguaje
Cobol (es navegacional e ideal para el manejo de BD).

Modelo relacional

Se estudiará en una unidad didáctica posterior.

15

También podría gustarte