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