Está en la página 1de 14

BD Bases de Datos

Unidad 2: Modelos de Datos

UNIDAD 2: MODELOS DE DATOS


Tema 1. La idea del Modelo de Datos
Definicin
Definicin #1
Un modelo de datos es un sistema formal y abstracto que permite describir los datos de
acuerdo con reglas y convenios predefinidos. Es formal pues los objetos del sistema se
manipulan siguiendo reglas perfectamente definidas y utilizando exclusivamente los
operadores definidos en el sistema, independientemente de lo que estos objetos y
operadores puedan significar.
Definicin #2
Un modelo conceptual de datos proporciona una notacin para expresar entidades u
objetos y las asociaciones entre esas entidades. Adems, proporciona operadores para
manipular dichas entidades.
Componentes
Segn Codd, un modelo de datos es una combinacin de tres componentes:
1. Una coleccin de estructuras de datos (los bloques constructores de cualquier base
de datos que conforman el modelo). Tambin se le llama Notacin;
2. Una coleccin de operadores o reglas de inferencia, los cuales pueden ser aplicados a
cualquier instancia de los tipos de datos listados en (1), para consultar o derivar
datos de cualquier parte de estas estructuras en cualquier combinacin deseada;
3. Una coleccin de reglas generales de integridad, las cuales explcita o implcitamente
definen un conjunto de estados consistentes --estas reglas algunas veces son
expresadas como reglas de insertar-actualizar-borrar.
Usos de un modelo de datos
o
o
o
o

como una herramienta para especificar los tipos de datos y la organizacin de los
mismos que son permisibles en una base de datos especfica;
como una base para el desarrollo de una metodologa general de diseo para las
bases de datos;
como una base para el desarrollo de familias de lenguajes de alto nivel para
manipulacin de consultas (querys) y datos;
como el elemento clave en el diseo de la arquitectura de un manejador de bases de
datos.

Los modelos conceptuales de datos "clsicos", que son utilizados por DBMSs comerciales en
todo el mundo son los modelos O-O, Relacional, de Red, y Jerrquico.
La idea es proporcionar al usuario o programador una visin conceptual o de alto nivel de los
datos que es independiente de la forma en que internamente se almacenen realmente. Esto
es lo que se denomina un modelo de datos.

Facultad de Ingeniera

BD Bases de Datos

Unidad 2: Modelos de Datos

El primer modelo de datos desarrollado con toda la formalidad que esto implica fue el modelo
relacional, en 1969, mucho antes incluso que los modelos jerrquicos y de red. A pesar de
que los sistemas jerrquicos y de red como software para manejar bases de datos son
previos al modelo relacional, no fue sino hasta 1973 que los modelos de tales sistemas
fueron definidos, apenas unos cuantos aos antes de que estos sistemas empezaran a caer
en desuso.
En los ltimos 30 aos, el modelo relacional se ha consolidado como el modelo ms robusto,
maduro y ms aceptado, en desmedro de los modelos de red y jerrquico. Tambin existen
modelos adicionales: el modelo basado en la Lgica (Datalog) y el modelo orientado al
objeto, que han aparecido para cubrir cierto tipo de necesidad de modelamiento, pero que no
ha logrado la aceptacin comercial que el modelo relacional s ha logrado.
Los modelos pueden diferenciarse en su propsito. Por ejemplo hay algunos orientados al
trabajo en un nivel semntico para un diseo del esquema (modelo entidad-relacin), en
cambio otros (la mayora) se mueven en el nivel de abstraccin siguiente (conceptual).

Niveles de abstraccin de los modelos de datos


Nivel Esquema
Modelo Entidad - Relacin

Nivel Conceptual
Modelo Red

Traduccin

Traduccin

Modelo Relacional

Traduccin

Modelo O-O

Es un tipo de

Modelo Jerrquico
Implementacin
Implementacin

Implementacin

Implementacin

DBMS
Relacional

DBMS
O-O

Nivel Implementacin

Facultad de Ingeniera

BD Bases de Datos

Unidad 2: Modelos de Datos

1.1. Modelo Jerrquico


Los datos estn representados mediante colecciones de registros y las relaciones entre
ellos mediante enlaces, a este tipo de organizacin se le denomina organizacin
mediante colecciones de rboles. Este tipo de estructuras ocurren de una manera
natural en muchas organizaciones, porque algunas entidades tienen un orden jerrquico
intrnseco.
Entre la terminologa tpica para estructuras jerrquica, se puede mencionar:
o

Raz: Un rbol tiene un solo nodo raz.

Hojas: Aquellos nodos que no tienen ningn subordinado se llaman hojas.

Padre e Hijo: Con excepcin del nodo raz, cada nodo est conectado con un solo
nodo en el nivel superior. El nodo de nivel ms alto se llama padre y el subordinado
se llama hijo.

ESCUELA

ESCUELA

PROGRAMA A

PROGRAMA

CLASE I

CLASE

PROGRAMA B

CLASE II

CLASE III

ALUMNO

ALUMNO 1

ALUMNO 2

ALUMNO 3

ALUMNO 6

ALUMNO 7

ALUMNO 4

ALUMNO 5

JERARQUIA SIMPLE

NODO RAIZ
NIVEL 1

NIVEL 2

NIVEL 3

NIVEL 4

Facultad de Ingeniera

ESTRUCTURA JERARQUICA

BD Bases de Datos

Unidad 2: Modelos de Datos

Raz
1
Nudo de grado 4
Hoja de Segundo Nivel
2

Herederos
Una familia de Dimensin 6

10

11

12

15

El nivel 17
tiene una Cuenta de 5
16

13

14

20

Este
de rbol tiene:
21Diagrama
22

Diagrama de Camino
(longitud 3)

Hojas
18

19
Diagrama de
Camino Mximo

Facultad de Ingeniera

Altura 4
Momento 22
Peso 16
Raiz 1

(Nmero de Niveles)
(Numero de Nudos)
(Nmero de Hojas)
(nmero de Raices)

BD Bases de Datos

Unidad 2: Modelos de Datos

1.2. Modelo de Red


La estructura sencilla de una base de datos jerrquica se converta en una desventaja
cuando los datos tenan una estructura ms compleja. En una base de datos de
procesamiento de pedidos, por ejemplo, un simple pedido podra participar en tres
relaciones padre / hijo diferentes.

Clientes

Vendedores

Acme
Mig

Productos

Bill
Adams

Articulo
tipo 4

#112963
Pedidos

La estructura de datos de la siguiente figura simplemente no se ajustara a la jerarqua


estricta del modelo visto arriba.
Para manejar aplicaciones tales como el procesamiento de pedidos, se desarroll un
nuevo modelo de datos en red. El modelo de datos en red extenda el modelo jerrquico
permitiendo que un registro participara en mltiples relaciones padre / hijo, como se
muestra en la siguiente figura.

Clientes

Productos

Acme
Mig

First
Corp.

...

...
...

Articulo
tipo 4

Perno
4D

...

...
...

Conjunto

#112961

Registro

#112962

#112963

#112964

#112965

...

Pedidos

Una base de datos en RED (CODASYL) para procesamientos de pedidos

Una estructura de datos de red, llamada algunas veces estructura plex, abarca ms que
la estructura de rbol ( jerrquica), porque un nodo hijo en la estructura de red puede
tener ms de un padre. As, la estructura de rbol se puede considerar un caso especial
de la estructura de red.

Facultad de Ingeniera

BD Bases de Datos

Unidad 2: Modelos de Datos

ESTRUCTURA DE RED EN LA
CUAL UN NODO HIJO PUEDE
TENER MAS DE UN NODO PADRE

Ay B son nodos Padres de C; C y L son


nodos padres de F
D

Para un programador, acceder a una base de datos en red era muy similar a acceder a
una base de datos jerrquica. Las bases de datos en red tenan varias ventajas, a saber:
o

Flexibilidad: Las mltiples relaciones padre / hijo permitan a una base de datos
en red representar datos que no tuvieran una estructura jerrquica sencilla.

Rendimiento: A pesar de su superior complejidad, las bases de datos en red


reforzaron el rendimiento aproximndolo al de las bases de datos jerrquicas.

Las bases de datos en red tenan sus desventajas tambin, al igual que las bases de
datos jerrquicas, resultaban muy rgidas. Las relaciones y estructura de los registros
tenan que ser especificadas de antemano. Modificar la estructura de la base de datos
requera tpicamente la reconstruccin de la base de datos completa.

Facultad de Ingeniera

BD Bases de Datos

Unidad 2: Modelos de Datos

1.3. Modelo Relacional


En 1970, el modo en que se vean las bases de datos cambi por completo cuando E. F.
Codd introdujo el modelo relacional. En aquellos momentos, el enfoque existente para la
estructura de las bases de datos utilizaba punteros fsicos (direcciones de disco) para
relacionar registros de distintos ficheros.

Si, por ejemplo, se quera relacionar un registro


con un registro
, se deba aadir
al registro
un campo conteniendo la direccin en disco del registro
. Este campo
aadido, un puntero fsico, siempre sealara desde el registro
al registro
.

Codd demostr que estas bases de datos limitaban en gran medida los tipos de
operaciones que los usuarios podan realizar sobre los datos. Adems, estas bases de
datos eran muy vulnerables a cambios en el entorno fsico. Si se aadan los
controladores de un nuevo disco al sistema y los datos se movan de una localizacin
fsica a otra, se requera una conversin de los ficheros de datos. Estos sistemas se
basaban en el modelo de red y el modelo jerrquico, los dos modelos lgicos que
constituyeron la primera generacin de DMBS.

Tabla PRODUCTOS

Tabla PEDIDOS

DESCRIPCIN

PRECIO

EXISTENCIAS

Articulo tipo 3
Articulo tipo 4
Pasador Bisagra
.
.

$107.00
$117.00
$330.00

207
139
14

NUMERO_PEDIDO
112963
112975
112983
.
.

EMPRESA

PRODUCTO

ACME MFG
JCP Inc.
ACME MFG

41004
2A446
41004

CANT
28
6
6

Tabla CLIENTES
EMPRESA

REPCLIE

LIMITE_CREDITO

ACME MFG
JCP Inc.

105
103

$50,000.00
$50,000.00

.
.

UNA BASE DE DATOS RELACIONAL PARA PROCESAMIENTO DE PEDIDOS

Una base de datos relacional es una base de datos en donde todos los datos visibles al
usuario estn organizados estrictamente como tablas de valores, y en donde todas las
operaciones de la base de datos operan sobre estas tablas.
La ventaja principal del enfoque relacional est en la simplicidad de su representacin,
en la estructura lgica de la base de datos y en la flexibilidad para establecer relaciones
de datos por medio de campos de conexin. Todas las entidades en una base de datos
relacional estn representadas como tablas separadas y no estn colocadas en ninguna
jerarqua fija.
Una caracterstica nica del sistema relacional es su independencia de trayectorias de
entrada / salida, es decir, cualquier tabla (o relacin) se puede acceder directamente sin
necesidad de acceder otras relaciones basadas en estructura de datos fija, tales como
un rbol.

Facultad de Ingeniera

BD Bases de Datos

Unidad 2: Modelos de Datos

1.4. Modelo Orientado al Objeto


Indudablemente que la tecnologa asociada a la programacin orientada al objeto ha
acaparado la atencin tanto de acadmicos como de desarrolladores de software los
ltimos aos. Estas mismas ideas combinadas con la tecnologa de bases de datos es lo
que ha llevado al desarrollo de los sistemas de bases de datos orientados al objeto.
Estos sistemas pueden ser utilizados en aplicaciones donde la tecnologa de bases de
datos tradicional (relacional) no es aplicable, ya sea por problemas de desempeo, o por
falta de poder expresivo (manejo de objetos complejos).
Lamentablemente en la actualidad an no hay un consenso unnime en lo que respecta
a la definicin del modelo de datos asociado a estos nuevos sistemas. Sin embargo se
distinguen los elementos fundamentales que lo diferencian de los modelos anteriores:

facilidades para definir y manejar entidades complejas (compuestas de otras


entidades)

encapsulacin de estado + comportamiento de las entidades (concepto de


clase)

manejo de jerarquas de especializacin (concepto de herencia)

identidad

Las bases de datos orientadas a objetos (BDOO) son aquellas cuyo modelo de datos
est orientado a objetos y almacenan y recuperan objetos en los que se almacena
estado y comportamiento.
Las clases utilizadas en un determinado lenguaje de programacin orientado a objetos
son las mismas clases que sern utilizadas en una BDOO; de tal manera, que no es
necesaria una transformacin del modelo de objetos para ser utilizado por un SGBDOO.
De forma contraria, el modelo relacional requiere abstraerse lo suficiente como para
adaptar los objetos del mundo real a tablas.
Las bases de datos orientadas a objetos surgen para evitar los problemas que surgen al
tratar de representar cierta informacin, aprovechar las ventajas del paradigma
orientado a objetos en el campo de las bases de datos y para evitar transformaciones
entre modelos de datos (usar el mismo modelo de objetos).
Las caractersticas asociadas a las BDOO son:

Objetos: cada entidad del mundo real se modela como un objeto.

La forma de identificar objetos es mediante un identificador de objetos (OID,


Object Identifier), nico para cada objeto. Generalmente este identificador no es
accesible ni modificable para el usuario (modo de aumentar la integridad de
entidades y la integridad referencial). Los OID son independientes del contenido.
Es decir, si un objeto cambia los valores de atributos, sigue siendo el mismo
objeto con el mismo OID. Si dos objetos tienen el mismo estado pero diferentes
OID, son equivalentes pero tienen identidades diferentes.

Encapsulamiento: cada objeto contiene y define procedimientos (mtodos) y


la interfaz mediante la cual se puede acceder a l y otros objetos pueden
manipularlo. La mayora de los SGBDOO permite el acceso directo a los
atributos incluyendo operaciones definidas por el propio SGBDOO las cuales leen
y modifican los atributos para evitar que el usuario tenga que implementar una
cantidad considerable de mtodos cuyo nico propsito sea el de leer y escribir
los atributos de un objeto. Generalmente, los SGBDOO permiten al usuario
especificar qu atributos y mtodos son visibles en la interfaz del objeto y
pueden invocarse desde afuera.

Otros conceptos utilizados de la misma manera que en la POO son:


o Clases
o Herencia simple, mltiple y repetida.
o Polimorfismo de operacin, de inclusin y paramtrico; ligadura
tarda (late binding); sobrecarga (overloading) y suplantacin o
anulacin (overriding).
o Objetos complejos

Facultad de Ingeniera

BD Bases de Datos

Unidad 2: Modelos de Datos

Tema 2. El Modelo Entidad - Relacin


El modelo entidad-relacin es el modelo conceptual ms utilizado para el diseo
conceptual de bases de datos. Fue introducido por Peter Chen en 1976. El modelo
entidad-relacin est formado por un conjunto de conceptos que permiten describir la
realidad mediante un conjunto de representaciones grficas y lingsticas.

Originalmente, el modelo entidad-relacin slo inclua los conceptos de entidad, relacin


y atributo. Ms tarde, se aadieron otros conceptos, como los atributos compuestos y
las jerarquas de generalizacin, en lo que se ha denominado modelo entidad-relacin
extendido.

El propsito es proporcionar una descripcin del esquema conceptual sin preocupacin


por los problemas de diseo fsico, eficiencia de almacenamiento o de acceso, etc. Se
supone que en una etapa posterior, los diagramas E-R son llevados a otros modelos ya
sea en forma automatizada o manual.
Una entidad (o conjunto) tiene propiedades llamadas atributos.
Un conjunto de
atributos cuyo valor identifica nicamente a una entidad dentro de un conjunto se
denomina llave.
2.1. Funcionalidad de las asociaciones entre dos entidades
Las asociaciones entre dos entidades pueden ser clasificadas de acuerdo a la
cantidad de instancias de una entidad, que pueden ser asociadas con una o ms
instancias de la otra. Es as como se tienen asociaciones Uno-a-Uno, Muchos-aUno y Muchos-a-Muchos.
a) Asociacin Uno-a-Uno

DEPARTAMENTOS

jefe de

EMPLEADOS

La asociacin jefe de no es Uno-a-Uno si es que se da alguna de estas


situaciones:

Un empleado puede ser jefe de ms de un departamento.

Un departamento puede tener dos jefes.

Un departamento puede no tener un jefe.

La asociacin jefe de tiene funcionalidad Uno-a-Uno si es que para cada


departamento existe un slo jefe, y cada jefe de departamento tiene a su cargo
un slo departamento

Facultad de Ingeniera

BD Bases de Datos

Unidad 2: Modelos de Datos

b) Asociacin Muchos-a-Uno

CURSOS

enseado
por

PROFESORES

Suponiendo la informacin de un slo semestre, en que un profesor dicta varios


(incluso, "cero") cursos, y un curso es dictado por un nico profesor.
c) Asociacin Muchos-a-Muchos

PAISES

exporta

PRODUCTOS

Un pas exporta muchos productos, y, a su vez, un mismo producto es


exportado por muchos pases

2.2. Cardinalidad de las Relaciones


Una cardinalidad indica cuantas ocurrencias de entidades (Nmero Mximo o
Nmero Mnimo) pueden estar asociadas a travs de una relacin.
Existen dos tipos de cardinalidad: Cardinalidad Mxima y Cardinalidad Mnima.
a) Cardinalidad Mxima
Una cardinalidad mxima es usada para clasificar relaciones binarias. Las
relaciones binarias son aquellas cuyas ocurrencias envuelven a dos entidades.
Se pueden clasificar las relaciones en: n:n (muchos a muchos), 1:n (uno a
muchos) y 1:1 (uno a uno).

PERSONA
1
marido

1
esposa

MATRIMONIO

EMPLEADO
1
UBICADO
1
MESA

Facultad de Ingeniera

10

BD Bases de Datos

Unidad 2: Modelos de Datos

EMPLEADO

INGENIERO

MEDICO

ALUMNO

LE TOCA

DEPARTAMENTO

PERTENECE

LE TOCA

CONSULTA

CAPACIDAD

EMPLEADO

DEPENDENCIA

PROYECTO

PACIENTE

CURSO

b) Cardinalidad Minima
Una cardinalidad mnima, es aquella que expresa un nmero mnimo de
ocurrencias para una entidad. Existen dos tipos de cardinalidad mnima, a
saber:
o

Cardinalidad Mnima 0
Tambin llamada Asociacin Opcional.

Cardinalidad Mnima 1.
Tambin recibe el nombre de Asociacin Obligatoria, ya que indica
que la forma de relacionarse debe estar obligatoriamente asociado a
una ocurrencia de entidad.

Facultad de Ingeniera

11

BD Bases de Datos

2.3.

Unidad 2: Modelos de Datos

Diagrama Entidad-Relacin

2.3.1. Notacin utilizada

a. Entidad
Una entidad es una cosa o un objeto con significado real o imaginado, acerca de las
necesidades de informacin que se van a conocer o a mantener.
Una entidad se representa en un diagrama entidad-relacin
por medio de un recuadro (rectngulo con esquinas
redondeadas) con un nombre. El nombre se muestra en
singular y en maysculas. Este nombre debe ser el que
mejor represente un tipo o clase de elemento, no una
instancia.

ENTIDAD

Cualquier objeto slo puede ser representado por una entidad.


Es decir, las
entidades son mutuamente exclusivas en todos los casos. Por lo tanto, cada entidad
debe ser identificada en forma nica.
b. Relacin
Una relacin es una asociacin entre dos entidades referida a un nombre. Una
relacin es binaria, en el sentido de que es siempre una asociacin entre
exactamente dos entidades, o entre una entidad y ella misma.
Una relacin se representa mediante un rombo que unido a las dos
entidades mediante lneas, o mediante una lnea que une los dos
recuadros de entidades, o recursivamente une un recuadro de
entidad consigo mismo.

Facultad de Ingeniera

relacin

12

BD Bases de Datos

Unidad 2: Modelos de Datos

c. Atributos
Un atributo es cualquier detalle que sirve para calificar, identificar, clasificar,
cuantificar o expresar el estado de una entidad. Tambin se define a un atributo
como la descripcin de una caracterstica importante de la entidad.
Un atributo podra ser un texto, nmeros, dibujos, sentimientos, olores, etc, segn
se requiera. Para propsitos de procesos de datos, se tiende a concentrar en texto,
nmeros y algunas veces, imgenes.
Para representar un atributo hay que escribir su nombre en
singular y en minsculas, unido por medio del siguiente
conector a la entidad.

Atributo

d. Cardinalidad
La cardinalidad se expresa con un valor para un mnimo y un mximo.
El valor mnimo describe si la relacin es opcional o requerida. El valor mximo
describe si la relacin es singular o plural.
La cardinalidad se expresa a ambos lados de la relacin y se expresa como se
muestra a continuacin:
Cero a Uno
Cero a Muchos
Uno a Uno
Uno a Muchos

2.3.2. Metodologa de diseo conceptual


Las tareas a realizar en el diseo conceptual son las siguientes:
o Identificar las entidades.
o Identificar las relaciones.
o Identificar los atributos y asociarlos a entidades y relaciones.
o Determinar los identificadores.
o Determinar las jerarquas de generalizacin (si las hay).
o Dibujar el diagrama entidad-relacin.
o Revisar el esquema conceptual local con el usuario

Facultad de Ingeniera

13

BD Bases de Datos

Unidad 2: Modelos de Datos

2.3.3. Identificacin de cardinalidad en DER


Consideremos un ejemplo sencillo de representacin de la relacin entre las
entidades Persona y Perro:
Posee actualmente
Persona

Perro
Es actualmente propiedad

Ahora consideremos las siguientes cuatro preguntas:


o
o
o
o

Debe una persona poseer un perro?


Puede una persona poseer ms de un perro?
Debe un perro ser siempre propiedad de una persona?
Puede un perro ser propiedad de ms de una persona a la vez?

Las dos primeras preguntas intentan resolver la cardinalidad de izquierda a derecha,


es decir, de Persona a Perro.
Supongamos que nuestro sistema modela la
administracin de un edificio donde los propietarios son libres de tener la cantidad de
perros que deseen o no tener perro si no lo desean. Por tanto, nuestra cardinalidad
quedara completa a medias:
Posee actualmente
Persona

Perro
Es actualmente propiedad

Ahora, respondiendo las otras dos preguntas podemos completar la cardinalidad.


Estas preguntas tratan de resolver la cardinalidad de derecha a izquierda.
Supongamos que la administracin exige que cada perro que se encuentre dentro
pertenezca a por lo menos una persona. Adems, el perro quedar registrado a una
sola persona que se har responsable por l. El diagrama completo quedara:

Persona

Posee actualmente

Perro

Es actualmente propiedad

Facultad de Ingeniera

14

También podría gustarte