Está en la página 1de 16

Fases del diseo de BD Mini-

Tema 2. Diseo conceptual con el modelo mundo


entidad-relacin
Requisitos funcionales OBTENCIN Y
ANLISIS DE REQUISITOS
Modelado de datos con el modelo ER. Indepen-
Elmasri/Navathe 07 diente ANLISIS FUNCIONAL Requisitos de la BD
del SGBD
Modelos de datos conceptuales DISEO CONCEPTUAL
Especificacin de
Ejemplo transacciones
Tipos de entidad, atributos y claves Esquema conceptual (ER)

Tipos de relacin, roles y restricciones.


DISEO DE DISEO LGICO
Tipos de entidad dbiles PROGRAMAS DE APLICACIN (Transformacin al modelo de datos)
Convenios de denominacin y cuestiones de diseo Especfico
Tipos de relacin que unen a ms de dos tipos de entidad para cada Esquema lgico (ej. relacional)
IMPLEMENTACIN
Ejemplos de diseo SGBD
DE TRANSACCIONES
DISEO FSICO

Programas de aplicacin Esquema interno


DBD
DBD Tema 2 1 DBD Tema 2 2

Ejemplo: esquema conceptual (ER)


Ejemplo: requisitos de la BD Empresa
Requisitos
para la BD Empresa Esquema conceptual
de la BD (ER)

La empresa est organizada en departamentos. Cada uno con nombre y FechaNcto Nombre Nombre Inicial Apellido
nmero nico. Tiene un director, su fecha de inicio y el nmero de empleados
que trabaja en l. Puede estar distribuido en varias localidades. Parc Nss Nom FechaNcto Direccin Sexo Salario

Cada departamento controla cierto nmero de proyectos. Cada uno con supervisor (0,N)
(1,1) (0,N)
nombre y nmero nicos y se realiza en una sola localidad. SUBORDINADO SUBORD_DE EMPLEADO
SUPERVISIN

Sexo Parentesco supervisado (0,1)


De cada empleado se guarda su nombre, nmero de seguridad social,
direccin, salario, sexo y fecha de nacimiento. Departamento al que (1,N) (1,1) (0,1)
FechaInic
pertenece. Proyectos en los que trabaja (pueden estar controlados por
departamentos distintos al que pertenece el empleado). N horas semanales Horas TRABAJA_EN TRABAJA_PARA DIRIGE

dedicadas a cada proyecto y quin es su supervisor.


(1,N) (1,N) (1,1)
(1,1) (0,N)
PROYECTO CONTROLA DEPARTAMENTO
De cada subordinado al nmero de seguridad social de un empleado
interesa su nombre, sexo, fecha de nacimiento y parentesco (hijo, esposa,
Localidades NEmpleados
...). Nombre Nmero Localidad
Nmero Nombre
DBD Tema 2 3 DBD Tema 2 4
Qu es un esquema conceptual Ejemplo: esquema lgico (relacional)
(como el anterior) Esquema conceptual para la BD Empresa Esquema lgico
(ER) (relacional)
Primary key (transformado a partir del ER anterior)
Unique
Descripcin concisa de los requisitos de informacin de los usuarios.
EMPLEADO
NSS NOMBRE INIC APELLIDO FECHA_NCTO DIRECCIN SEXO SALARIO SUPERV DPTO
Contiene descripciones de:
CF:EM- CF:DEPAR-
Tipos de entidad: DEPARTAMENTO PLEADO TAMENTO

NMERO NOMBRE DIRECTOR F_INIC_DIRECTOR LOCALIDADES_DEPTO


CF:EMPLEADO NMERO LOCALIDAD
PROYECTO
(1,N) (0,N) (0,N) (1,1) NMERO NOMBRE LOCALIDAD DEPTO CF:DEPAR-
Relaciones y sus restricciones: TAMENTO
CF:DEPAR-
TAMENTO
SUBORDINADO TRABAJA_EN
EMPLEADO FECHA_NCTO NOMBRE SEXO PARENTESCO EMPLEADO NP HORAS
No incluyen detalles de implementacin (como tipos de datos, etc.). CF:EM- CF:EM- CF: PRO-
PLEADO PLEADO YECTO
Podra servir para comunicarse con usuarios NO tcnicos sobre el contenido
que tendr la BD. Normalizada
en FNBC
DBD Tema 2 5 DBD Tema 2 6

Ejemplo: esquema interno Conceptos del modelo ER (1/2)


para la BD Empresa Esquema interno
(simplificado a una propuesta de ndices) (ndices)
ATRIBUTOS

Depende de las transacciones (consultas, inserciones, modificaciones, ...) TIPOS DE ENTIDAD SIMPLE
ms comunes sobre la BD. Segn sean, podramos haber llegado a la
FUERTE
siguiente definicin de ndices: CLAVE

NDICE DBIL CLAVE PARCIAL


TABLA NDICES SECUNDARIOS
PRIMARIO/AGRUPACIN
IS(APELLIDO, NOMBRE)
EMPLEADO IP(NSS)
IS(SUPERV), IS(DPTO) ... COMPUESTO
DEPARTAMENTO IP(NMERO) IS(DIRECTOR) TIPOS DE RELACIN
PROYECTO IP(NMERO) IS(DEPTO) DERIVADO
NORMAL
IP(EMPLEADO,
SUBORDINADO MULTIVALOR
FECHA_NCTO, NOMBRE)
IP(NMERO, IDENTIFICADOR
LOCALIZACIONES_DEPTO
LOCALIZACIN) COMPLEJO
...
TRABAJA_EN IP(NP, EMPLEADO)

DBD Tema 2 7 DBD Tema 2 8


Conceptos del modelo ER (2/2) Tipo de entidad y su conjunto de entidades

LIBRO
GRADO DE TIPO Cdigo Ttulo NCopias
RESTRICCIONES Cdigo Ttulo NCopias
DE RELACIN
R ternario Tolk-1 El Sr. de los Anillos 3
(1, ) LIBRO
PARTICIPACIN
TOTAL DE B EN R R B Orw-1 1984 2
A R B
Shar-1 Wilt 1
( ,N) Tipo de entidad
CARDINALIDAD
R B C o intensin
N (VARIOS) DE B EN R Conjunto de entidades del tipo de Al ser conjunto no
entidad LIBRO o extensin puede haber entidades
repetidas
RESTRICCIONES OTROS Tipo de entidad es un conjunto de entidades que posee el mismo conjunto
NOTACIN ALTERNATIVA de atributos.
Dominio (tipo de datos) Cada entidad del tipo de entidades contiene un valor para cada uno de los
(0,N) (1,1)
E1 R E2 Valor nulo atributos definidos en el tipo de entidades
Conjunto de entidades Para cada tipo de entidad (como LIBRO):
1 N Se describe con su nombre y lista de atributos
E1 R E2 y de relaciones
Atributos de tipo de relacin: Sus entidades son el conjunto de entidades o extensin.
El t. de entidad se llama intensin de su conjunto de entidades
DBD Tema 2 9 DBD Tema 2 10

Entidades y valores de atributos Tipos de atributos

Cdigo=Tolk-1 Simple (o atmico): Salario Complejos:


NomPila anidaciones arbitrarias
Entidad 1 de LIBRO Ttulo= El sr. De los anillos de atributos compuestos
Compuesto: Nombre Apellido1
N Copias=3 y multivalor
Apellido2
Entidad: cosa del mundo real con existencia independiente. Ejemplos: Pueden formar una jerarqua de varios niveles
Algo fsico: una persona (Alberto), una casa, un automvil, un empleado, ... Representa la concatenacin de todas sus
Algo conceptual: una compaa (ACME), un puesto de trabajo (secretario componentes simples
de centro), un curso universitario (2 A), ...
Monovalor: Salario
Atributo: Es una propiedad de las entidades del tipo de entidad.
Valor de atributo: es el valor asignado en una entidad para un atributo. Por ejemplo puede contener:
Multivalor: Localidades
(Logroo, Navarrete, Ventosa)
Toda entidad se describe mediante su conjunto de atributos. No puede haber
tipos de entidad sin ningn atributo definido. Almacenado: FechaN

Calculado a partir de la fecha de


Derivado: Edad
nacimiento FechaN

DBD Tema 2 11 DBD Tema 2 12


Atributos clave Atributos con valor nulo y dominio de un atributo
PROYECTO PROYECTO2 Se puede asignar valor nulo a atributos:
Nombre
Clave Localizacin Sin valor aplicable: por ejemplo el atributo titulo_universitario para
Nombre Nmero Localizacin Nmero personas que no tenga este tipo de ttulo.
Atributo clave de un t. de entidad: De valor desconocido:
Tiene un valor nico para cada entidad del t. de entidad (restriccin Porque falta: por ejemplo el atributo altura para una persona. Es
de clave o unicidad). Se deber cumplir para cualquier extensin. seguro que toda persona tiene un valor de altura.
Ejemplo claro: atributo Matrcula del tipo de entidad VEHCULO. Porque no se sabe si existe: por ejemplo el atributo telfono de una
persona, puede que no tenga o que s tenga pero no se conozca.
Debe ser mnima: sin atributos superfluos
Hay algunos atributos que no deberan contener valor nulo. Por ejemplo los
Puede ser un atributo compuesto (como en PROYECTO2). atributos clave que sirven para distinguir una entidad de las dems.
Algunos t. de entidad (como PROYECTO) pueden tener ms de un
atributo clave
Dominio de un atributo es el conjunto de todos los posibles valores que
Puede haber t. de entidad sin clave: t. de entidad dbil puede tomar el atributo (su tipo de datos, en trminos de lenguajes de
programacin).
Claves del tipo de entidad PROYECTO? Y las de PROYECTO2?
CONFUSIN FRECUENTE: pensar que la clave de PROYECTO
significa lo mismo que la de PROYECTO2.
DBD Tema 2 13 DBD Tema 2 14

Identificando tipos de entidad y sus atributos Identificando tipos de entidad y sus atributos
para la BD Empresa (1/2) para la BD Empresa (2/2)

a Nombre Inicial Apellido


EMPLEADO De cada empleado se guarda su nombre,
Director FechaInic nmero de seguridad social, direccin, salario,
Nss Nom FechaNcto Direccin
departamentos. Cada uno con nombre y sexo y fecha de nacimiento. Departamento al
nmero nico. Tiene un director, su fecha Sexo que pertenece. Proyectos en los que trabaja
DEPARTAMENTO EMPLEADO (pueden estar controlados por departamentos
de inicio y el nmero de empleados que
Salario
trabaja en l. Puede estar distribuido en distintos al que pertenece el empleado). N
Localidades NEmpleados varias localidades. horas semanales dedicadas a cada proyecto y
Jefe Trabaja_en Depto
Nmero Nombre quin es su supervisor.

Proyecto Horas a
DEPARTAMENTO Empleado FechaNcto Nombre
DptoControlador a
PROYECTO
Cada departamento controla cierto nmero de Clave
proyectos. Cada uno con nombre y nmero PROYECTO De cada subordinado al nmero
nicos y se realiza en una sola localidad. de seguridad social de un empleado
SUBORDINADO
Nombre Nmero Localidad interesa su nombre, sexo, fecha de
nacimiento y parentesco (hijo,
Sexo Parentesco
esposa, ...).
DBD Tema 2 15 DBD Tema 2 16
Relaciones implcitas en el ejemplo Tipo de relacin y su conjunto de relaciones
Relacin implcita: atributo que hace referencia a otro tipo de entidad.
En el ejemplo anterior hemos marcado las relaciones implcitas en rojo y Tipo de
relacin
con flechas de lnea discontinua. Como en el caso de: (intensin)
Cdigo Ttulo NCopias Cdigo Nombre
DptoControlador Relacin implcita
(0,N) (0,N)
Con el tipo de entidad LIBRO PRESTADO LECTOR
DEPARTAMENTO PROYECTO DEPARTAMENTO

En el modelo ER estas referencias hay que representarlas como tipos de LIBRO LECTOR
relacin: Cdigo Ttulo NCopias Cdigo Nombre
Eliminamos Tolk-1 El Sr. de los Anillos 3 PRESTADO 11 Joseba
DEPARTAMENTO CONTROLA PROYECTO el atributo LIBRO LECTOR
DptoControlador Orw-1 1984 2 22 Miren
Shar-1 Wilt 1 Tolk-1 11
Tolk-1 22 Conjunto de
En un primer paso podemos capturar las relaciones mediante estos atributos relaciones
a los que hemos llamado relaciones implcitas. Al ser conjunto no puede haber Orw-1 11 (extensin).
relaciones repetidas. del tipo de
Pero en un segundo paso hay que sustituir todos estos atributos por tipos de Shar-1 22
Por eso ponemos como clave la relacin
relacin. concatenacin de LIBRO+LECTOR PRESTADO

DBD Tema 2 17 DBD Tema 2 18

Restricciones estructurales en tipos de relacin binarios:


Tipo de relacin y grado
cardinalidad
( ,1) ( ,N)
LIBRO PRESTADO LECTOR 1:N EMPLEADO TRABAJA_PARA DEPARTAMENTO

Clave de
Razn de cardinalidad: n de relaciones en las que puede participar TRABAJA
Acabamos de ver que un tipo de relacin, como PRESTADO, entre varios
tipos de entidad (LIBRO Y LECTOR) define un conjunto de asociaciones una entidad. _PARA?
conjunto de relaciones entre las entidades de los tipos de entidad. Cada entidad de DEPARTAMENTO puede participar en varias (N)
relaciones de TRABAJA_PARA.
Cada relacin r PRESTADO es una asociacin de entidades que incluye
Cada entidad de EMPLEADO puede participar como mucho en una (1)
una nica entidad de cada tipo de entidad que participa en el tipo de relacin
relacin de TRABAJA_PARA.
PRESTADO:
(Tolk-1, 11), (Tolk-1, 22), (Orw-1, 11)
En tipos de relacin binarios la razn de cardinalidad puede ser 1:1, 1:N
N:M. Clave
de
Grado de un tipo de relacin es el nmero de tipos de entidad que participan. DIRIGE?
( ,1) ( ,1)
PRESTADO es de grado dos o binario. Los ms comunes son los binarios. 1:1 EMPLEADO DIRIGE DEPARTAMENTO
En el ejemplo, R es un tipo de relacin ternaria: A R B
( ,N) ( ,N)
M:N LIBRO PRESTADO LECTOR
C
DBD Tema 2 19 DBD Tema 2 20
Restricciones estructurales en tipos de relacin binarios:
Roles y tipos de relacin recursivos
participacin
(1,1) (1,N)
(0, ) (1, ) EMPLEADO TRABAJA_PARA DEPARTAMENTO
EMPLEADO DIRIGE DEPARTAMENTO trabajador contratante

Rol: indica el papel desempeado por las entidades en las relaciones.


Restriccin de participacin:
En el ejemplo: las entidades de EMPLEADO desempean el rol de trabajador
Total (dependencia de existencia): toda entidad de DEPARTAMENTO en las relaciones de TRABAJA_PARA.
debe participar al menos en una (1) relacin de DIRIGE (porque todo
Los roles NO son necesarios si los tipos de entidad relacionados son
departamento debe tener un director).
distintos. En el ejemplo: si NO hubiera rol, los empleados desempearan el rol
Parcial: algunas entidades de EMPLEADO no participan (0) en ninguna de el empleado en las relaciones de TRABAJA_PARA.
relacin de DIRIGE y otras si (no todos los empleados son directores de
departamento). EMPLEADO Sin roles ... cmo
se sabe a qu se
La notacin mnimo-mximo (mn, max): admite poner otros nmeros jefe (0,N) (0,1) subalterno refiere el (0,N) y el
DIRIGE (0,1)?
adems de 0 1 para el mnimo (participacin) y 1 N para el mximo
(cardinalidad): Los roles son obligatorios si se repiten tipos de entidad en el tipo de relacin.
(..., ...) (22,28)
JUGADOR JUEGA PARTIDO_FUTBOL Los tipos de relacin (como DIRIGE), donde un mismo tipo de entidad participa
varias veces, se llaman tipos de relacin recursivos.
DBD Tema 2 21 DBD Tema 2 22

Atributos de un tipo de relacin Tipo de entidad dbil (1/2) Tema

Asignatura NHojas APUNTES NHojas


EMPLEADO EMPLEADO EMPLEADO Id APUNTES (1,1)
Tema Autor Autor
(0,1) FechaInic (1,1) FechaInic (1,N) Horas PERTENECEN
DIRIGE TRABAJA_PARA TRABAJA_EN Titulacin Cdigo
Cdigo ASIGNATURA (1,N)
(1,1) (1,N) (1,N) Curso ASIGNATURA Titulacin
DEPARTAMENTO DEPARTAMENTO PROYECTO
Curso
La clave de APUNTES es compuesta. Una de sus componentes es una
relacin implcita al tipo de entidad ASIGNATURA.
Estos atributos NO pueden ser clave: Al transformar la relacin implcita al tipo de relacin PERTENECEN, el tipo
La clave de los tipos de relacin 1:1 puede ser cualquiera de los dos tipos de de entidad APUNTES se queda sin clave.
entidad. En 1:N el tipo de entidad con cardinalidad 1 y en N:M ambos tipos Para seguir representando la clave se usan los tipos de entidad dbil:
de entidad de manera conjunta. El trozo de clave que queda en APUNTES (Tema) se marca como clave
Estos atributos no modifican la clave de un tipo de relacin. parcial (subrayado discontinuo).
Segn sea 1:1, 1:N N:M el atributo del tipo de vnculo puede situarse El tipo de relacin que completa la clave se marca con lnea doble y se
llama tipo de relacin identificador.
alternativamente en alguno de los tipos de entidad participantes, como
muestran las flechas en los ejemplos. El tipo de entidad relacionado mediante el tipo de relacin identificador
se llama tipo de entidad propietario identificador.
DBD Tema 2 23 DBD Tema 2 24
Tipo de entidad dbil:
Tipo de entidad dbil (2/2)
varios niveles y ausencia de clave parcial
Tipo de relacin Cdigo
Clave
parcial identificador Nm ... Nm ... Cdigo
Tema Titulacin (1,1) (1,N) (1,1) (1,N)
(1,1) (1,N) PC EST SALA EST EDIFICIO
NHojas APUNTES PERTENECEN ASIGNATURA Curso
...
Autor Tipo de entidad dbil Tipo de entidad propietario Puede haber varios niveles de tipo de entidad dbil. Aqu la clave de PC est
identificador compuesta de las claves de EDIFICIO y de SALA ms su clave parcial.

Un tipo de entidad dbil no tiene atributos clave propios. Nombre


Sus entidades se identifican por la clave parcial concatenada con la clave Salario Sexo Direccin FechaNcto
Nss Nom
de la entidad relacionada mediante el tipo de relacin identificador. Apellido1
(1,1) (1,1)
Eso supone que la participacin con este tipo de relacin debe ser siempre RESTO_EMPLEADO EMPLEADO Apellido2
(1,1), para que haya siempre un valor que complete la clave y slo uno.
Podemos encontrarnos con tipos de entidad dbil sin clave parcial. Por
La N de ASIGNATURA slo tiene sentido si APUNTES tiene clave parcial. Si
ejemplo, si EMPLEADO tiene muchos atributos podemos separar los usados
no hay clave parcial significa que la clave de APUNTES es la misma que la
de ASIGNATURA. As, una ASIGNATURA solo puede prestar su clave a una con menos frecuencia en la tabla RESTO_EMPLEADO.
entidad de APUNTES (si no, encontraramos en APUNTES valores de clave En este caso, la cardinalidad de EMPLEADO en el tipo de relacin
repetidos). identificador no puede ser N (precisamente porque no hay clave parcial).
DBD Tema 2 25 DBD Tema 2 26

Tipo de entidad dbil:


Diseo alternativo al tipo de entidad dbil: atributo complejo
con varios tipos de relacin identificador
Cdigo Sin otros tipos de relacin
En este caso, si Tema
Fecha ... (1,1) (1,N) no hubiera clave
ITINERARIO parcial, APUNTES Tema NHojas Autor
NHojas
EXCURSIN ... ITINERARIO y
Id GUA tambin (1,1)
Autor Apuntes
GUA tendran PERTENECEN Cdigo
(1,1) (1,N) cardinalidad N
Cdigo
... (1,N) Titulacin ASIGNATURA
Un tipo de entidad dbil puede tener varios tipos de entidad propietarios. En Titulacin ASIGNATURA
este caso la clave de EXCURSIN est compuesta del Cdigo de itinerario, Curso
el Id de GUA y la Fecha de la EXCURSIN. Curso
El esquema de arriba es equivalente al que se muestra a continuacin:
Cdigo Esta solucin NO se puede adoptar si existen otros tipos de relacin,
Fecha ... diferentes al tipo de relacin identificador, en los que participe APUNTES.
(1,N) ITINERARIO
Hay que tener en cuenta que los rombos slo unen rectngulos. Por tanto,
(1,1) ...
EXCURSIN Id
NO se puede dibujar un rombo que una el atributo multivalor Apuntes con un
rectngulo.
(1,N) GUA

DBD Tema 2
... 27 DBD Tema 2 28
Diseo alternativo al tipo de entidad dbil: inventar un cdigo Restricciones estructurales: notacin alternativa

Identificador PC PC
Tema Tema
(1 ,1) N
NHojas APUNTES APUNTES
NHojas
SITUADO SITUADO
(1,1) (1,1)
Autor Autor
PERTENECEN
PERTENECEN (0,N) 1
Cdigo Cdigo SALA
(1,N) (1,N) SALA
Titulacin ASIGNATURA Titulacin ASIGNATURA
En la notacin mnimo-mximo (mn, max) usada hasta aqu:
Curso Curso mn y max indican respectivamente el mnimo y mximo de relaciones en
las que participa una entidad.
Esta es una solucin artificial. El identificador nos lo hemos inventado, no se 0 <= mn <= mx >= 1
trata de un dato que se maneje en el mini-mundo. mn=0 indica participacin parcial y mn>0 participacin total.
La notacin alternativa es menos precisa. Hay que tener en cuenta que la
informacin sobre una entidad se encuentra repartida a ambos lados del tipo
En esta asignatura evitaremos usar esta alternativa de relacin: la participacin al lado y la cardinalidad en el lado opuesto.

DBD Tema 2 29 DBD Tema 2 30

Convenio para los nombres de los elementos


Transformaciones interesantes
de los esquemas ER
Se siguen las siguientes pautas: (1) B A B
Tipos de entidad: nombres en singular ... en MAYSCULA
A AB B
Tipos de relacin: verbos ... en MAYSCULA
Atributos: nombres en singular ... primera letra en MAYSCULA (2) B A A B
Roles: ... en minscula
Las transformaciones (1) y (2) ya se han visto anteriormente. En la (2) los
Tipos de relacin: ordenado de izda a dcha, o de arriba hacia abajo, de atributos A y B son referencias inversas entre s.
manera que se pueda leer con sentido. En los siguientes ejemplos se lee
PC ... SITUADO_EN ... SALA A
Z A Z C
PC
(3) B Z Z
(1,1) Z B
C Despus podran
(1,1) (0,N)
SITUADO_EN surgir nuevos
PC SITUADO_EN SALA atributos para Z
(0,N)
(4) A Z Z A Z
SALA
Si Z slo tiene un atributo
DBD Tema 2 31 DBD Tema 2 32
Restricciones estructurales
Conjunto de relaciones de un tipo de relacin ternario
en tipos de relacin de grado mayor que 2

Dorsal (0,N) (0,N) Nmero


Dorsal (0,N) (0,N) Nmero CICLISTA LLEVA ETAPA
CICLISTA LLEVA ETAPA Nombre 1 M Km
Nombre 1 M Km (0,N) N
(0,N) N Color
Color MAILLOT
MAILLOT Premio
Premio

Se utiliza un doble etiquetado. CICLISTA LLEVA ETAPA


La notacin mnimo-mximo se mantiene con el mismo significado que para Dorsal Nombre Maillot Etapa Ciclista Nmero Km
las binarias (la alternativa no se puede utilizar). 10 Hinault amarillo 1 10 1 100
Recordemos la interpretacin. Por ejemplo la N de ciclista significa que cada 11 Indurain puntos 1 13 2 110
entidad de CICLISTA puede participar en varias relaciones de LLEVA. 12 Fignon rojo 1 13 MAILLOT
La otra notacin (1:N:M en el ejemplo), aade la idea de clave. Por tanto la 13 Armstrong amarillo 2 10 Color Premio
clave del tipo de relacin LLEVA la forman la entidad de MAILLOT y la de
14 Pereiro puntos 2 11 amarillo general
ETAPA, ya que en una etapa slo se puede imponer un determinado maillot a
un nico ciclista. 15 Ullrich rojo 2 13 puntos montaa
Si NO se indica esta segunda notacin se entiende que es: M:N:P. 12 Freire rojo puntos
DBD Tema 2 33 DBD Tema 2 34

Un tipo de relacin ternario Transformacin de tipo de relacin ternario


NO representa lo mismo que varios binarios en un tipo de entidad dbil
Apellido Dorsal Nombre
Dorsal Nombre
(0,N)
SUMINISTRADOR Apellido SUMINISTRADOR ENVIA CICLISTA
(0,N) N (0,N) (0,N) CICLISTA
(0,N) Nmero (1,N)
(0,N) 1 Nmero
PROVEE M PROYECTO TIENE Nombre PROYECTO (0,N) (1,1) (1,1) (1,N)
(0,N) P (0,N) (0,N) LLEVA ETAPA VISTE ETAPA
Nombre (0,N) M
COMPONENTE Nmero COMPONENTE USA
(0,N) N (1,1)
Km (1,N) Km
Nmero MAILLOT
MAILLOT
Ejercicio: para los suministradores s1 y s2, los componentes c1 y c2 y los
Premio Color Premio Color
proyectos p1 y p2, obtener los tros de PROVEE y los pares de las relaciones
c
binarias en los siguientes dos estados de la BD, donde s p
representa que el suministrador s suministra el componente c al proyecto p. El tipo de entidad dbil VISTE representa lo mismo que el tipo de relacin
ternario LLEVA.
c1 c2 El tipo de relacin entre VISTE y CICLISTA no es identificador porque no
Estado 1 s1 p1 Estado 2 s1 p1 Si un tipo de relacin
de la BD: c2 de la BD: c1 ternaria representa lo forma parte de la clave de LLEVA (pero el tipo de relacin con CICLISTA es
c2 c1 mismo que varias necesario)
binarias nos quedaremos Obsrvese que en este caso VISTE no precisa usar clave parcial.
s2 p2 s2 p2 con la segunda opcin
c1 c2
DBD Tema 2 35 DBD Tema 2 36
Es posible tener un tipo de relacin ternario Ejemplo de diseo conceptual: Camiones

y los tres binarios correspondientes pero... requisitos de la BD


Una compaa de transportes recoge pedidos de los almacenes de una
(0,N) (1,N) cadena y los entrega a las tiendas de la misma cadena.
DA_CLASE Actualmente hay 6 almacenes y 45 tiendas. Cada tienda tiene su propio
(0,N) (0,N) Cuatrim
nombre, y conocemos tambin su direccin y telfono. Cada almacn tiene
Cdigo PROFESOR IMPARTE CUATRIMESTRE Id un nmero diferente adems de la direccin y telfono.
M N Ao
(1,N) P (0,N) (1,N) 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.
CONOCE ASIGNATURA OFRECIDA
Cada pedido se identifica por un nmero e incluye datos sobre peso,
(0,N) (0,N)
Nmero 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 de transportes consta
Es preciso definir restricciones de manera que haya coherencia entre los tros de 150 vehculos y cada uno realiza entre 3 y 4 viajes semanales.
de IMPARTE y los pares de CONOCE, DA CLASE y OFRECIDA.
Esta BD la usarn conjuntamente las dos empresas para
Por ejemplo si (Alfredo,1-2007) es una relacin de DA CLASE, deber haber
al menos un tro en IMPARTE en los que el profesor sea Alfredo y el Controlar el uso de los camiones (fechas).
cuatrimestre 1-2007: (Alfredo,1-2007, ...) Controlar las entregas (pedidos entregados)
Programar los viajes (conocer los pedidos hechos, de qu almacn a qu
tiendas y los viajes asignados a camiones)

DBD Tema 2 37 DBD Tema 2 38

Ejemplo de diseo conceptual: Ejemplo de diseo conceptual:


identificacin de tipos de entidad identificar y transformar relaciones implcitas

Nombre
Nmero Peso Volumen Viaje TIENDA Direccin Almacn PEDIDO SOLICITADO ALMACN

PEDIDO Tienda Matrcula Tfno Tienda PEDIDO A_ENTREGAR TIENDA


Nmero Almacn PesoMax CAMIN
Nmero Camin VIAJE REALIZADO_POR CAMIN
Direccin ALMACN VolumenMax
VIAJE Fecha
Tfno Viaje PEDIDO TRANSPORTADO VIAJE
Camin
Almacn VIAJE RECOGE ALMACN
Almacn
Suposiciones:
Un pedido se toma completo de un almacn y se entrega tambin completo a
una sola tienda. Cada relacin implcita la transformamos en un tipo de relacin explcito (un
En un viaje interviene solo un camin, toma varios pedidos de un almacn y rombo).
los entrega a una o varias tiendas.

DBD Tema 2 39 DBD Tema 2 40


Ejemplo de diseo conceptual: Ejemplo de diseo conceptual:
asignar restricciones a los tipos de relacin otras consideraciones
(0,N) Atributos de tipo de relacin: al identificar los tipos de relacin han podido
Matrcula CAMIN REALIZA
quedar descolgados atributos.
PesoMax (1,1)
(1,1) Nmero
VIAJE Tipos de entidad dbiles: los que han perdido su clave. Indicar su tipo de
VolumenMax Fecha
(1,N) relacin identificador y su clave parcial, si la tiene.
RECOGE TRANSPORTA Si algn tipo de entidad dbil ha quedado sin apenas atributos, quiz se
(0,1) Nmero pueda sustituir por un tipo de relacin.
(0,N)
(1,1) Peso
SOLICITADO PEDIDO Considerar las alternativas de diseo comentadas:
(0,N) (1,1) Volumen Nombre
Tipos de relacin de grado mayor que tres por tipos de entidad dbiles.
ALMACN ENTREGAR TIENDA Direccin
(0,N) Tipos de entidad dbiles por atributos multivalor y compuestos.
Nmero Tfno Direccin Tfno
Atributo que aparece en varios tipos de entidad situado en tipo de
Suposiciones: entidad independiente (o lo contrario)
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.
DBD Tema 2 41 DBD Tema 2 42

Ejercicio: Mundial de ftbol (1/2)


Disea un esquema E/R que recoja la siguiente informacin sobre un mundial
de ftbol.
Para cada equipo participante les 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

Ejercicios
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 identidad nacional
(entenderemos que ningn pas asigna varias veces el mismo nmero),
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.

DBD Tema 2 43 DBD Tema 2 44


Ejercicio: Mundial de ftbol (2/2) Ejercicio: Universidad (1/2)
(3.16 Elmasri/Navathe 07)

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.

DBD Tema 2 45 DBD Tema 2 46

Ejercicio: Universidad (2/2) Ejercicio: Buques (1/2)


(3.16 Elmasri/Navathe 07)

Se quieren registrar las visitas a puertos realizadas por 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 un histrico de la posicin del
buque.
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.
Se anota la posicin de cada buque varias veces al da. En cada
anotacin se guarda la fecha y hora en la que se realiz, junto a la latitud
y longitud en la que se encontraba el buque en ese momento.
Cada buque est adscrito a un puerto. Por cada puerto se almacena su
nombre, una descripcin, el pas al que pertenece y el mar donde est
situado. Ningn pas tiene varios puertos de igual nombre. Sin embargo s
que hay puertos del mismo nombre pertenecientes 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.

DBD Tema 2 47 DBD Tema 2 48


Ejercicio: Buques (2/2) Ejercicio: Biblioteca municipal (1/2)

Por cada visita de un buque a un puerto interesa guardar la fecha de llegada Una biblioteca almacena informacin de los libros que toman en
y la de partida. Un buque puede visitar muchas veces el mismo puerto. prstamo sus lectores. Por cada libro se guarda un identificador nico, el
ttulo y el nombre, direccin y telfono de su editorial.
Si se diera el caso raro de que un buque entra al puerto varias veces el
mismo da (varias entradas y salidas), slo se almacenara la ltima de las La biblioteca dispone de varios locales a los que llama sucursales. La BD
entradas en 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.

DBD Tema 2 49 DBD Tema 2 50

Ejercicio: Biblioteca municipal (2/2) Ejercicio: festival de cine

Como tambin suelen hacer consultas por autores, quieren almacenar los Disea un esquema E/R que recoja la siguiente informacin sobre un festival
autores de cada libro. Ocurre que hay autores diferentes que se llaman igual, de cine:
as que han decidido distinguir a dos autores con el mismo nombre por el Un festival de cine almacena informacin de los premios concedidos a lo
libro del que son autores, de manera que no puede haber dos autores con el largo de los aos, de las pelculas participantes y de las personas que han
mismo nombre que hayan escrito el mismo libro (distinguiendo a los libros por intervenido en las pelculas como productor, director y como actor.
su identificador nico) 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).

DBD Tema 2 51 DBD Tema 2 52


Ejercicio: Autobuses universitarios (1/2) Ejercicio: Autobuses universitarios (2/2)
Las facultades y escuelas de la UPV/EHU (en adelante centros) desean Para cada autobs contratado se dispondr de su matrcula, nmero de
ofrecer a sus alumnos un servicio de autobuses para trasladarlos desde la asientos, nombre de la compaa (hay autobuses que no pertenecen a
localidad donde residen a su centro de estudios. Para gestionarlo nos piden que ninguna compaa) y las paradas que realiza para recoger y dejar a los
diseemos un esquema E/R que recoja la siguiente informacin: alumnos que lo utilizan. Adems, como cada centro de la universidad
Para cada centro de la universidad que ofrece este servicio se desea guardar el contrata autobuses de forma exclusiva (un mismo centro puede contratar
cdigo que lo identifica, su nombre, su direccin y cules son los autobuses que varios autobuses), para cada autobs se dispondr del centro (nico) que lo
ha contratado. contrat.
Para cada alumno universitario que usa el servicio de autobuses se almacena De cada pueblo incluido en el servicio de autobuses se tiene su cdigo
su nmero de expediente universitario, su nombre, los identificadores de los identificativo, nombre, provincia y las paradas que realizan los diferentes
cursos en los que est matriculado (por ejemplo: 1 de ITIS y 2 de ITIS), la autobuses en el mismo (puede haber ms de una). Por cada parada del
localidad (nica) donde reside y el centro (nico) en el que est matriculado. pueblo se almacena la calle en la que est situada. Una misma parada puede
Adems figura para cada alumno en qu autobuses puede viajar y para cada ser utilizada por ms de un autobs. Distintos pueblos pueden tener calles
uno de ellos en qu fecha realiz la inscripcin. con el mismo nombre.

DBD Tema 2 53 DBD Tema 2 54

Ejercicio: Comida rpida (1/2) Ejercicio: Comida rpida (2/2)


P r e c io N o m In g r S u m in is tr a d o r
Se aceptan anulaciones de pedidos, pero la informacin de un domicilio se
LLEVA
( 0 ,N )
IN G R E D IE N T E
( 0 ,N )
LLEVA guardar aunque se haya anulado el pedido solicitado. Qu cambiaras en
N o m A rt
( 1 ,N ) el esquema E/R (aadir/eliminar/modificar) para incluir la informacin relativa
T ip o ( 1 ,N ) N o m P rd
( 0 ,N ) ( 1 ,1 ) P R O D U C T O a domicilios?
P r e c io A R T C U L O BA SE D E
T am ao
E S P E C IA L b) Como se desprende del esquema E/R anterior, cada artculo lleva uno o ms
( 0 ,N ) ( 0 ,N ) ingredientes y un ingrediente puede estar en ms de un artculo. Ahora nos
C a n tid a d ( 0 ,N ) ( 0 ,N ) C a n tid a d plantean la siguiente situacin:
IN C L U ID O P E D ID O IN C L U ID O
H o ra En el restaurante hay ingredientes que pueden sustituirse por otros. Por
N m e ro p e d id o ejemplo en ocasiones la lechuga se sustituye bien por cogollos o bien por
Fecha H o ra
s e r v id o
escarola.
a) Un restaurante de comida rpida sirve pedidos en el local. Cada pedido Puede coincidir que dos ingredientes distintos se sustituyan por el mismo
ingrediente. Por ejemplo los espaguetis y los macarrones suelen
puede incluir uno o varios artculos y productos especiales. Un artculo lleva sustituirse por tallarines.
uno o varios ingredientes. Los productos especiales son ofertas del
Sin embargo las sustituciones no son generales, sino que se aplican de
restaurante que, aparte de llevar los ingredientes del artculo sobre el que se forma diferente para cada artculo. Por ejemplo, en las pizzas los
basa, llevan uno o varios ingredientes adicionales. championes se sustituyen por setas o por hongos, mientras que en las
El restaurante, adems de atender pedidos en el local, quiere ofrecer un ensaladas se sustituyen por maz o por hongos.
nuevo servicio de envo de pedidos a domicilio. Para dichos pedidos interesa c) Qu cambiaras en el esquema E/R (aadir/eliminar/modificar) para incluir
guardar la direccin y el telfono de contacto del solicitante del pedido. la informacin relativa a sustitucin de ingredientes?
(contina) DBD Tema 2 55 DBD Tema 2 56
Ejercicio: Secciones y subsecciones Ejercicio: Facturacin pedidos

Una seccin de un documento, como la seccin nmero 1, puede o no estar Queremos aadir al esquema E/R la siguiente informacin:
dividida en otras secciones, como por ejemplo las secciones de nmero 1.1, El n de unidades solicitadas de cada artculo en cada pedido (Unidades).
1.2 y 1.3. El precio de un artculo (Precio). En ocasiones se ha cobrado a determinados
Una seccin pertenece solamente a otra seccin de nivel superior. Por clientes un precio especial (PrecioCliente) para un artculo de un pedido
ejemplo la seccin 1.2.2 pertenece a la seccin de nivel superior 1.2. concreto.
Completa todas las cuestiones relacionadas con el tipo de relacin CONSTA Un pedido se puede entregar en varios envos parciales. Esto produce varias
entre cada seccin y sus subsecciones. facturas por pedido. Se desea guardar el n de unidades de un artculo
(UnEnviadas) recogidas en cada factura.
Tambin se desea conservar el n de unidades pendientes de enviar de cada
Nmero
artculo en cada pedido (UnPendientes).
Ttulo SECCIN CONSTA Nmero
Texto (0,N) (1,1) (1,N)
Cd CLIENTE C-P PEDIDO
(1,1) (0,N) P-A
F-P
Nmero FACTURA ARTICULO (0,N)
F-A
(1,N) (0,N) Nmero
DBD Tema 2 57 DBD Tema 2 58

Camiones

Ejercicio: Lneas de pedido Ejercicios: variantes al ejemplo de CAMIONES

Completa el diagrama E/R de forma PEDIDOS Partiendo de la solucin dada al ejemplo de los camiones, considera
que se considere toda la informacin N Cliente Direccin las siguientes variantes al problema:
presente en los siguientes dos 25 A. lvarez Lobete 20 Logroo
informes en formato tabla: a) Un pedido se compone de varios artculos. Cada artculo se identifica
33 J. Mgica Pintor Crispn 7 Pamplona
por su nmero y contiene su descripcin. Un mismo artculo puede
LNEAS DE PEDIDO
figurar en varios pedidos. Interesa guardar las unidades de un
Lnea Pedido Artculo Cantidad Tienda Formato artculo en un pedido. Todos los artculos de un pedido provienen de
1 25 B5 100 1 Lujo un almacn y se entregan a una tienda.
2 25 B5 100 1 Normal b) Considera el mismo caso del apartado anterior, pero donde los
1 33 B3 400 1 Normal artculos de un pedido pueden ir a distintas tiendas. Interesa
distinguir cuntas unidades de cada artculo de un pedido se
(0,N) (1,1) (1,N) (1,1) entregan a cada tienda.
N CLIENTE PIDE PEDIDO CONSTA LNEA N c) Considera la misma situacin del apartado A, pero ahora se desea
Direccin (1,N) (1,1) guardar la informacin de las lneas de detalle de cada pedido. Una
N
POSEE TIENE lnea de detalle consta de un nmero (distinto por cada lnea de un
mismo pedido), cdigo de artculo y unidades. Una lnea de detalle
N (1,1) (0,N)
corresponde a un nico pedido
Direccin TIENDA ARTCULO
DBD Tema 2 59 DBD Tema 2 60
Camiones

Ejercicios: variantes de CAMIONES (2) Ejercicio: Vuelta ciclista (1/2)

d) Un artculo puede ser de diferentes colores. As en un pedido Los organizadores de una vuelta ciclista por etapas quieren desarrollar una
queremos incluir la informacin del color de los artculos. Plantea las aplicacin informtica para gestionar los datos de los participantes en la
modificaciones pertinentes sobre la solucin al apartado D. competicin. Nos piden que diseemos un esquema E/R que recoja la
informacin de acuerdo a lo siguiente.
e) Considera la misma situacin del apartado B pero incluyendo la
informacin de lneas de detalle. Cada ciclista se identifica con un dorsal que se mantiene sin cambiar a lo
largo de todas las etapas. Adems necesitamos saber su nombre, equipo al
f) Reconsidera la situacin inicial (previa al apartado A) si un viaje se
que pertenece, fecha de nacimiento, edad, cules son las etapas que ha
identifica en lugar de con un nmero, por camin, la fecha y un
ganado y los puertos por los que ha pasado en primera posicin.
nmero de orden en esa fecha (1 significa el primer viaje de ese da,
2 el segundo viaje, ...) Existen varios maillots (camisetas) especiales que llevan algunos ciclistas.
Por ejemplo, el amarillo lo viste el corredor situado en primera posicin de la
clasificacin general de la vuelta. Para cada uno de estos maillots se debera
saber su color, tipo de premio al que est asociado (por ejemplo primer
clasificado, campen de la montaa, etc.) y el premio en metlico que le
corresponder al corredor que posea ese maillot cuando acabe la vuelta.
Cada maillot especial tiene un solo color, que es diferente al del resto de
maillots.

DBD Tema 2 61 DBD Tema 2 62

Ejercicio: Vuelta ciclista (2/2)

Cada etapa se identifica con un nmero y se conoce el nmero de kilmetros


de los que consta, la poblacin de salida y la de llegada.
Se desea guardar quin es el corredor que lleva cada maillot especial al final
de cada etapa de la vuelta. Hay que tener en cuenta que un mismo corredor
puede tener derecho a llevar varios de estos maillots al final de capa etapa .
Por cada puerto se almacena la nica etapa a la que corresponde y el
nmero de orden de subida respecto a otros puertos de la misma etapa.
Tambin se guarda la categora asignada al mismo por parte de la
organizacin y la altitud.
Adems de lo anterior se guarda por cada equipo su nombre (no hay dos
equipos con el mismo nombre) y el de su director. Por cada corredor el
tiempo que ha conseguido en cada etapa (horas, minutos y segundos).
Se desea disponer de la informacin de todos los corredores aunque hayan
abandonado la carrera. Sin embargo les gustara poder distinguir quines
siguen en carrera de los que no.

DBD Tema 2 63

También podría gustarte