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

Fases del diseo de BD


Minimundo

I
n
d
e
p
e
n
d
i
e
n
t
e

OBTENCIN
Y ANLISIS
DE REQUISITOS
Requisitos funcionales

Requisitos de la BD

ANLISIS
FUNCIONAL

DISEO
CONCEPTUAL

d
e
l
S
G
B
D

E
s
p
e
c c
a
f d
i a
c
oS
G
dB
e D

Especificacin
transacciones

Esquema conceptual (ER)


DISEO LGICO
(Transformacin del
modelo de datos)

DISEO DE
PROGRAMAS
DE APLICACIN

Esquema lgico (ej. relacional)


DISEO
FSICO

IMPLEMENTACIN
DE TRANSACCIONES

Esquema interno

Programas de aplicacin

A. Jaime 2003

FBD Tema 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

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

Esquema ER
para la BD Empresa

Nombre
Sexo

FAMILIAR

FechaNacimiento

Parentesco

FAMILIARES_DE
1

NombreP

Iniciales

Apellido

Nombre
Nss

Sexo

Direccin

Salario
supervisor

FechaNacimiento

EMPLEADO
N

TRABAJA_PARA

DIRIGE

SUPERVISIN
supervisado

FechaInic

DEPARTAMENTO
N

Nombre
Nmero
Localizaciones
NmeroDeEmpleados

Horas

TRABAJA_EN
M

CONTROLA
N

PROYECTO

A. Jaime 2003

FBD Tema 2

Nombre
Nmero
Localizacin

Conceptos del modelo ER


Los datos se describen como:
Entidades
Atributos
Vnculos (o relaciones)

Otros conceptos:
Atributo simple,
compuesto, mono y
multivaluado,
almacenado y
derivado
Valor nulo
Atributo complejo
Tipo de entidad
Conjunto de entidades
Atributo clave
Dominio
Tipo de vnculo (o
relacin)

A. Jaime 2003

Grado de tipo de
vnculo
Vnculo (o relacin)
como atributo
Rol
Restricciones de
cardinalidad y de
participacin
Atributos de tipo de
vnculo
Tipo de entidad dbil
Clave parcial
Tipo de vnculo
ternario

FBD Tema 2

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

Entidad 1

A. Jaime 2003

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

FBD Tema 2

Tipos de atributos. Valores nulos

DNI
Simple (o atmico):
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:
Derivado:

FechaN
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

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

Tipos de entidad en la BD Empresa


Diseo inicial extraido de los requisitos:
Nombre
Nmero

El libro le
llama
Gerente

Localizaciones
Director

DEPARTAMENTO
Fecha_Inicio_Director
Nombre
Nmero
Localizacin
DepartamentoControlador

PROYECTO

NombreP

Iniciales

Apellido

Nombre
Departamento
Supervisor

FechaNacimiento

Nss

Sexo

Direccin

Salario

EMPLEADO

TrabajaEn

Empleado

FAMILIAR
Parentesco FechaNacimiento

A. Jaime 2003

NombreFamiliar
Sexo

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

Departamento
Supervisor
Proyecto

Nss

Sexo

Direccin

Salario

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
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
EMPLEADO

TRABAJA_PARA

DEPARTAMENTO

En el ejemplo anterior (TRABAJA_PARA), con el


atributo Departamento en EMPLEADO (contiene el
departamento del empleado):
EMPLEADO

Departamento

Contiene una
referencia a la
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

EMPLEADO

TRABAJA_PARA

Trabajador o
empleado

DEPARTAMENTO

Patrn o
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
1

SUPERVISIN

supervisado

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
EMPLEADO

TRABAJA_PARA

DEPARTAMENTO

Parcial: algunos empleados dirigen un


departamento (otros no)
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:
EMPLEADO

TRABAJA_EN

PROYECTO

Horas

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:

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:

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):

EMPLEADO

TRABAJA_EN

PROYECTO

Horas

A. Jaime 2003

FBD Tema 2

18

Tipo de entidad vs. Entidad


Tipo de vnculo vs. Vnculo
Cdigo

Ttulo
M

LIBRO

DNI

PRESTADO

Nombre

Tipos de entidad
y
Tipo de vnculo

LECTOR
Cada uno es una
intensin, es
decir, representa
a un conjunto de
informacin

NCopias

LIBRO

LECTOR

Tolk-1

El Sr. de los Anillos

11

Joseba

Orw-1

1984

22

Miren

Shar-1

Wilt

Conjuntos de
entidades
representadas
(extensiones).
Cada lnea es
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
Tolk-1

11

Tolk-1

22

Orw-1

11

Shar-1

22

Conjunto de
vnculos
representados
(extensin).
Cada lnea es
un vnculo

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

FAMILIAR

FAMILIARES_DE

NombreFamiliar

EMPLEADO

FechaNacimiento

Tipo de entidad
dbil

Tipo de vnculo
identificador

Nss

...

Tipo de entidad
propietario o
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:
PERSONA

TIENE

DNI

PERMISO_CONDUCIR
NmLicencia

Es clave

A. Jaime 2003

FBD Tema 2

20

Tipo de entidad dbil (2)


Parentesco

FechaNacimiento

FAMILIAR

Sexo
N

FAMILIARES_DE

NombreFamiliar

EMPLEADO

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

EMPLEADO

Familiares
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

EMPLEADO

DIRIGE

DEPARTAMENTO

FechaInicio
Gerente
Fecha_Inicio_Gerente

EMPLEADO

TRABAJA_PARA

DEPARTAMENTO

Departamento

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

EMPLEADO

SUPERVISIN

TRABAJA_EN

PROYECTO

Horas

Proyecto
TrabajaEn
Horas

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)

E1

1
E1

E2

PARTICIPACIN TOTAL
DE E2 EN R

E2

RAZN DE CARDINALIDAD 1:N


PARA E1:E2 EN R

RESTRICCIN ESTRUCTURAL
(min, max)
EN LA PARTICIPACIN DE E EN r

N
R

(min, max)
R

A. Jaime 2003

FBD Tema 2

26

Restricciones estructurales
notacin alternativa

EMPLEADO

EMPLEADO

(1,1)

TRABAJA_PARA

TRABAJA_PARA

(1,N)

DEPARTAMENTO

DEPARTAMENTO

(mn, mx)
R

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

AB

Tambin en caso de dos atributos, inverso el uno


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

AB

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

AZ

BZ

CZ

C
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

A. Jaime 2003

ZB

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

...

E4

Ejemplo de tipo de vnculo ternario. Relaciona tros


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

Apellido

SUMINISTRADOR

NmComponente

A. Jaime 2003

Cantidad

SUMINISTRA

NombreProyecto

PROYECTO

COMPONENTE

FBD Tema 2

30

Tipos de vnculos ternarios


Un tipo de vnculos ternario no representa lo mismo
que tres binarios:
Apellido

NombreProyecto
M

SUMINISTRADOR

PROYECTO

SUMINISTRA

M
N

PUEDE_
SUMINISTRAR

COMPONENTE

UTILIZA

NmComponente

Apellido

Cantidad

SUMINISTRADOR

NmComponente

NombreProyecto

SUMINISTRA

PROYECTO

COMPONENTE

Ejemplo: Para los suministradores s1 y s2, los componentes c1 y c2 y los proyectos 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

s1

s2

A. Jaime 2003

p1

c2

s1

c2

c1

c2

c1

c1

p2

s2

FBD Tema 2

c2

p1

p2

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

SUMINISTRADOR

Cantidad
1

SS

SUMINISTRA

NombreProyecto
N SP

PROYECTO

N
SC

1
NmComponente

Sin clave
parcial

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

IMPARTI_
DURANTE

PROFESOR

SemestreAo
Ao

SEMESTRE
OFRECE

PUEDE_
IMPARTIR

CURSO

OFRECIDO_
DURANTE

NmeroC

(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, ...
OFRECE

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

IMPARTI_
DURANTE

PROFESOR

Ao

SEMESTRE
OFRECE

1
PUEDE_
IMPARTIR

SemestreAo

1
CURSO

OFRECIDO_
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
CANDIDATO

NombreE
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

SUMINISTRADOR

NombreProyecto
N

SUMINISTRA

Especifica que la combinacin


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

PROYECTO

M
NmComponente

COMPONENTE

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

SUMINISTRADOR

Cantidad
(0,N)

SUMINISTRA

NombreProyecto
(0,N)

PROYECTO

(0,N)
COMPONENTE

A. Jaime 2003

FBD Tema 2

NmComponente

36

Ejemplo de diseo:
CAMIONES

Camiones

Partiendo de los requisitos de datos siguientes disea el diagrama ER. Haz las suposiciones que creas
convenientes, dejando constancia escrita de ellas.
La compaa de transportes CAMIONES recoge pedidos de los almacenes de la cadena VELZQUEZ Hnos.
y las entrega a las tiendas de la misma cadena. De momento 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 adems de la direccin y telfono. Un camin puede transportar 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 nmero e incluye datos sobre peso, volumen y tienda de destino. Cada camin tiene el nmero de matrcula y su propio lmite mximo de volumen y peso transportado. La
flota de la compaa CAMIONES consta de 150 vehculos 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

Nmero

Peso

Volumen

PEDIDO
ALMACN

Tfno

PesoMax

Tienda
Almacn

Direccin

Matrcula

Viaje

TIENDA

Nombre
Direccin
Tfno

CAMIN
Nmero

VolumenMax

VIAJE

Fecha
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

Nmero

Volumen

PEDIDO
ALMACN

Tfno

PesoMax

Tienda
Almacn

Direccin

Matrcula

Viaje

TIENDA

Nombre
Direccin
Tfno

CAMIN
Nmero

VolumenMax

VIAJE

Fecha
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

VIAJE

RECOGE

ALMACN

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

Fecha

(1,N)
RECOGE

TRANSPORTA

Nmero

(0,1)

Peso

PEDIDO

(0,N)

Volumen
(1,1)
SOLICITADO

(1,1)
A_ENTREGAR

(0,N)

ALMACN

(0,N)

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
PesoMax

CAMIN

En este caso se puede


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

A. Jaime 2003

CONSTA

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
CLIENTE

NPed

C-P

PEDIDO
M
P-A
1

F-P

FACTURA

ARTICULO
M

NFac

A. Jaime 2003

F-A

FBD Tema 2

NArt

45

Ejercicio 4
PEDIDO
N_Pedido
25
33
LNEA
Lnea
1
2
1

Cliente
A. lvarez
J. Mugica

N_Pedido
25
25
33

Direccin
S. Martn 50
Roteta 20

Artculo
B5
B5
B3

Ciudad
Donostia
Donostia

Cantidad
100
100
4

Tienda
1
1
1

Formato
Lujo
Normal
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):
Lnea

N_Pedido
PEDIDO

(1,N)

CONSTA

(1,1)

LNEA

(1,1)
(1,1)

SOLICITADO

N_Cliente
Direccin
Ciudad

PERTENECE

(0,N)
CLIENTE

(0,N)

(1,N)

ARTCULO

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
NomArt
Tipo
Precio
Tamao
Cantidad

NomIngr

(0,N)

LLEVA

Suministrador
(0,N)

INGREDIENTE

LLEVA
(1,N)

(1,N)

(0,N)

ARTCULO

BASE DE

(1,1) PRODUCTO

ESPECIAL

(0,N)
INCLUIDO

NomPrd

(0,N)
(0,N)

PEDIDO

Nmero
Fecha

(0,N)

INCLUIDO

Cantidad

Hora
pedido
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