You are on page 1of 14

OBTENCIN Y

ANLISIS DE REQUISITOS

Requisitos funcionales

Modelado de datos con el modelo ER.


Elmasri/Navathe 07

Independiente
del SGBD

Modelos de datos conceptuales


Ejemplo
Tipos de entidad, atributos y claves
Tipos de relacin, roles y restricciones.
Tipos de entidad dbiles
Convenios de denominacin y cuestiones de diseo
Tipos de relacin que unen a ms de dos tipos de entidad
Ejemplos de diseo

Requisitos de la BD

ANLISIS FUNCIONAL

DISEO CONCEPTUAL

Especificacin de
transacciones

Esquema conceptual (ER)


DISEO LGICO
(Transformacin al modelo de datos)

DISEO DE
PROGRAMAS DE APLICACIN

Especfico
para cada
SGBD

Esquema lgico (ej. relacional)


IMPLEMENTACIN
DE TRANSACCIONES

DISEO FSICO
Esquema interno

Programas de aplicacin
DBD Tema 2

Cada departamento controla cierto nmero de proyectos. Cada uno con


nombre y nmero nicos y se realiza en una sola localidad.

FechaNcto

Nombre

Parc

De cada empleado se guarda su nombre, nmero de seguridad social,


direccin, salario, sexo y fecha de nacimiento. Departamento al que
pertenece. Proyectos en los que trabaja (pueden estar controlados por
departamentos distintos al que pertenece el empleado). N horas semanales
dedicadas a cada proyecto y quin es su supervisor.

Nombre
Nss

SUBORDINADO
Sexo

(1,1)

Nom

Inicial

Direccin

EMPLEADO

Salario
(0,N)

SUPERVISIN

supervisado

Parentesco
(1,N)

(1,1)

(0,1)

(0,1)
FechaInic

Horas

TRABAJA_EN

TRABAJA_PARA

(1,N)

(1,N)

PROYECTO

De cada subordinado al nmero de seguridad social de un empleado


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

Nombre

Nmero

Localidad

DIRIGE

(1,1)

(0,N)
CONTROLA

DEPARTAMENTO

Localidades
Nmero

DBD Tema 2

Sexo

supervisor

(0,N)

SUBORD_DE

Esquema conceptual
(ER)

Apellido

FechaNcto

(1,1)

Ejemplo: esquema conceptual (ER)


para la BD Empresa

Requisitos
de la BD

La empresa est organizada en departamentos. Cada uno con nombre y


nmero nico. Tiene un director, su fecha de inicio y el nmero de empleados
que trabaja en l. Puede estar distribuido en varias localidades.

DBD

DBD Tema 2

Ejemplo: requisitos de la BD Empresa

Minimundo

Fases del diseo de BD

Tema 2. Diseo conceptual con el modelo


entidad-relacin

DBD Tema 2

NEmpleados
Nombre
4

Qu es un esquema conceptual
(como el anterior)

Esquema conceptual
(ER)

Primary key

Ejemplo: esquema lgico (relacional)


para la BD Empresa
(transformado a partir del ER anterior)

Esquema lgico
(relacional)

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:


Tipos de entidad:

CF:EM- CF:DEPARPLEADO TAMENTO

DEPARTAMENTO
NMERO NOMBRE DIRECTOR F_INIC_DIRECTOR

LOCALIDADES_DEPTO

CF:EMPLEADO

NMERO LOCALIDAD

PROYECTO

Relaciones y sus restricciones:

(1,N)

(0,N)

(0,N)

(1,1)

CF:DEPARTAMENTO

NMERO NOMBRE LOCALIDAD DEPTO


CF:DEPARTAMENTO

SUBORDINADO

TRABAJA_EN

EMPLEADO FECHA_NCTO NOMBRE SEXO PARENTESCO

No incluyen detalles de implementacin (como tipos de datos, etc.).


Podra servir para comunicarse con usuarios NO tcnicos sobre el contenido
que tendr la BD.
DBD Tema 2

(simplificado a una propuesta de ndices)

Conceptos del modelo ER (1/2)

EMPLEADO

IP(NSS)

IS(APELLIDO, NOMBRE)
IS(SUPERV), IS(DPTO)

IP(NMERO)

IS(DIRECTOR)

PROYECTO

IP(NMERO)

IS(DEPTO)

SIMPLE

FUERTE

NDICES SECUNDARIOS

DEPARTAMENTO

ATRIBUTOS
TIPOS DE ENTIDAD

NDICE
PRIMARIO/AGRUPACIN

TRABAJA_EN

DBD Tema 2

Esquema interno
(ndices)

TABLA

LOCALIZACIONES_DEPTO

CF: PROYECTO

Normalizada
en FNBC

Depende de las transacciones (consultas, inserciones, modificaciones, ...)


ms comunes sobre la BD. Segn sean, podramos haber llegado a la
siguiente definicin de ndices:

SUBORDINADO

CF:EMPLEADO

Ejemplo: esquema interno


para la BD Empresa

EMPLEADO NP HORAS

CF:EMPLEADO

CLAVE

DBIL

CLAVE PARCIAL

...

COMPUESTO

TIPOS DE RELACIN
DERIVADO
NORMAL

IP(EMPLEADO,
FECHA_NCTO, NOMBRE)
IP(NMERO,
LOCALIZACIN)

MULTIVALOR
IDENTIFICADOR
...

COMPLEJO

IP(NP, EMPLEADO)
DBD Tema 2

DBD Tema 2

Conceptos del modelo ER (2/2)

E1

(1,1)

Tipo de entidad
o intensin

OTROS

Dominio (tipo de datos)

Valor nulo

E2

Conjunto de entidades
y de relaciones

E2

NCopias

B
C

RESTRICCIONES
NOTACIN ALTERNATIVA

Ttulo

Atributos de tipo de relacin:


DBD Tema 2

Ttulo

NCopias

Tolk-1

El Sr. de los Anillos

Orw-1

1984

Shar-1

Wilt

Conjunto de entidades del tipo de


entidad LIBRO o extensin

Al ser conjunto no
puede haber entidades
repetidas

Tipo de entidad es un conjunto de entidades que posee el mismo conjunto


de atributos.
Cada entidad del tipo de entidades contiene un valor para cada uno de los
atributos definidos en el tipo de entidades
Para cada tipo de entidad (como LIBRO):
Se describe con su nombre y lista de atributos
Sus entidades son el conjunto de entidades o extensin.
El t. de entidad se llama intensin de su conjunto de entidades
DBD Tema 2

Entidades y valores de atributos

10

Tipos de atributos

Cdigo=Tolk-1
Entidad 1 de LIBRO

Cdigo

LIBRO

( ,N)

CARDINALIDAD
N (VARIOS) DE B EN R

(0,N)

Cdigo

R ternario

(1, )

PARTICIPACIN
TOTAL DE B EN R

LIBRO

GRADO DE TIPO
DE RELACIN

RESTRICCIONES

E1

Tipo de entidad y su conjunto de entidades

Simple (o atmico):

Salario

Compuesto:

Nombre

NomPila

Ttulo= El sr. De los anillos


N Copias=3

Apellido1

Complejos:
anidaciones arbitrarias
de atributos compuestos
y multivalor

Apellido2

Entidad: cosa del mundo real con existencia independiente. Ejemplos:


Algo fsico: una persona (Alberto), una casa, un automvil, un empleado, ...
Algo conceptual: una compaa (ACME), un puesto de trabajo (secretario
de centro), un curso universitario (2 A), ...

Atributo: Es una propiedad de las entidades del tipo de entidad.


Valor de atributo: es el valor asignado en una entidad para un atributo.

Toda entidad se describe mediante su conjunto de atributos. No puede haber


tipos de entidad sin ningn atributo definido.

DBD Tema 2

11

Pueden formar una jerarqua de varios niveles


Representa la concatenacin de todas sus
componentes simples

Monovalor:

Multivalor:

Almacenado:

FechaN

Derivado:

Edad

Salario
Localidades

Por ejemplo puede contener:


(Logroo, Navarrete, Ventosa)

Calculado a partir de la fecha de


nacimiento FechaN
DBD Tema 2

12

Atributos clave
PROYECTO

Atributos con valor nulo y dominio de un atributo

PROYECTO2
Nombre

Nombre

Nmero

Clave

Localizacin

Localizacin

Nmero

Atributo clave de un t. de entidad:


Tiene un valor nico para cada entidad del t. de entidad (restriccin
de clave o unicidad). Se deber cumplir para cualquier extensin.
Ejemplo claro: atributo Matrcula del tipo de entidad VEHCULO.
Debe ser mnima: sin atributos superfluos
Puede ser un atributo compuesto (como en PROYECTO2).
Algunos t. de entidad (como PROYECTO) pueden tener ms de un
atributo clave
Puede haber t. de entidad sin clave: t. de entidad dbil

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

Se puede asignar valor nulo a atributos:


Sin valor aplicable: por ejemplo el atributo titulo_universitario para
personas que no tenga este tipo de ttulo.
De valor desconocido:
Porque falta: por ejemplo el atributo altura para una persona. Es
seguro que toda persona tiene un valor de altura.
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.
Hay algunos atributos que no deberan contener valor nulo. Por ejemplo los
atributos clave que sirven para distinguir una entidad de las dems.
Dominio de un atributo es el conjunto de todos los posibles valores que
puede tomar el atributo (su tipo de datos, en trminos de lenguajes de
programacin).

DBD Tema 2

13

Identificando tipos de entidad y sus atributos


para la BD Empresa (1/2)

Identificando tipos de entidad y sus atributos


para la BD Empresa (2/2)

a
EMPLEADO
Director

Localidades
Nmero

Nombre

FechaInic

Nss

DEPARTAMENTO
NEmpleados

departamentos. Cada uno con nombre y


nmero nico. Tiene un director, su fecha
de inicio y el nmero de empleados que
trabaja en l. Puede estar distribuido en
varias localidades.

Inicial

Nom

DBD Tema 2

Nmero

Direccin

Salario
Trabaja_en

a
PROYECTO

Horas

Depto

De cada empleado se guarda su nombre,


nmero de seguridad social, direccin, salario,
sexo y fecha de nacimiento. Departamento al
que pertenece. Proyectos en los que trabaja
(pueden estar controlados por departamentos
distintos al que pertenece el empleado). N
horas semanales dedicadas a cada proyecto y
quin es su supervisor.

a
DEPARTAMENTO

Empleado

De cada subordinado al nmero


de seguridad social de un empleado
interesa su nombre, sexo, fecha de
nacimiento y parentesco (hijo,
esposa, ...).

PROYECTO
Nombre

FechaNcto

Sexo

Proyecto
DptoControlador

Apellido

EMPLEADO

Jefe

Nombre

Cada departamento controla cierto nmero de


proyectos. Cada uno con nombre y nmero
nicos y se realiza en una sola localidad.

14

Localidad

15

DBD Tema 2

FechaNcto

Nombre

Clave
SUBORDINADO
Sexo

Parentesco
16

Relaciones implcitas en el ejemplo

Relacin implcita: atributo que hace referencia a otro tipo de entidad.


En el ejemplo anterior hemos marcado las relaciones implcitas en rojo y
con flechas de lnea discontinua. Como en el caso de:
DptoControlador
DEPARTAMENTO

Tipo de relacin y su conjunto de relaciones

PROYECTO

Cdigo

Relacin implcita
Con el tipo de entidad
DEPARTAMENTO

CONTROLA

PROYECTO

Cdigo

Eliminamos
el atributo
DptoControlador

En un primer paso podemos capturar las relaciones mediante estos atributos


a los que hemos llamado relaciones implcitas.
Pero en un segundo paso hay que sustituir todos estos atributos por tipos de
relacin.
DBD Tema 2

(0,N)

Nombre

LECTOR

LECTOR
Ttulo

Cdigo Nombre

NCopias
PRESTADO

El Sr. de los Anillos

Orw-1

1984

LIBRO

LECTOR

Tolk-1

11

Tolk-1

22

Orw-1

11

Shar-1

22

Wilt

Al ser conjunto no puede haber


relaciones repetidas.
Por eso ponemos como clave la
concatenacin de LIBRO+LECTOR

11

Joseba

22

Miren

Conjunto de
relaciones
(extensin).
del tipo de
relacin
PRESTADO

DBD Tema 2

17

18

Restricciones estructurales en tipos de relacin binarios:


cardinalidad
( ,1)

PRESTADO

(0,N)

PRESTADO

Tolk-1

Tipo de relacin y grado


LIBRO

Cdigo

LIBRO

Shar-1

NCopias

LIBRO

En el modelo ER estas referencias hay que representarlas como tipos de


relacin:
DEPARTAMENTO

Ttulo

Tipo de
relacin
(intensin)

1:N

LECTOR

Acabamos de ver que un tipo de relacin, como PRESTADO, entre varios


tipos de entidad (LIBRO Y LECTOR) define un conjunto de asociaciones
conjunto de relaciones entre las entidades de los tipos de entidad.
Cada relacin r PRESTADO es una asociacin de entidades que incluye
una nica entidad de cada tipo de entidad que participa en el tipo de relacin
PRESTADO:
(Tolk-1, 11), (Tolk-1, 22), (Orw-1, 11)
Grado de un tipo de relacin es el nmero de tipos de entidad que participan.
PRESTADO es de grado dos o binario. Los ms comunes son los binarios.
En el ejemplo, R es un tipo de relacin ternaria:
A
R
B

EMPLEADO

( ,N)
TRABAJA_PARA
DEPARTAMENTO

Clave de
Razn de cardinalidad: n de relaciones en las que puede participar TRABAJA
una entidad.
_PARA?
Cada entidad de DEPARTAMENTO puede participar en varias (N)
relaciones de TRABAJA_PARA.
Cada entidad de EMPLEADO puede participar como mucho en una (1)
relacin de TRABAJA_PARA.

En tipos de relacin binarios la razn de cardinalidad puede ser 1:1, 1:N


Clave
N:M.
( ,1)

1:1

EMPLEADO

M:N

LIBRO

( ,N)

de
DIRIGE?

( ,1)
DIRIGE
PRESTADO

DEPARTAMENTO
( ,N)

LECTOR

C
DBD Tema 2

19

DBD Tema 2

20

Restricciones estructurales en tipos de relacin binarios:


participacin
(0, )

(1, )

EMPLEADO

Roles y tipos de relacin recursivos


EMPLEADO

DEPARTAMENTO

DIRIGE

Restriccin de participacin:
Total (dependencia de existencia): toda entidad de DEPARTAMENTO
debe participar al menos en una (1) relacin de DIRIGE (porque todo
departamento debe tener un director).
Parcial: algunas entidades de EMPLEADO no participan (0) en ninguna
relacin de DIRIGE y otras si (no todos los empleados son directores de
departamento).

DBD Tema 2

FechaInic

(1,1)

EMPLEADO
FechaInic

DIRIGE

TRABAJA_PARA

(1,1)

(1,N)

DEPARTAMENTO

DEPARTAMENTO

(1,N)

Tema

Id

APUNTES

APUNTES
(1,1)

Autor
Titulacin

Cdigo

(1,N)

ASIGNATURA
Curso

PROYECTO

23

Tema
NHojas
Autor

PERTENECEN

TRABAJA_EN

Estos atributos NO pueden ser clave:


La clave de los tipos de relacin 1:1 puede ser cualquiera de los dos tipos de
entidad. En 1:N el tipo de entidad con cardinalidad 1 y en N:M ambos tipos
de entidad de manera conjunta.
Estos atributos no modifican la clave de un tipo de relacin.
Segn sea 1:1, 1:N N:M el atributo del tipo de vnculo puede situarse
alternativamente en alguno de los tipos de entidad participantes, como
muestran las flechas en los ejemplos.
DBD Tema 2

NHojas

Horas

22

Tipo de entidad dbil (1/2)


Asignatura

(0,1)

subalterno

DBD Tema 2

21

EMPLEADO

(0,1)

Los roles son obligatorios si se repiten tipos de entidad en el tipo de relacin.


Los tipos de relacin (como DIRIGE), donde un mismo tipo de entidad participa
varias veces, se llaman tipos de relacin recursivos.

Atributos de un tipo de relacin


EMPLEADO

DEPARTAMENTO

Sin roles ... cmo


se sabe a qu se
refiere el (0,N) y el
(0,1)?

DIRIGE

PARTIDO_FUTBOL

JUEGA

(1,N)
contratante

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


En el ejemplo: las entidades de EMPLEADO desempean el rol de trabajador
en las relaciones de TRABAJA_PARA.
Los roles NO son necesarios si los tipos de entidad relacionados son
distintos. En el ejemplo: si NO hubiera rol, los empleados desempearan el rol
de el empleado en las relaciones de TRABAJA_PARA.

jefe (0,N)

(22,28)

JUGADOR

TRABAJA_PARA

EMPLEADO

La notacin mnimo-mximo (mn, max): admite poner otros nmeros


adems de 0 1 para el mnimo (participacin) y 1 N para el mximo
(cardinalidad):
(..., ...)

(1,1)
trabajador

(1,N)
ASIGNATURA

Cdigo
Titulacin
Curso

La clave de APUNTES es compuesta. Una de sus componentes es una


relacin implcita al tipo de entidad ASIGNATURA.
Al transformar la relacin implcita al tipo de relacin PERTENECEN, el tipo
de entidad APUNTES se queda sin clave.
Para seguir representando la clave se usan los tipos de entidad dbil:
El trozo de clave que queda en APUNTES (Tema) se marca como clave
parcial (subrayado discontinuo).
El tipo de relacin que completa la clave se marca con lnea doble y se
llama tipo de relacin identificador.
El tipo de entidad relacionado mediante el tipo de relacin identificador
se llama tipo de entidad propietario identificador.
DBD Tema 2

24

Tipo de entidad dbil:


varios niveles y ausencia de clave parcial

Tipo de entidad dbil (2/2)

Tema

APUNTES

Autor

ASIGNATURA

PERTENECEN

PC

Un tipo de entidad dbil no tiene atributos clave propios.


Sus entidades se identifican por la clave parcial concatenada con la clave
de la entidad relacionada mediante el tipo de relacin identificador.
Eso supone que la participacin con este tipo de relacin debe ser siempre
(1,1), para que haya siempre un valor que complete la clave y slo uno.

Cdigo

(1,1)

(1,N)

EXCURSIN

Id

(1,1)

(1,N)

...

GUA

EXCURSIN

(1,N) ITINERARIO
(1,1)

Direccin

Id

...

Nombre

FechaNcto

(1,1)

Nss

(1,1)

Nom

Apellido1

EMPLEADO

Apellido2

Podemos encontrarnos con tipos de entidad dbil sin clave parcial. Por
ejemplo, si EMPLEADO tiene muchos atributos podemos separar los usados
con menos frecuencia en la tabla RESTO_EMPLEADO.
En este caso, la cardinalidad de EMPLEADO en el tipo de relacin
identificador no puede ser N (precisamente porque no hay clave parcial).

NHojas
Autor
Cdigo
Titulacin

26

27

Sin otros tipos de relacin


Tema

APUNTES

NHojas

Autor

(1,1)
PERTENECEN

Cdigo

(1,N)

Titulacin

ASIGNATURA

Apuntes
ASIGNATURA

Curso

Curso

...

(1,N) GUA
DBD Tema 2

Sexo

Tema

Cdigo

...

EDIFICIO

EST

Diseo alternativo al tipo de entidad dbil: atributo complejo

...
Un tipo de entidad dbil puede tener varios tipos de entidad propietarios. En
este caso la clave de EXCURSIN est compuesta del Cdigo de itinerario,
el Id de GUA y la Fecha de la EXCURSIN.
El esquema de arriba es equivalente al que se muestra a continuacin:
Fecha

(1,N)

DBD Tema 2

En este caso, si
no hubiera clave
parcial,
ITINERARIO y
GUA tambin
tendran
cardinalidad N

ITINERARIO

Cdigo

(1,1)
SALA

EST

25

Tipo de entidad dbil:


con varios tipos de relacin identificador
Fecha

(1,N)

RESTO_EMPLEADO

...

...
Puede haber varios niveles de tipo de entidad dbil. Aqu la clave de PC est
compuesta de las claves de EDIFICIO y de SALA ms su clave parcial.
Salario

La N de ASIGNATURA slo tiene sentido si APUNTES tiene clave parcial. Si


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
entidad de APUNTES (si no, encontraramos en APUNTES valores de clave
repetidos).
DBD Tema 2

Nm

(1,1)

Curso

Tipo de entidad propietario


identificador

Tipo de entidad dbil

...

...

Nm
Titulacin

(1,N)

(1,1)
NHojas

Cdigo

Tipo de relacin
identificador

Clave
parcial

Esta solucin NO se puede adoptar si existen otros tipos de relacin,


diferentes al tipo de relacin identificador, en los que participe APUNTES.
Hay que tener en cuenta que los rombos slo unen rectngulos. Por tanto,
NO se puede dibujar un rombo que una el atributo multivalor Apuntes con un
rectngulo.
DBD Tema 2

28

Diseo alternativo al tipo de entidad dbil: inventar un cdigo


Tema

Tema
NHojas

(1,1)

Autor

Autor

PERTENECEN

Cdigo

Cdigo

ASIGNATURA

Titulacin

Curso

SALA

SALA

(1,N)
ASIGNATURA

En esta asignatura evitaremos usar esta alternativa


DBD Tema 2

En la notacin mnimo-mximo (mn, max) usada hasta aqu:


mn y max indican respectivamente el mnimo y mximo de relaciones en
las que participa una entidad.
0 <= mn <= mx >= 1
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
de relacin: la participacin al lado y la cardinalidad en el lado opuesto.
DBD Tema 2

29

Convenio para los nombres de los elementos


de los esquemas ER
(1)
en MAYSCULA
en MAYSCULA
primera letra en MAYSCULA
en minscula

Tipos de relacin: ordenado de izda a dcha, o de arriba hacia abajo, de


manera que se pueda leer con sentido. En los siguientes ejemplos se lee
PC

B
A

(2)

(3)

(1,1)

A
Z

B
C

(4)

Despus podran
surgir nuevos
atributos para Z

SITUADO_EN

(0,N)

(0,N)
SALA

AB

Las transformaciones (1) y (2) ya se han visto anteriormente. En la (2) los


atributos A y B son referencias inversas entre s.

PC ... SITUADO_EN ... SALA

SITUADO_EN

30

Transformaciones interesantes

(1,1)

(0,N)

Esta es una solucin artificial. El identificador nos lo hemos inventado, no se


trata de un dato que se maneje en el mini-mundo.

Se siguen las siguientes pautas:


Tipos de entidad: nombres en singular ...
Tipos de relacin: verbos
...
Atributos:
nombres en singular ...
Roles:
...

SITUADO

SITUADO

(1,1)

Curso

PC

APUNTES

PC

PC

PERTENECEN

(1,N)

Titulacin

Identificador

(1 ,1)

APUNTES

NHojas

Restricciones estructurales: notacin alternativa

SALA
Si Z slo tiene un atributo
DBD Tema 2

31

DBD Tema 2

32

Restricciones estructurales
en tipos de relacin de grado mayor que 2
Dorsal

(0,N)
CICLISTA

Nombre

(0,N)
LLEVA

(0,N)

ETAPA

(0,N)
M

PROVEE
(0,N)

SUMINISTRADOR

PROYECTO

Nmero

Nombre

COMPONENTE

c2
s2

c1

c1

p1 Estado 2 s1
de la BD:
c1
c1
s2
p2
DBD Tema 2

c2

c2

p1
p2

Color
Premio
ETAPA

LLEVA

Dorsal

Nombre

Maillot

10

Hinault

amarillo

10

100

11

Indurain

puntos

13

110

MAILLOT

Nmero Km

Etapa Ciclista

12

Fignon

rojo

13

13

Armstrong

amarillo

10

Color

14

Pereiro

puntos

11

amarillo

general

15

Ullrich

rojo

13

puntos

montaa

12

Freire

rojo

puntos

Premio

34

Dorsal

Nombre

ENVIA

(0,N)

Nmero
(0,N)

LLEVA

USA

(0,N)

ETAPA
Km

MAILLOT

Si un tipo de relacin
ternaria representa lo
mismo que varias
binarias nos quedaremos
con la segunda opcin
35

Premio

Nombre

CICLISTA
(1,N)
Nmero
(1,1)
(1,1) (1,N)
VISTE
ETAPA
(1,1)
Km
(1,N)
MAILLOT

CICLISTA

PROYECTO

Ejercicio: para los suministradores s1 y s2, los componentes c1 y c2 y los


proyectos p1 y p2, obtener los tros de PROVEE y los pares de las relaciones
c
p
binarias en los siguientes dos estados de la BD, donde s
representa que el suministrador s suministra el componente c al proyecto p.
Estado 1 s1
de la BD:
c2

Km

CICLISTA

Dorsal

(0,N)
(0,N)

Nmero

Transformacin de tipo de relacin ternario


en un tipo de entidad dbil

Nmero

ETAPA

DBD Tema 2

(0,N)

TIENE
(0,N)

Nombre

COMPONENTE

(0,N)

(0,N)

(0,N)

33

Apellido
Apellido

Premio

Un tipo de relacin ternario


NO representa lo mismo que varios binarios

(0,N)
LLEVA

MAILLOT

DBD Tema 2

(0,N)

CICLISTA

Nombre

Km

Se utiliza un doble etiquetado.


La notacin mnimo-mximo se mantiene con el mismo significado que para
las binarias (la alternativa no se puede utilizar).
Recordemos la interpretacin. Por ejemplo la N de ciclista significa que cada
entidad de CICLISTA puede participar en varias relaciones de LLEVA.
La otra notacin (1:N:M en el ejemplo), aade la idea de clave. Por tanto la
clave del tipo de relacin LLEVA la forman la entidad de MAILLOT y la de
ETAPA, ya que en una etapa slo se puede imponer un determinado maillot a
un nico ciclista.
Si NO se indica esta segunda notacin se entiende que es: M:N:P.

SUMINISTRADOR

(0,N)

Dorsal

Nmero

Color

MAILLOT

Conjunto de relaciones de un tipo de relacin ternario

Color

Premio

Color

El tipo de entidad dbil VISTE representa lo mismo que el tipo de relacin


ternario LLEVA.
El tipo de relacin entre VISTE y CICLISTA no es identificador porque no
forma parte de la clave de LLEVA.
Obsrvese que en este caso VISTE no precisa usar clave parcial.
DBD Tema 2

36

Es posible tener un tipo de relacin ternario


y los tres binarios correspondientes pero...

Ejemplo de diseo conceptual:


requisitos de la BD

(0,N)

(1,N)

DA CLASE

(0,N)
Cdigo

PROFESOR

(1,N)

(0,N)
IMPARTE

P (0,N)

CONOCE

(0,N)

ASIGNATURA
(0,N)
Nmero

Cuatrim
CUATRIMESTRE

Id
Ao

(1,N)

OFRECIDA

Es preciso definir restricciones de manera que los tros de IMPARTE y los


pares de CONOCE, DA CLASE y OFRECIDA sean coherentes entre s.

Camiones

Una compaa de transportes recoge pedidos de los almacenes de una


cadena y los entrega a las tiendas de la misma cadena.
Actualmente 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 de transportes consta
de 150 vehculos y cada uno realiza entre 3 y 4 viajes semanales.
Esta BD la usarn conjuntamente las dos empresas para
Controlar el uso de los camiones (fechas).
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

DBD Tema 2

37

Ejemplo de diseo conceptual:


identificacin de tipos de entidad

38

Ejemplo de diseo conceptual:


identificar y transformar relaciones implcitas
Nombre

Nmero

Peso

Volumen
PEDIDO

Nmero
Direccin

ALMACN

Viaje

TIENDA

Tienda

Matrcula

Almacn

PesoMax

Tfno

Almacn

PEDIDO

SOLICITADO

ALMACN

Tienda

PEDIDO

A_ENTREGAR

TIENDA

VIAJE

REALIZADO_POR

CAMIN

PEDIDO

TRANSPORTADO

VIAJE

CAMIN
Camin

Nmero

VolumenMax
VIAJE

Tfno

Direccin

Fecha

Viaje

Camin
Almacn

Almacn

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

39

VIAJE

RECOGE

ALMACN

Cada relacin implcita la transformamos en un tipo de relacin explcito (un


rombo).

DBD Tema 2

40

Ejemplo de diseo conceptual:


asignar restricciones a los tipos de relacin
Matrcula

CAMIN

(0,N)

(1,1)

VolumenMax

Fecha

(0,1)

(0,N)
SOLICITADO

(1,1)

(0,N)

ALMACN
Tfno

PEDIDO
(1,1)

ENTREGAR

Nmero

(0,N)

TIENDA

Nombre
Direccin
Tfno

Direccin

Considerar las alternativas de diseo comentadas:


Tipos de relacin de grado mayor que tres por tipos de entidad dbiles.
Tipos de entidad dbiles por atributos multivalor y compuestos.
Atributo que aparece en varios tipos de entidad situado en tipo de

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.
DBD Tema 2

Si algn tipo de entidad dbil ha quedado sin apenas atributos, quiz se


pueda sustituir por un tipo de relacin.

Peso
Volumen

Tipos de entidad dbiles: los que han perdido su clave. Indicar su tipo de
relacin identificador y su clave parcial, si la tiene.

TRANSPORTA

RECOGE

Atributos de tipo de relacin: al identificar los tipos de relacin han podido


quedar descolgados atributos.

Nmero

VIAJE
(1,N)

Nmero

REALIZA
(1,1)

PesoMax

Ejemplo de diseo conceptual:


otras consideraciones

entidad independiente (o lo contrario)

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

Ejercicios
DBD Tema 2

43

DBD Tema 2

44

Ejercicio: Universidad (1/2)

Ejercicio: Mundial de ftbol (2/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

DBD Tema 2

45

Ejercicio: Universidad (2/2)

Ejercicio: Buques (1/2)

(3.16 Elmasri/Navathe 07)

DBD Tema 2

46

47

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

DBD Tema 2

DBD Tema 2

49

Ejercicio: Biblioteca municipal (2/2)

50

Ejercicio: festival de cine

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)

DBD Tema 2

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.

51

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


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.

DBD Tema 2

DBD Tema 2

53

Ejercicio: Comida rpida (1/2)


P r e c io
N o m A rt
T ip o
P r e c io
T am ao
C a n tid a d

N o m In g r

( 0 ,N )

LLEVA

A R T C U L O

LLEVA

( 0 ,N )

BA SE D E

( 1 ,1 ) P R O D U C T O

N o m P rd

E S P E C IA L

( 0 ,N )
IN C L U ID O

( 1 ,N )

( 1 ,N )

( 0 ,N )
( 0 ,N )

P E D ID O

N m e ro
Fecha

( 0 ,N )

( 0 ,N )

IN C L U ID O

C a n tid a d

H o ra
p e d id o
H o ra
s e r v id o

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 que, aparte de llevar los ingredientes del artculo sobre el que se
basa, llevan uno o varios ingredientes adicionales.
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.
DBD Tema 2

54

Ejercicio: Comida rpida (2/2)

S u m in is tr a d o r

IN G R E D IE N T E

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.

55

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?
DBD Tema 2

56

You might also like