Está en la página 1de 14

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

Fases del diseo de BD


Minimundo

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

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

OBTENCIN Y ANLISIS DE REQUISITOS Requisitos funcionales Requisitos de la BD DISEO CONCEPTUAL Esquema conceptual (ER) DISEO LGICO (Transformacin del modelo de datos) DISEO DE PROGRAMAS DE APLICACIN Esquema lgico (ej. relacional) DISEO FSICO IMPLEMENTACIN DE TRANSACCIONES Programas de aplicacin Esquema interno

d e l S G B D

ANLISIS FUNCIONAL Especificacin transacciones

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

A. Jaime 2003

FBD Tema 2

A. Jaime 2003

FBD Tema 2

Esquema conceptual
Descripcin concisa de los requisitos de informacin de los usuarios. Contiene descripciones detalladas de: tipos de entidad vnculos (o relaciones) restricciones No incluyen detalles de implementacin Pueden servir para comunicarse con usuarios no tcnicos

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

A. Jaime 2003

FBD Tema 2

Esquema ER para la BD Empresa

Conceptos del modelo ER Los datos se describen como:


Entidades Atributos Vnculos (o relaciones)

Nombre

FAMILIAR
N

Sexo FechaNacimiento Parentesco

FAMILIARES_DE
1 NombreP Iniciales Apellido

Nombre Nss FechaNacimiento Sexo Direccin Salario


supervisor

Otros conceptos:
1

EMPLEADO
N 1

SUPERVISIN
supervisado

TRABAJA_PARA
1

DIRIGE
1

FechaInic

DEPARTAMENTO
N Horas 1

Nombre Nmero Localizaciones NmeroDeEmpleados

TRABAJA_EN
M

CONTROLA
N Nombre Nmero Localizacin

PROYECTO

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)

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

A. Jaime 2003

FBD Tema 2

A. Jaime 2003

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, ...)

Tipos de atributos. Valores nulos


DNI Simple (o atmico): NomPila Compuesto: Nombre Apellido1 Apellido1 pueden formar una jerarqua 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

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, Houston, Texas 77001 Edad=55 Telfono=713-749-2630

(calculado a partir de la fecha de nacimiento FechaN

Entidad 1

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

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.
FBD Tema 2 9

Tipos de entidad en la BD Empresa


Diseo inicial extraido de los requisitos:
Nombre Nmero Localizaciones Director Fecha_Inicio_Director Nombre Nmero Localizacin
El libro le llama Gerente

DEPARTAMENTO

PROYECTO

DepartamentoControlador

NombreP Nss

Iniciales Nombre

Apellido

Departamento Supervisor TrabajaEn

FechaNacimiento

Sexo

Direccin

Salario

EMPLEADO

Empleado

FAMILIAR
Parentesco FechaNacimiento Sexo

NombreFamiliar

A. Jaime 2003

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 Nss Iniciales Nombre Departamento Supervisor Proyecto TrabajaEn Horas FechaNacimiento Sexo Direccin Salario Apellido

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

EMPLEADO

Una alternativa:
Nombre Nmero Localizacin

PROYECTO
Empleado Trabajadores Horas

DepartamentoControlador

A. Jaime 2003

FBD Tema 2

11

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
N

Vnculos como atributos


En ocasiones conviene considerar un tipo de vnculo en forma de atributo A sto lo hemos llamado vnculo implcito
EMPLEADO
N

TRABAJA_PARA

DEPARTAMENTO

TRABAJA_PARA

DEPARTAMENTO

En el ejemplo anterior (TRABAJA_PARA), con el atributo Departamento en EMPLEADO (contiene el departamento del empleado):
EMPLEADO

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)

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

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.

Empleados

Si se incluye en ambos sitios, cada uno debera ser el inverso del otro.

A. Jaime 2003

FBD Tema 2

13

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

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
N

EMPLEADO

TRABAJA_PARA

DEPARTAMENTO

Trabajador o empleado

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

TRABAJA_PARA

DEPARTAMENTO

supervisor

SUPERVISIN

supervisado

Parcial: algunos empleados dirigen un departamento (otros no)


EMPLEADO
1

Estos ltimos tipos de vnculo se llaman vnculos recursivos

DIRIGE

DEPARTAMENTO

pero todo departamento es dirigido por un empleado (total)

A. Jaime 2003

FBD Tema 2

15

A. Jaime 2003

FBD Tema 2

16

Atributos de tipo de vnculo


Son atributos asociados al tipo de vnculo:
EMPLEADO
M

Atributos de tipo de vnculo (2)


Con tipos de vnculo 1:N slo se pueden trasladar al t. de entidad del lado N:
EMPLEADO
N

TRABAJA_EN

PROYECTO TRABAJA_PARA
1

DEPARTAMENTO

Horas

FechaInicio
EMPLEADO
1

DIRIGE

DEPARTAMENTO

Cada empleado empieza en una fecha distinta, luego no podemos poner una fecha comn en el departamento

FechaInicio

Con tipos de vnculo 1:1 y 1:N este atributo puede trasladarse a uno de los t. de entidad participantes:

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

TRABAJA_EN

PROYECTO

DIRIGE

DEPARTAMENTO

Horas

FechaInicio

(se poda haber trasladado a DEPARTAMENTO en lugar de a EMPLEADO)

A. Jaime 2003

FBD Tema 2

17

A. Jaime 2003

FBD Tema 2

18

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


Cdigo Ttulo M DNI Nombre

Tipo de entidad dbil


Tipos de entidad y Tipo de vnculo

LIBRO
NCopias

PRESTADO

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

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.
Sexo N 1

Parentesco FechaNacimiento

FAMILIAR LIBRO
Tolk-1 Orw-1 Shar-1 El Sr. de los Anillos 1984 Wilt 3 2 1

FAMILIARES_DE

EMPLEADO
Nss

LECTOR
11 22 Joseba Miren

Conjuntos de entidades representadas (extensiones). Cada lnea es una entidad

NombreFamiliar

FechaNacimiento

...

Tipo de entidad dbil

Tipo de vnculo identificador

Tipo de entidad propietario o identificador

NO puede haber 2 entidades de un tipo de entidades con todos sus atributos iguales, ya en un conjunto no hay elementos repetidos

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 DNI Es clave 1 TIENE 1 PERMISO_CONDUCIR NmLicencia

PRESTADO
Tolk-1 Tolk-1 Orw-1 Shar-1 11 22 11 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

A. Jaime 2003

FBD Tema 2

20

Tipo de entidad dbil (2)


Parentesco FechaNacimiento Sexo N 1

Tipo de entidad dbil (3)


Un tipo de entidad dbil tambin se puede representar en forma de atributo multivaluado complejo:
Parentesco FechaNacimiento Sexo

FAMILIAR
NombreFamiliar

FAMILIARES_DE

EMPLEADO
Nss

FechaNacimiento

... Familiares
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)

...

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

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

A. Jaime 2003

FBD Tema 2

22

Refinamiento del diseo ER para la BD Empresa

Refinamiento del diseo ER para la BD Empresa (2)

EMPLEADO

DIRIGE

DEPARTAMENTO

Supervisor
EMPLEADO

FechaInicio
Gerente Fecha_Inicio_Gerente supervisor
1

SUPERVISIN

supervisado

EMPLEADO

TRABAJA_PARA

EMPLEADO
DEPARTAMENTO

TRABAJA_EN

PROYECTO

Proyecto

Horas
TrabajaEn

Departamento

Horas

DEPARTAMENTO

CONTROLA

PROYECTO

FAMILIAR

FAMILIARES_DE

EMPLEADO

DepartamentoControlador

Empleado

A. Jaime 2003

FBD Tema 2

23

A. Jaime 2003

FBD Tema 2

24

Resumen de notacin para diagramas ER


TIPO DE ENTIDAD

Resumen de notacin para diagramas ER (2)

TIPO DE ENTIDAD DBIL

E1

E2

PARTICIPACIN TOTAL DE E2 EN R

TIPO DE VNCULO 1 N

TIPO DE VNCULO IDENTIFICADOR

E1

E2

RAZN DE CARDINALIDAD 1:N PARA E1:E2 EN R

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

ATRIBUTO CLAVE

ATRIBUTO MULTIVALUADO

...

ATRIBUTO COMPUESTO

ATRIBUTO DERIVADO

ATRIBUTO CLAVE PARCIAL

A. Jaime 2003

FBD Tema 2

25

A. Jaime 2003

FBD Tema 2

26

Restricciones estructurales notacin alternativa


Nombres apropiados para los elementos del esquema ER


Tipos de entidad: nombres en singular Tipos de vnculo: verbos Atributos: tambin son sustantivos

EMPLEADO

TRABAJA_PARA

DEPARTAMENTO

EMPLEADO

(1,1)

TRABAJA_PARA

(1,N)

DEPARTAMENTO

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

(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
FBD Tema 2 27

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

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

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


En general el grado de un tipo de vnculo puede ser cualquiera:

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

E2 E1 En E3

...

E4

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 Z Z A B C Z Z A
AZ

Ejemplo de tipo de vnculo ternario. Relaciona tros de entidades. Por ejemplo (sum1, proy1, comp1) y (sum1, proy2, comp4)

B
BZ

CZ

Apellido SUMINISTRADOR

Cantidad SUMINISTRA

NombreProyecto PROYECTO

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

NmComponente

COMPONENTE

A. Jaime 2003

FBD Tema 2

29

A. Jaime 2003

FBD Tema 2

30

Tipos de vnculo ternarios


Un tipo de vnculos ternario no representa lo mismo que tres binarios:
Apellido SUMINISTRADOR
M
PUEDE_ SUMINISTRAR

Tipos de vnculo ternarios (2)


Si slo tenemos vnculos binarios la representacin de un tipo de vnculo ternario se hace del siguiente modo:
Apellido 1 N Cantidad N 1 NombreProyecto

NombreProyecto
M SUMINISTRA N

PROYECTO
M

COMPONENTE NmComponente

UTILIZA

SUMINISTRADOR

SS

SUMINISTRA N
SC

SP

PROYECTO

1 NmComponente Apellido SUMINISTRADOR Cantidad SUMINISTRA NombreProyecto PROYECTO COMPONENTE

Sin clave parcial

NmComponente

COMPONENTE

(algunas herramientas de diseo de BD slo admiten tipos de vnculo binarios)

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

s1 c2 c2 s2

c1

p1

s1 c1 c1

c2

p1

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

c1

p2

s2

c2

p2

A. Jaime 2003

FBD Tema 2

31

A. Jaime 2003

FBD Tema 2

32

Tipos de vnculo ternarios (3)


Semestre NombreP
IMPARTI_ DURANTE

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)

SemestreAo Ao

PROFESOR
OFRECE

SEMESTRE

PUEDE_ IMPARTIR

CURSO
NmeroC

OFRECIDO_ DURANTE

Ahora incorporamos restricciones adicionales:


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, ...
Semestre NombreP
IMPARTI_ DURANTE

SemestreAo Ao

PROFESOR 1
PUEDE_ IMPARTIR

SEMESTRE
OFRECE

CURSO
NmeroC

OFRECIDO_ DURANTE

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

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

A. Jaime 2003

FBD Tema 2

34

Tipo de entidad dbil con tipo de vnculo identificador ternario

Nombre CANDIDATO CEE NombreE EMPRESA

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 SUMINISTRADOR 1 Cantidad SUMINISTRA M COMPONENTE NmComponente N NombreProyecto PROYECTO

Departamento Fecha

ENTREVISTA

Dep_Fecha

DA_LUGAR_A

OFERTA_TRABAJO

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

En este caso el tipo de entidad dbil ENTREVISTA tiene varios tipos de entidad propietarios (CANDIDATO y EMPRESA)

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 (0,N) Cantidad SUMINISTRA (0,N) COMPONENTE NmComponente (0,N) NombreProyecto PROYECTO

A. Jaime 2003

FBD Tema 2

35

A. Jaime 2003

FBD Tema 2

36

Camiones

Ejemplo de diseo: CAMIONES


Diseo de CAMIONES (1)


Entender los pasos como gua de diseo No son estrictos ni hay por qu darlos en ese orden

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

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


Nmero Peso Volumen Viaje Tienda Almacn

Nmero Direccin Tfno

PEDIDO ALMACN TIENDA CAMIN VIAJE

Nombre Direccin Tfno Nmero Fecha Camin Almacn

Matrcula PesoMax VolumenMax

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

A. Jaime 2003

37

FBD Tema 2

38

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

Diseo de CAMIONES (4)


4) Establecer las restricciones de participacin y cardinalidad a los tipos de vnculo
Matrcula

Nmero Direccin Tfno

PEDIDO ALMACN TIENDA CAMIN VIAJE

Almacn Nombre Direccin Tfno Nmero Fecha Camin Almacn

PesoMax VolumenMax

CAMIN
(0,N) REALIZA (1,1) Nmero Fecha Nmero Peso Volumen A_ENTREGAR (0,N)

Matrcula PesoMax VolumenMax

(1,1)

VIAJE
(1,N) TRANSPORTA (0,1)

RECOGE

(0,N)

PEDIDO
(1,1) SOLICITADO (0,N) (1,1)

3) Transformar vnculos implcitos en tipos de vnculo:


Almacn

PEDIDO PEDIDO VIAJE PEDIDO VIAJE

SOLICITADO

ALMACN
Nmero

ALMACN
Tfno Direccin

TIENDA

Nombre Direccin

Tienda

A_ENTREGAR

TIENDA CAMIN VIAJE ALMACN

Tfno

Camin

REALIZADO_POR

Viaje

TRANSPORTADO

Almacn

RECOGE

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.
39
A. Jaime 2003

A. Jaime 2003

FBD Tema 2

FBD Tema 2

40

Diseo de CAMIONES (5 a 8)
5) Considerar atributos de vnculo:
Matrcula PesoMax VolumenMax

CAMIN
(0,N) REALIZA (1,1)

En este caso se puede dejar en VIAJE


Fecha

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

Ejercicios

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

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

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

Un autor puede escribir varios documentos. Un documento puede tener varios autores.
AUTOR
ESCRIBE

LIBRO LECTOR
TIENE

DOCUMENTO

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

Qu cambia si un mismo libro es publicado por varias editoriales. Se desea saber la editorial de cualquier libro prestado a un lector.

TEMA

CONSTA

A. Jaime 2003

FBD Tema 2

43

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 1 C-P NPed PEDIDO M P-A 1 N FACTURA M NFac F-A N F-P ARTICULO NArt Direccin N_Tienda A. Jaime 2003 N N_Cliente Direccin Ciudad PEDIDO N_Pedido 25 33 LNEA Lnea 1 2 1 Cliente A. lvarez J. Mugica

Ejercicio 4
Direccin S. Martn 50 Roteta 20 Ciudad Donostia Donostia Tienda 1 1 1 Formato Lujo Normal Normal

N_Pedido 25 25 33

Artculo B5 B5 B3

Cantidad 100 100 4

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 PEDIDO (1,1)
SOLICITADO

Lnea (1,N)
CONSTA

(1,1)

LNEA (1,1)
PERTENECE

(0,N) CLIENTE (1,N)


TIENE

(0,N) ARTCULO

(1,1) TIENDA

FBD Tema 2

45

A. Jaime 2003

FBD Tema 2

46

Ejercicio: Universidad
(3.16 Elmasri/Navathe 02)

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.
FBD Tema 2 48

A. Jaime 2003

FBD Tema 2

47

A. Jaime 2003

Camiones

Camiones

Ejercicios: variantes de CAMIONES


Partiendo de los requisitos de datos presentados anteriormente, considera las siguientes variantes al problema:

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

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)
FBD Tema 2 51

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 LLEVA (1,N) (0,N)

Junio 01

NomIngr

Suministrador
LLEVA (1,N) NomPrd (1,1) PRODUCTO (0,N)

INGREDIENTE
BASE DE

ARTCULO
(0,N) INCLUIDO

(0,N)

ESPECIAL
(0,N) INCLUIDO

(0,N)

PEDIDO

(0,N)

Cantidad

Nmero Fecha

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

Hora pedido Hora servido

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

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

A. Jaime 2003

FBD Tema 2

53

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