Está en la página 1de 55

Tema 2.

Modelo entidad-relacin (ER)

Modelado de datos utilizando el modelo


entidad-relacin. Elmasri/Navathe 02
Entidad-relacin extendido y modelado de
objetos. 4.7. Tipos de relacin de grado superior a dos.
Elmasri/Navathe 02

Modelos de datos conceptuales de alto nivel para el


diseo de BD
Ejemplo
Tipos de entidad, conjuntos de entidad, atributos y
claves
Vnculos (o relaciones), tipos de vnculo (o tipos de
relacin), roles y restricciones estructurales
Tipos de entidad dbiles
Refinamiento del diseo ER para la BD ejemplo
Diagramas ER, convenciones de denominacin y
cuestiones de diseo
Tipos de vnculo (o relacin) de grado superior a dos
Ejemplos de diseo

A. Jaime 2003 FBD Tema 2 1


Fases del diseo de BD

Minimundo

OBTENCIN
Y ANLISIS
I DE REQUISITOS
n
d
e Requisitos funcionales Requisitos de la BD
p
e d
n e ANLISIS
d DISEO
i l FUNCIONAL CONCEPTUAL
e
n S Especificacin
t Esquema conceptual (ER)
e G transacciones
B
D DISEO LGICO
(Transformacin del
modelo de datos)
E
s
p DISEO DE
e Esquema lgico (ej. relacional)
PROGRAMAS
c c DE APLICACIN
a
f d DISEO
i a FSICO
c
oS IMPLEMENTACIN
DE TRANSACCIONES Esquema interno
G
dB
e D
Programas de aplicacin

A. Jaime 2003 FBD Tema 2 2


Esquema conceptual

Descripcin concisa de los requisitos de


informacin de los usuarios.

Contiene descripciones detalladas de:


tipos de datos
vnculos (o relaciones)
restricciones

No incluyen detalles de implementacin

Pueden servir para comunicarse con usuarios no


tcnicos

A. Jaime 2003 FBD Tema 2 3


Ejemplo: BD Empresa

se ocupa de los empleados, departamentos y


proyectos de una empresa.

Requisitos de informacin:

Organizada en departamentos. Cada uno con


nombre y nmero nico. Tiene un director y su
fecha de inicio. Puede estar distribuido en varios
lugares.

Cada departamento controla cierto nmero de


proyectos. Cada uno con nombre y nmero nicos
y se realiza en un solo lugar.

De cada empleado se guarda su nombre, nmero de


seguridad social, direccin, salario, sexo y fecha de
nacimiento. Est asignado a un departamento pero
puede trabajar en varios proyectos (no tienen por
qu ser controlados por el mismo departamento). N
horas semanales dedicadas a cada proyecto y quin
es su supervisor.

De los familiares de cada empleado (para


administrar sus seguros) interesa su nombre, sexo,
fecha de nacimiento y parentesco (hijo, esposa, ...).

A. Jaime 2003 FBD Tema 2 4


Esquema ER
para la BD Empresa

Nombre
Sexo
FAMILIAR FechaNacimiento
N Parentesco

FAMILIARES_DE

1
NombreP Iniciales Apellido

Nombre

Nss Sexo Direccin Salario


supervisor
FechaNacimiento 1

EMPLEADO SUPERVISIN

N
N 1 supervisado

TRABAJA_PARA DIRIGE FechaInic

1 1
Nombre
Nmero
DEPARTAMENTO
Localizaciones
N 1 NmeroDeEmpleados
Horas
TRABAJA_EN CONTROLA
N
M Nombre
PROYECTO Nmero
Localizacin

A. Jaime 2003 FBD Tema 2 5


Conceptos del modelo ER

Los datos se describen como:


Entidades
Atributos
Vnculos (o relaciones)

Otros conceptos:
Atributo simple, Grado de tipo de
compuesto, mono y vnculo
multivaluado, Vnculo (o relacin)
almacenado y como atributo
derivado Rol
Valor nulo Restricciones de
Atributo complejo cardinalidad y de
Tipo de entidad participacin
Conjunto de entidades Atributos de tipo de
Atributo clave vnculo
Dominio Tipo de entidad dbil
Tipo de vnculo (o Clave parcial
relacin) Tipo de vnculo
ternario

A. Jaime 2003 FBD Tema 2 6


Entidades y atributos

Entidad: cosa del mundo real con existencia


independiente:
algo fsico: una cierta persona (Aitor), una casa,
un automovil, un empleado, ...
algo conceptual: una compaa (ACME), un
puesto de trabajo (secretario de centro), un
curso universitario (2 A), ...

Atributo: es una propiedad especfica de una


entidad (atributos de ACME : el nombre, su direccin, su
telfono, ...)

Cada entidad se describe mediante un conjunto de


atributos

Una entidad concreta tendr un valor para cada uno


de sus atributos

Nombre=John Smith
Direccin= 2311 Kirby,
Entidad 1 Houston, Texas 77001
Edad=55
Telfono=713-749-2630

A. Jaime 2003 FBD Tema 2 7


Tipos de atributos. Valores nulos

Simple (o atmico): DNI


NomPila
Compuesto: Nombre Apellido1
pueden formar una jerarqua Apellido1
es la concatenacin de sus atributos simples

Monovaluado: FechaN
Multivaluado: Localizaciones (Donostia, Tolosa, Eibar)
Pueden tener lmites inferior y superior de nmero de
valores

Almacenado: FechaN

Derivado: Edad
(calculado a partir de la fecha de nacimiento FechaN

Valores nulos, se asignan a atributos:


sin valor aplicable
(Ttulo universitario para personas sin ttulo)
de valor desconocido:
falta: altura de una persona
no se sabe si existe: n de telfono

Atributos complejos: anidaciones arbitrarias de atributos


compuestos y multivaluados

A. Jaime 2003 FBD Tema 2 8


Tipo de entidad, claves y conjuntos de
valores

Tipo de entidad: conjunto de entidades que poseen


los mismos atributos (cada entidad su propio valor
para cada atributo) Por ejemplo: informacin de
empleados de una compaa
Se describe con su nombre y lista de atributos
Las entidades de un t. de entidad son el
conjunto de entidades o extensin del t. de
entidad.
El t. de entidad se llama intensin de su
conjunto de entidades

Atributo clave de un t. de entidad:


Tiene un valor nico para cada entidad del t. de
entidad (restriccin de clave o unicidad). Esto
se deber cumplir para cualquier extensin.
Ejemplo: DNI para personas
Puede ser un atributo compuesto
Debe ser mnima (sin atributos superfluos)
Algunos t. de entidad pueden tener ms de un
atributo clave
Puede haber t. de entidad sin clave: t. de entidad
dbil

Conjunto de valores (dominio) del atributo, es el


conjunto de todos los posibles valores que puede
tomar el atributo.
A. Jaime 2003 FBD Tema 2 9
Tipos de entidad en la BD Empresa

Diseo inicial extraido de los requisitos:

Nombre
Nmero El libro le
llama
Localizaciones Gerente

Director
DEPARTAMENTO
Fecha_Inicio_Director

Nombre
Nmero
Localizacin

PROYECTO DepartamentoControlador

NombreP Iniciales Apellido

Nombre
FechaNacimiento Nss Sexo Direccin Salario
Departamento

Supervisor
EMPLEADO
TrabajaEn

Empleado FAMILIAR NombreFamiliar

Parentesco FechaNacimiento Sexo

A. Jaime 2003 FBD Tema 2 10


Tipos de entidad en la BD Empresa (2)

En el ejemplo no se ha representado el n de horas


semanales que trabaja un empleado en un proyecto
Se puede resolver haciendo que TrabajaEn est
compuesto de Proyecto y Horas

NombreP Iniciales Apellido

Nombre
FechaNacimiento Nss Sexo Direccin Salario
Departamento

Supervisor
Proyecto EMPLEADO
TrabajaEn
Horas

Una alternativa:

Nombre
Nmero
Localizacin

PROYECTO DepartamentoControlador

Empleado
Trabajadores
Horas

A. Jaime 2003 FBD Tema 2 11


Vnculos implcitos en el ejemplo

Vnculo implcito: atributo que hace referencia a


otro tipo de entidad
En el ejemplo son vnculos implcitos: Gerente de
DEPARTAMENTO, DepartamentoControlador de
PROYECTO , Supervisor de EMPLEADO, ...
En el modelo ER estas referencias hay que
representarlas como vnculos (o relaciones)

Durante el diseo inicial los vnculos se pueden


capturar en forma de atributos

Al refinarse el diseo se transforman en vnculos


entre los t. de entidad

A. Jaime 2003 FBD Tema 2 12


Vnculos (o relaciones)

Un tipo de vnculo R (como TRABAJA_PARA) entre


n tipos de entidad (EMPLEADO, DEPARTAMENTO)
define un conjunto de asociaciones ( conjunto de
vnculos) entre las entidades de los n tipos de
entidad
N 1
EMPLEADO TRABAJA_PARA DEPARTAMENTO

Cada instancia de vnculo r ? R es una asociacin


de entidades que incluye una nica entidad de cada
tipo de entidad que participa en el tipo de vnculo

(Gonzalo, ATC), (Fernando, CCIA), (Txiki, CCIA)

Grado de un tipo de vnculo es el nmero de tipos


de entidad que participan (en el ejemplo grado=2)

Grado 2 = tipo de vnculo binario, grado 3 ternario.


Los ms comunes son los binarios.

A. Jaime 2003 FBD Tema 2 13


Vnculos como atributos

En ocasiones conviene considerar un tipo de


vnculo en forma de atributo

A sto lo hemos llamado vnculo implcito

N 1
EMPLEADO TRABAJA_PARA DEPARTAMENTO

En el ejemplo anterior (TRABAJA_PARA), con el


atributo Departamento en EMPLEADO (contiene el
departamento del empleado):
Contiene una
referencia a la
EMPLEADO Departamento entidad de
Departamento

En los tipos de vnculo binarios, tambin se puede


incluir en DEPARTAMENTO (contiene todos los
empleados del departamento):

DEPARTAMENTO Empleados

Si se incluye en ambos sitios, cada uno debera ser


el inverso del otro.

A. Jaime 2003 FBD Tema 2 14


Nombres de roles y vnculos recursivos

Nombre de rol indica qu papel desempea cada


entidad participante de un tipo de entidad en cada
instancia de vnculo

N 1
EMPLEADO TRABAJA_PARA DEPARTAMENTO
Trabajador o Patrn o
empleado departamento

No son necesarios con tipos de entidad distintos


(se usa el nombre del tipo de entidad)

Si no, el nombre de papel es indispensable:

EMPLEADO

supervisor supervisado
1 SUPERVISIN N

Estos ltimos tipos de vnculo se llaman vnculos


recursivos

A. Jaime 2003 FBD Tema 2 15


Restricciones estructurales

Razn de cardinalidad (vnculos binarios): n de


instancias de vnculo en las que puede participar
una entidad. Las ms comunes son:
1:1
1:N
N:M

Restriccin de participacin:

Total (dependencia de existencia): todo


empleado debe pertenecer a un departamento
N 1
EMPLEADO TRABAJA_PARA DEPARTAMENTO

Parcial: algunos empleados dirigen un


departamento (otros no)

1 1
EMPLEADO DIRIGE DEPARTAMENTO

pero todo departamento es dirigido por un


empleado (total)

A. Jaime 2003 FBD Tema 2 16


Atributos de tipo de vnculo

Son atributos asociados al tipo de vnculo:


M N
EMPLEADO TRABAJA_EN PROYECTO

Horas

1 1
EMPLEADO DIRIGE DEPARTAMENTO

FechaInicio

Con tipos de vnculo 1:1 y 1:N este atributo puede


trasladarse a uno de los t. de entidad participantes:

1 1
EMPLEADO DIRIGE DEPARTAMENTO

FechaInicio

(se poda haber trasladado a DEPARTAMENTO


en lugar de a EMPLEADO)

A. Jaime 2003 FBD Tema 2 17


Atributos de tipo de vnculo (2)

Con tipos de vnculo 1:N slo se pueden trasladar al


t. de entidad del lado N:

N 1
EMPLEADO TRABAJA_PARA DEPARTAMENTO

FechaInicio

Cada empleado empieza en una fecha distinta, luego no


podemos poner una fecha comn en el departamento

En tipos de vnculo M:N no se puede trasladar, ya


que es un valor determinado por la combinacin de
entidades participantes en la instancia de vnculo
(no por una de ellas individualmente):

M N
EMPLEADO TRABAJA_EN PROYECTO

Horas

A. Jaime 2003 FBD Tema 2 18


Tipo de entidad vs. Entidad
Tipo de vnculo vs. Vnculo

Cdigo Ttulo DNI Nombre


Tipos de entidad
y
Tipo de vnculo
M N
LIBRO PRESTADO LECTOR
Cada uno es una
NCopias intensin, es
decir, representa
a un conjunto de
informacin

LIBRO LECTOR Conjuntos de


entidades
Tolk-1 El Sr. de los Anillos 3 11 Joseba representadas
(extensiones).
Orw-1 1984 2 22 Miren Cada lnea es
Shar-1 Wilt 1 una entidad

NO puede haber 2 entidades de un tipo de entidades con todos sus


atributos iguales, ya en un conjunto no hay elementos repetidos

PRESTADO Conjunto de
Tolk-1 11 vnculos
representados
Tolk-1 22 (extensin).
Orw-1 11 Cada lnea es
un vnculo
Shar-1 22

NO puede haber 2 vnculos de un tipo de vnculos con todos sus


atributos iguales, ya en un conjunto no hay elementos repetidos

A. Jaime 2003 FBD Tema 2 19


Tipo de entidad dbil

Son los que no tienen atributos clave propios


Una entidad de un tipo de entidad dbil se identifica
por su vnculo con otra entidad de otro tipo de
entidad, en combinacin con alguno de los atributos
de esta ltima.
Parentesco FechaNacimiento Sexo

N 1
FAMILIAR FAMILIARES_DE EMPLEADO

NombreFamiliar FechaNacimiento Nss ...

Tipo de entidad Tipo de vnculo Tipo de entidad


propietario o
dbil identificador identificador

El tipo de entidad dbil siempre tiene una restriccin


de participacin total respecto al tipo de vnculo
identificador

No toda dependencia de existencia da lugar a una


entidad dbil:
1 1
PERSONA TIENE PERMISO_CONDUCIR

DNI NmLicencia

Es clave

A. Jaime 2003 FBD Tema 2 20


Tipo de entidad dbil (2)

Parentesco FechaNacimiento Sexo

N 1
FAMILIAR FAMILIARES_DE EMPLEADO

NombreFamiliar FechaNacimiento Nss ...

Puede haber 2 empleados cuyos hijos (Parentesco ) se


llamen Eduardo (NombreFamiliar, Sexo) y los hijos
hayan nacido el mismo da (FechaNacimiento)
Se trata de 2 Eduardos distintos
Slo se puede distinguir a los 2 Eduardos por ser
hijos de distinto empleado

Se dice que cada entidad EMPLEADO posee a sus


entidades dependientes (las relacionadas con ella)

Clave parcial: atributo(s) que puede(n) distinguir a


las entidades dbiles relacionadas con la misma
entidad propietaria (distinguir a los familiares de un
mismo empleado)
En el caso peor, la clave parcial es la combinacin
de todos los atributos del tipo de entidad dbil

A. Jaime 2003 FBD Tema 2 21


Tipo de entidad dbil (3)

Un tipo de entidad dbil tambin se puede representar


en forma de atributo multivaluado complejo:
FechaNacimiento Sexo
Parentesco

Familiares EMPLEADO

NombreFamiliar FechaNacimiento Nss ...

Se elige como representacin el tipo de entidad dbil


cuando:
tiene muchos atributos
participa de manera independiente en otro
tipo de vnculo (adems de su tipo de vnculo
identificador)

Se pueden definir varios niveles de tipos de entidad


dbil:

Un tipo de entidad dbil puede tener ms de un tipo de


entidad propietario y un tipo de vnculo identificador
de grado mayor que dos

A. Jaime 2003 FBD Tema 2 22


Refinamiento del diseo ER
para la BD Empresa

1 1
EMPLEADO DIRIGE DEPARTAMENTO

FechaInicio
Gerente

Fecha_Inicio_Gerente

N 1
EMPLEADO TRABAJA_PARA DEPARTAMENTO

Departamento

1 N
DEPARTAMENTO CONTROLA PROYECTO

DepartamentoControlador

A. Jaime 2003 FBD Tema 2 23


Refinamiento del diseo ER
para la BD Empresa (2)

Supervisor

EMPLEADO
supervisor supervisado
1 SUPERVISIN N

M N
EMPLEADO TRABAJA_EN PROYECTO

Proyecto
Horas
TrabajaEn
Horas

N 1
FAMILIAR FAMILIARES_DE EMPLEADO

Empleado

A. Jaime 2003 FBD Tema 2 24


Resumen de notacin para diagramas ER

TIPO DE ENTIDAD

TIPO DE ENTIDAD DBIL

TIPO DE VNCULO

TIPO DE VNCULO IDENTIFICADOR

ATRIBUTO

ATRIBUTO CLAVE

ATRIBUTO MULTIVALUADO

ATRIBUTO COMPUESTO
...

ATRIBUTO DERIVADO

ATRIBUTO CLAVE PARCIAL

A. Jaime 2003 FBD Tema 2 25


Resumen de notacin para diagramas ER (2)

PARTICIPACIN TOTAL
E1 R E2 DE E2 EN R

1 N RAZN DE CARDINALIDAD 1:N


E1 R E2
PARA E1:E2 EN R

(min, max) RESTRICCIN ESTRUCTURAL


R E (min, max)
EN LA PARTICIPACIN DE E EN r

A. Jaime 2003 FBD Tema 2 26


Restricciones estructurales
notacin alternativa

N 1
EMPLEADO TRABAJA_PARA DEPARTAMENTO

(1,1) (1,N)
EMPLEADO TRABAJA_PARA DEPARTAMENTO

(mn, mx)
R E

mn indca que cada entidad de E debe participar en


al menos mn instancias de vnculo de R en todo
momento
mx indca que cada entidad de E debe participar en
como mucho mx instancias de vnculo de R en
todo momento
0<=mn<=mx y mx>=1
mn=0 indca participacin parcial
mn>0 indca participacin total
Esta notacin es ms precisa y se puede usar para
especificar restricciones estructurales para tipos de
vnculo de cualquier grado

A. Jaime 2003 FBD Tema 2 27


Nombres apropiados para los elementos
del esquema ER

Tipos de entidad: nombres en singular


Tipos de vnculo: verbos
Atributos: tambin son sustantivos

Tipos de entidad: en mayscula


Tipos de vnculo: en mayscula
Atributos : primera letra en mayscula
Roles : en minscula

Tipos de vnculo: ordenado de izda a dcha (o de


arriba hacia abajo) de manera que se pueda leer
(por ejemplo FAMILIAR - FAMILIARES_DE -
EMPLEADO)

A. Jaime 2003 FBD Tema 2 28


Elecciones de diseo

Un atributo se puede refinar en tipo de vnculo


por ser una referencia a un tipo de entidad
B A B A AB B

Tambin en caso de dos atributos, inverso el uno


del otro se refinan en el mismo tipo de vnculo
binario
B A A B A AB B

Un atributo que est en varios tipos de entidad


puede refinarse en un tipo de entidad
independiente (con un solo atributo)
Ms adelante podran descubrirse nuevos atributos
para ese tipo de entidad
Z A A B C

Z B
AZ BZ CZ
Z C
Z Z

Lo inverso a lo anterior tambin es posible, cuando


hay un tipo de entidad con un solo atributo, que est
relacionado con un solo tipo de entidad
Z Z ZB B Z B

A. Jaime 2003 FBD Tema 2 29


Tipos de vnculo (o tipos de relacin) con
grado mayor que 2

En general el grado de un tipo de vnculo puede ser


cualquiera:

E2

E1

E3
En R

... E4

Ejemplo de tipo de vnculo ternario. Relaciona tros


de entidades. Por ejemplo (sum1, proy1, comp1) y
(sum1, proy2, comp4)

Apellido Cantidad NombreProyecto

SUMINISTRADOR SUMINISTRA PROYECTO

NmComponente COMPONENTE

A. Jaime 2003 FBD Tema 2 30


Tipos de vnculos ternarios

Un tipo de vnculos ternario no representa lo mismo


que tres binarios:
Apellido NombreProyecto

M N
SUMINISTRADOR SUMINISTRA PROYECTO
M M

PUEDE_ N N
COMPONENTE UTILIZA
SUMINISTRAR

NmComponente

Apellido Cantidad NombreProyecto

SUMINISTRADOR SUMINISTRA PROYECTO

NmComponente COMPONENTE

Ejemplo: Para los suministradores s1 y s2, los componentes c1 y c2 y los pro-


yectos p1 y p2, obtener los tros de SUMINISTRA y los pares de las
c
relaciones binarias en los siguientes casos, donde s prepresenta
que el suministrador s suministra el componente c al proyecto p

c1 c2
s1 p1 s1 p1
c2 c1
c2 c1
s2 c1 p2 s2 c2 p2

A. Jaime 2003 FBD Tema 2 31


Tipos de vnculo ternarios (2)

Si slo tenemos vnculos binarios la representacin


de un tipo de vnculo ternario se hace del siguiente
modo:

Apellido Cantidad NombreProyecto

1 N N SP 1
SUMINISTRADOR SS SUMINISTRA PROYECTO
N

SC Sin clave
parcial
1
NmComponente COMPONENTE

(algunas herramientas de diseo de BD slo


admiten tipos de vnculo binarios)

El tipo de entidades dbil SUMINISTRA no tiene


clave parcial
Una entidad de SUMINISTRA se identifica mediante
la combinacin de las 3 entidades propietarias de
SUMINISTRADOR, COMPONENTE y PROYECTO

A. Jaime 2003 FBD Tema 2 32


Tipos de vnculo ternarios (3)

Semestre
NombreP SemestreAo
IMPARTI_
DURANTE Ao

PROFESOR SEMESTRE
OFRECE

PUEDE_ OFRECIDO_
IMPARTIR CURSO DURANTE

NmeroC

OFRECE (grado3): el profesor p ofrece el curso c


durante el semestre s
PUEDE_IMPARTIR : el curso c pueden impartirlo los
profesores p1, p3, p4, ...
IMPARTI_DURANTE : durante el semestre s
impartieron clase los profesores p1, p3, p4, ...
OFRECIDO_DURANTE : en el semestre s se ofrecieron
los cursos c1, c2, c3, ...

Restricciones necesarias:
Ej. si existe (p1,c1,s1) en OFRECE, deben existir:
(p1,c1) en PUEDE_IMPARTIR
(p1,s1) en IMPARTI_DURANTE
(s1,c1) en OFRECIDO_DURANTE

A. Jaime 2003 FBD Tema 2 33


Tipos de vnculo ternarios (4)

Sin embargo si existen (p1,c1), (p1,s1) y (s1,c1)


No tiene por qu existir (p1,c1,s1) en OFRECE

Por ejemplo cuando sucede (p1,c1,s2), (p1,c2,s1),


(p2,c1,s1) y no sucede (p1,c1,s1)

Ahora incorporamos restricciones adicionales:


Semestre
NombreP SemestreAo
IMPARTI_
DURANTE Ao

PROFESOR SEMESTRE
OFRECE
1

PUEDE_
1 OFRECIDO_
IMPARTIR CURSO DURANTE

NmeroC

Cuando un profesor puede impartir un nico curso


las dos relaciones binarias (IMPARTI_DURANTE y
PUEDE_IMPARTIR ) son equivalentes a la ternaria
(OFRECE)
En ese caso es preferible quedarse con las
relaciones binarias y olvidarse de la ternaria

A. Jaime 2003 FBD Tema 2 34


Tipo de entidad dbil con tipo de vnculo
identificador ternario

Nombre NombreE

CANDIDATO CEE EMPRESA

Departamento
ENTREVISTA Dep_Fecha
Fecha

DA_LUGAR_A

OFERTA_TRABAJO

En este caso el tipo de entidad dbil ENTREVISTA


tiene varios tipos de entidad propietarios
(CANDIDATO y EMPRESA)

A. Jaime 2003 FBD Tema 2 35


Restricciones estructurales en tipos de
vnculo de grado mayor que dos

Las dos notaciones estudiadas especifican diferentes


restricciones.
Cuando sea importante especificar completamente
las restricciones estructurales se usarn ambas
Veamos las diferencias en los ejemplos:
Apellido Cantidad NombreProyecto

1 N
SUMINISTRADOR SUMINISTRA PROYECTO

Especifica que la combinacin M


(p, c) puede aparecer slo una COMPONENTE NmComponente
vez en SUMINISTRA
relacionada con un nico s

En el caso anterior (p,c) sera una clave del tipo de


vnculos SUMINISTRA
Con la notacin (mn, max) no se puede expresar esa
idea de clave (aunque si determina claves en
vnculos binarios).
Especifican un tipo diferente de restriccin:

Apellido Cantidad NombreProyecto

(0,N) (0,N)
SUMINISTRADOR SUMINISTRA PROYECTO

(0,N)

COMPONENTE NmComponente

A. Jaime 2003 FBD Tema 2 36


Camiones

Ejemplo de diseo:
CAMIONES
Partiendo de los requisitos de datos siguientes dise-
a el diagrama ER. Haz las suposiciones que creas
convenientes, dejando constancia escrita de ellas.

La compaa de transportes CAMIONES recoge pedi-


dos de los almacenes de la cadena VELZQUEZ Hnos.
y las entrega a las tiendas de la misma cadena. De mo-
mento hay 6 almacenes y 45 tiendas. Cada tienda tiene
su propio nombre, y conocemos tambin su direccin y
telfono. Cada almacn tiene un nmero diferente ade-
ms de la direccin y telfono. Un camin puede trans-
portar varios pedidos en el mismo viaje y entregar cada
pedido a la tienda que lo solicit. Cada viaje se identifica
por un nmero. Cada pedido se identifica por un nme-
ro e incluye datos sobre peso, volumen y tienda de desti-
no. Cada camin tiene el nmero de matrcula y su pro-
pio lmite mximo de volumen y peso transportado. La
flota de la compaa CAMIONES consta de 150 veh-
culos y cada uno realiza entre 3 y 4 viajes semanales.
Deseamos contar con una BD para uso comn entre las
dos empresas, que sirva para:
Controlar el uso de los camiones (fechas).
Controlar las entregas (pedidos entregados)
Que ayude a programar los viajes (conocer los
pedidos hechos, de qu almacn a qu tiendas y los
viajes asignados a camiones)

A. Jaime 2003 FBD Tema 2 37


Diseo de CAMIONES (1)

Entender los pasos como gua de diseo


No son estrictos ni hay por qu darlos en ese orden

1) Identificar t. de entidad, atributos y claves:

Nmero Peso Volumen Viaje

Tienda
Nmero PEDIDO
Almacn
Direccin
ALMACN
Tfno Nombre

Direccin
TIENDA
Matrcula
Tfno
PesoMax CAMIN
Nmero
VolumenMax
Fecha
VIAJE
Camin

Almacn

Suposiciones:
Un pedido se toma completo de un almacn y se
entrega tambin completo a una sola tienda.
En un viaje interviene solo un camin, toma varios
pedidos de un almacn y los entrega a una o varias
tiendas.

A. Jaime 2003 FBD Tema 2 38


Diseo de CAMIONES (2 y 3)
2) Identificar vnculos implcitos:
Nmero Peso Volumen Viaje

Tienda
Nmero PEDIDO
Almacn
Direccin
ALMACN
Tfno Nombre

Direccin
TIENDA
Matrcula
Tfno
PesoMax CAMIN
Nmero
VolumenMax
Fecha
VIAJE
Camin

Almacn

3) Transformar vnculos implcitos en tipos de


vnculo:
Almacn PEDIDO SOLICITADO ALMACN

Tienda PEDIDO A_ENTREGAR TIENDA

Camin VIAJE REALIZADO_POR CAMIN

Viaje PEDIDO TRANSPORTADO VIAJE

Almacn VIAJE RECOGE ALMACN

A. Jaime 2003 FBD Tema 2 39


Diseo de CAMIONES (4)

4) Establecer las restricciones de participacin y


cardinalidad a los t. de vnculo

Matrcula

PesoMax CAMIN
(0,N)
VolumenMax
REALIZA
(1,1)
(1,1) Nmero
VIAJE
(1,N) Fecha

RECOGE TRANSPORTA
Nmero
(0,1)
Peso
(0,N) PEDIDO
Volumen
(1,1) (1,1)
SOLICITADO A_ENTREGAR

(0,N) (0,N)

ALMACN TIENDA Nombre

Direccin
Nmero Tfno Direccin
Tfno

Suposiciones:
Los pedidos se introducen antes de organizar el viaje.
En base a los datos de pedidos y ocupacin de
camiones el programa de aplicacin puede organizar
los viajes.

A. Jaime 2003 FBD Tema 2 40


Diseo de CAMIONES (5 a 8)

5) Considerar atributos de vnculo:


Matrcula
En este caso se puede
PesoMax CAMIN dejar en VIAJE
(0,N)
VolumenMax
REALIZA Fecha
(1,1)

VIAJE Nmero

6) Considerar tipos de entidad dbiles, su vnculo


identificador y su clave parcial.
7) Considerar el inters de convertir algn tipo de
entidad en tipo de vnculo y hacer que sus
atributos sean los del tipo de vnculo (como pasa
con INFORME_NOTA en el ejercicio 3.16).
8) Considerar el inters de tipos de vnculo de grado
mayor que 2.
9) Considerar el inters de convertir un atributo
que aparece en varios tipos de entidad en tipo de
entidad independiente o lo contrario (un tipo de
entidad con un solo atributo que se relaciona con
un nico tipo de entidad convertirlo en atributo)
10) Considerar el inters de tener representado un
tipo de vnculo mediante vnculos implcitos (en
una sola direccin o en ambas)

A. Jaime 2003 FBD Tema 2 41


Ejercicios

A. Jaime 2003 FBD Tema 2 42


Ejercicio 1

Completa los esquemas ER:

Una editorial publica varios libros o ninguno. Un


libro es publicado por una sola editorial:

EDITORIAL PUBLICA LIBRO

Un autor puede escribir varios documentos. Un


documento puede tener varios autores.

AUTOR ESCRIBE DOCUMENTO

Un tema puede estar dividido en subtemas. Un


subtema puede dividirse en subsubtemas, etc. Un
subtema pertenece a un slo tema.

TEMA CONSTA

A. Jaime 2003 FBD Tema 2 43


Ejercicio 2

Completa los esquemas ER:

Una editorial publica varios libros o ninguno. Un


libro es publicado por una sola editorial. Un lector
puede tomar prestados varios libros. Cada entidad
libro representa a todos los ejemplares del mismo.

EDITORIAL PUBLICAN

LIBRO

LECTOR TIENE

Qu cambia si un mismo libro es publicado por


varias editoriales. Se desea saber la editorial de
cualquier libro prestado a un lector.

A. Jaime 2003 FBD Tema 2 44


Ejercicio 3

Completa el esquema ER:


En un pedido se pueden solicitar varios artculos. Interesa
conocer la cantidad solicitada (CantSolicitada) de cada artculo
en un pedido.
Cada artculo tiene un precio unitario (PrecioU). Se almacena
informacin que permite cobrar cada artculo de un pedido de
forma diferente segn quien sea el cliente y como sea el
pedido (PrecioC).
Un pedido se puede entregar en varios envos parciales. Esto
produce varias facturas por pedido. Se desea guardar el n de
unidades de un artculo (UnidadesEnv) recogidas en cada
factura. Tambin se desea conservar el n de unidades de cada
artculo que faltan por enviar en cada pedido (UnidadesPend).
Hay que tener en cuenta que tanto un pedido como una factura
pueden incluir diferentes artculos.

DNI NPed
1 N
CLIENTE C-P PEDIDO

P-A

1 N
N
F-P
FACTURA ARTICULO
M F-A NArt
N
NFac

A. Jaime 2003 FBD Tema 2 45


Ejercicio 4
PEDIDO
N_Pedido Cliente Direccin Ciudad
25 A. lvarez S. Martn 50 Donostia
33 J. Mugica Roteta 20 Donostia

LNEA
Lnea N_Pedido Artculo Cantidad Tienda Formato
1 25 B5 100 1 Lujo
2 25 B5 100 1 Normal
1 33 B3 4 1 Normal

Un pedido (como el 25) puede constar de varias lneas.


Adems un pedido puede incluir varias lneas del mismo
artculo. Esto sucede, por ejemplo, cuando se solicitan
unidades de un artculo con diferente formato (ej. unidades en
formato Lujo y otras Normal, como con el artculo B5 del
pedido 25)
Un cliente puede tener ms de una tienda.

De acuerdo con lo anterior, completa el siguiente esquema ER


(atributos, claves, tipos de entidad dbil, tipos de vnculo):

N_Pedido Lnea
(1,N) (1,1)
PEDIDO CONSTA LNEA
(1,1)
(1,1)
SOLICITADO

N_Cliente (0,N) PERTENECE

Direccin CLIENTE (0,N)


(1,N) ARTCULO
Ciudad
TIENE

(1,1)
Direccin
TIENDA
N_Tienda

A. Jaime 2003 FBD Tema 2 46


Ejercicio: Universidad
(3.16 Elmasri/Navathe 02)

A. Jaime 2003 FBD Tema 2 47


Ejercicio: BUQUES

Se quieren registrar las visitas a puertos realizadas por


los buques. Partiendo de los requisitos de datos
siguientes, disea el diagrama ER:
Cada buque se identifica con su nombre. Adems
interesa almacenar el nombre del dueo, qu tipo de
buque es y la historia de movimientos realizados.
Cada tipo de buque consta de un cdigo nico. Se
desea guardar tambin el tonelaje y el material del
casco. Puede haber varios buques del mismo tipo.
Por cada movimiento realizado por un buque se guarda
la longitud y latitud, y una marca temporal formada por
una fecha y una hora.
Cada buque est adscrito a un puerto, desde el que
inicia todas sus visitas. Cada puerto tiene un nombre,
una descripcin, el pas al que pertenece y el mar
donde se ubica. En ningn pas puede haber 2 puertos
de igual nombre. Sin embargo hay puertos con el
mismo nombre correspondientes a pases distintos.
Se guarda el nombre y continente de cada pas y el
nombre y profundidad media de cada mar. En ambos
casos, el nombre identifica unvocamente al pas y mar
respectivamente.
Por cada visita de un buque a un puerto interesa
guardar la fecha en la que arrib al puerto (fecha de
inicio) y la fecha de partida (fecha fin). Un buque
puede visitar muchas veces el mismo puerto. Si un
buque entra al mismo puerto varias veces el mismo da
slo se almacena la ltima visita del da.
A. Jaime 2003 FBD Tema 2 48
Camiones

Ejercicios: variantes de CAMIONES

Partiendo de los requisitos de datos presentados


anteriormente, considera las siguientes variantes al
problema:

A) Un pedido se compone de varios artculos. Cada


artculo se identifica por su nmero y contiene su
descripcin. Un mismo artculo puede figurar en
varios pedidos. Interesa guardar las unidades de un
artculo en un pedido. Todos los artculos de un
pedido provienen de un almacn y se entregan a
una tienda.

B) Considera el mismo caso del apartado anterior, pero


donde los artculos de un pedido pueden ir a
distintas tiendas. Interesa distinguir cuntas
unidades de cada artculo de un pedido se entregan
a cada tienda.

C) Considera la misma situacin del apartado B, pero


donde un pedido puede no entrar en el mismo
camin y entonces sus artculos se reparten en
distintos viajes.
Por ejemplo para el artculo 1 del pedido 1, dos
unidades pueden entrar en un viaje y otras 3
unidades deben ir en otro.

A. Jaime 2003 FBD Tema 2 49


Camiones

Ejercicios: variantes de CAMIONES (2)

D) Considera la misma situacin del apartado A, pero


ahora se desea guardar la informacin de las lneas
de detalle de cada pedido. Una lnea de detalle
consta de un nmero (distinto por cada lnea de un
mismo pedido), cdigo de artculo y unidades. Una
lnea de detalle corresponde a un nico pedido

E) Un artculo puede ser de diferentes colores. As en


un pedido queremos incluir la informacin del color
de los artculos. Plantea las modificaciones
pertinentes sobre la solucin al apartado D.

F) Considera la misma situacin del apartado B pero


incluyendo la informacin de lneas de detalle.

G) Reconsidera la situacin inicial (previa al apartado


A) si un viaje se identifica en lugar de con un
nmero, por camin, la fecha y un nmero de
orden en esa fecha (1 significa el primer viaje de
ese da, 2 el segundo viaje, ...)

A. Jaime 2003 FBD Tema 2 50


Ejercicio: Biblioteca municipal
Una biblioteca almacena informacin de los libros que
toman en prstamo sus lectores. Por cada libro se guarda un
identificador nico, el ttulo y el nombre, direccin y
telfono de su editorial.
La biblioteca dispone de varios locales a los que llama
sucursales. La BD que debemos disear contiene
informacin a compartir por todas ellas.
Se dispone de una o varias copias de cada libro, que se
encuentran distribuidas por las sucursales. Les interesa saber
por cada libro el nmero de copias asignadas a cada
sucursal, y el identificador y nombre nicos de la sucursal
junto a la direccin de la sucursal.
Un ejemplar de un libro se puede encontrar en un momento
determinado fsicamente en la sucursal a la que est
asignado o bien puede estar prestado a un lector. De ste
ltimo sabemos cul es el nmero de su tarjeta (no hay dos
lectores con el mismo nmero de tarjeta), sabemos su
nombre, direccin y telfono.
Van guardando qu libros ha tomado prestado cada lector,
de qu sucursal lo ha tomado y la fecha de prstamo y
devolucin de la ltima vez que tom prestado el libro de la
sucursal.
Como tambin suelen hacer consultas por autores, quieren
almacenar los autores de cada libro. Ocurre que hay autores
diferentes que se llaman igual, as que han decidido
distinguir a dos autores con el mismo nombre por el libro del
que son autores, de manera que no puede haber dos autores
con el mismo nombre que hayan escrito el mismo libro
(distinguiendo a los libros por su identificador nico)
A. Jaime 2003 FBD Tema 2 51
Junio 01
Un restaurante de comida rpida sirve pedidos en el local. Cada pedido puede
incluir uno o varios artculos y productos especiales. Un artculo lleva uno o
varios ingredientes. Los productos especiales son ofertas del restaurante,
aparte de llevar los ingredientes del artculo sobre el que se basa, lleva uno o
varios ingredientes adicionales.
Precio NomIngr Suministrador
(0,N) (0,N)
NomArt LLEVA INGREDIENTE LLEVA
(1,N) (1,N)
Tipo NomPrd
(0,N) (1,1) PRODUCTO
Precio ARTCULO BASE DE
ESPECIAL
Tamao
(0,N) (0,N)
Cantidad (0,N) (0,N) Cantidad
INCLUIDO PEDIDO INCLUIDO
Hora
Nmero pedido
Fecha Hora
servido
El restaurante, adems de atender pedidos en el local, quiere ofrecer un
nuevo servicio de envo de pedidos a domicilio. Para dichos pedidos
interesa guardar la direccin y el telfono de contacto del solicitante del
pedido. Se aceptan anulaciones de pedidos, pero la informacin de un
domicilio se guardar aunque se haya anulado el pedido solicitado. Qu
cambiaras en el esquema E/R (aadir/eliminar/modificar) para incluir la
informacin relativa a domicilios?
Como se desprende del esquema E/R anterior, cada artculo lleva uno o
ms ingredientes y un ingrediente puede estar en ms de un artculo.
Ahora nos plantean la siguiente situacin:
En el restaurante hay ingredientes que pueden sustituirse por otros.
Por ejemplo en ocasiones la lechuga se sustituye bien por cogollos o
bien por escarola.
Puede coincidir que dos ingredientes distintos se sustituyan por el
mismo ingrediente. Por ejemplo los espaguetis y los macarrones
suelen sustituirse por tallarines.
Sin embargo las sustituciones no son generales, sino que se aplican
de forma diferente para cada artculo. Por ejemplo, en las pizzas los
championes se sustituyen por setas o por hongos, mientras que en
las ensaladas se sustituyen por maz o por hongos.
Qu cambiaras en el esquema E/R (aadir/eliminar/modificar) para
incluir la informacin relativa a sustitucin de ingredientes?
A. Jaime 2003 FBD Tema 2 52
Septiembre 01

Disea un esquema E/R que recoja la siguiente


informacin sobre un festival de cine:

Un festival de cine almacena informacin de los


premios concedidos a lo largo de los aos, de las
pelculas participantes y de las personas que han
intervenido en las pelculas como productor,
director y como actor. Para cada premio interesa
saber la categora y ao del mismo (mejor actriz 98,
mejor director 2000, etc.), el dinero en euros, a qu
persona o personas les corresponde y la pelcula
(nica) a la que est asociado. A cada pelcula se le
asocia un cdigo y se guarda el ttulo y el gnero
(western, terror, etc.) al que pertenece. Para cada
persona se guarda su nombre, sexo, nacionalidad,
en qu pelcula o pelculas ha participado como
actor, como director y como productor. Una
pelcula puede tener varios productores, varios
directores y varios actores. El jurado del festival
puede decidir no conceder un premio a ningn
participante (declararlo desierto).

A. Jaime 2003 FBD Tema 2 53


Junio 02
Disea un esquema E/R que recoja la siguiente informacin
sobre el mundial de ftbol Corea-Japn 2002. En esta BD
iremos almacenando informacin sobre los equipos
participantes y sus jugadores, el resultado obtenido en cada
partido, los controles antidopaje a los que se han sometido los
jugadores, y por ltimo, los hoteles en los que se aloja cada
equipo.
Para cada equipo interesa guardar el cdigo con el cual se
identifica, el nombre del pas, el nmero total de goles
marcados hasta el momento en el mundial y la camiseta que
viste.
Para cada partido jugado entre dos equipos se almacena la fecha en
la que se jug, el resultado (0-0, 2-0, 0-1, ...) y los rbitros que
dirigieron el partido (incluidos jueces de lnea, etc.). Dos
equipos pueden jugar entre s ms de una vez si van superando
las eliminatorias.
Para cada jugador de cada equipo, se guarda su nmero de DNI
(que incluye el cdigo del pas), nombre, fecha de nacimiento,
los clubes a los que ha pertenecido dicho jugador durante el
ltimo ao y el nmero de goles marcados en el mundial.
Cuando finaliza el mundial todo jugador ha debido pasar por un
control antidopaje obligatorio. Adems, los jugadores pueden
ser requeridos para realizar uno o ms controles adicionales. En
cada control se registra la fecha y el lugar en el que se realiz.
Por cuestiones de organizacin se desea guardar informacin sobre
los hoteles en los que se aloja cada equipo. Los equipos jugarn
los partidos en diferentes sedes, por lo que se alojarn en
distintos hoteles. En un mismo hotel slo se alojar un nico
equipo en todo el mundial. En la BD cada hotel se identifica
mediante un cdigo, y adems tiene un nombre, una direccin y
un telfono. Cada equipo reserva un nmero concreto de
habitaciones en cada hotel. Este ltimo dato tambin figurar en
la BD.
A. Jaime 2003 FBD Tema 2 54
Septiembre 02
Las facultades y escuelas de la UPV/EHU (en adelante centros)
desean ofrecer a sus alumnos un servicio de autobuses para
trasladarlos desde el pueblo donde residen a su centro de estudios.
Para gestionarlo nos piden que diseemos un esquema E/R que
recoja la siguiente informacin:
Para cada centro de la universidad que ofrece este servicio se
desea guardar el cdigo que lo identifica, su nombre, su direccin
y cules son los autobuses que ha contratado.
Para cada alumno universitario que usa el servicio de autobuses se
almacena su DNI (a los extranjeros la universidad les asigna un
DNI propio diferente a cualquier otro DNI existente), su nombre,
los identificadores de los cursos en los que est matriculado (por
ejemplo: 1 de ITIS y 2 de ITIS), el pueblo (nico) donde
reside y el centro (nico) en el que est matriculado. Adems
figura para cada alumno en qu autobuses puede viajar y para
cada uno de ellos en qu fecha realiz la inscripcin.
Para cada autobs contratado se dispondr de su matrcula,
nmero de asientos, nombre de la compaa (hay autobuses que
no pertenecen a ninguna compaa) y las paradas que realiza para
recoger y dejar a los alumnos que lo utilizan. Adems, como cada
centro de la universidad contrata autobuses de forma exclusiva (un
mismo centro puede contratar varios autobuses), para cada
autobs se dispondr del centro (nico) que lo contrat.
De cada pueblo incluido en el servicio de autobuses se tiene su
cdigo identificativo, nombre, provincia y las paradas que realizan
los diferentes autobuses en el mismo (puede haber ms de una).
Por cada parada del pueblo se almacena la calle en la que est
situada. Una misma parada puede ser utilizada por ms de un
autobs. Distintos pueblos pueden tener calles con el mismo
nombre.
NO AADIR al esquema E/R INFORMACIN QUE NO SE
HAYA MENCIONADO (como nuevos atributos, vnculos...)

A. Jaime 2003 FBD Tema 2 55

También podría gustarte