Está en la página 1de 16

Tema 2. Diseo conceptual con el modelo entidad-relacin Modelado de datos con el modelo ER.

Elmasri/Navathe 07
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 Independiente del SGBD

Fases del diseo de BD


Requisitos funcionales OBTENCIN Y ANLISIS DE REQUISITOS Requisitos de la BD DISEO CONCEPTUAL Esquema conceptual (ER) DISEO DE PROGRAMAS DE APLICACIN

Minimundo

ANLISIS FUNCIONAL

Especificacin de transacciones

DISEO LGICO (Transformacin al modelo de datos) Esquema lgico (ej. relacional)

Especfico para cada SGBD

IMPLEMENTACIN DE TRANSACCIONES

DISEO FSICO Esquema interno

Programas de aplicacin
DBD Tema 2 1 DBD Tema 2

DBD
2

Ejemplo: requisitos de la BD Empresa


Requisitos de la BD

Ejemplo: esquema conceptual (ER) para la BD Empresa


FechaNcto Parc (1,1) Nombre Nss Nombre Nom Inicial Apellido Direccin

Esquema conceptual (ER)

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. Cada departamento controla cierto nmero de proyectos. Cada uno con nombre y nmero nicos y se realiza en una sola localidad. 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. De cada subordinado al nmero de seguridad social de un empleado interesa su nombre, sexo, fecha de nacimiento y parentesco (hijo, esposa, ...).
DBD Tema 2 3

FechaNcto (0,N)

Sexo

Salario supervisor (0,N)

SUBORDINADO Sexo

SUBORD_DE

EMPLEADO

SUPERVISIN

Parentesco (1,N) Horas


TRABAJA_EN

supervisado (1,1)
TRABAJA_PARA

(0,1)

(0,1) FechaInic
DIRIGE

(1,N) (1,1) (0,N)


CONTROLA

(1,N) DEPARTAMENTO

(1,1)

PROYECTO Nombre Nmero Localidad

Localidades Nmero
DBD Tema 2

NEmpleados Nombre
4

Qu es un esquema conceptual
(como el anterior)
Esquema conceptual (ER) Primary key Unique

Ejemplo: esquema lgico (relacional) para la BD Empresa (transformado a partir del ER anterior)

Esquema lgico (relacional)

Descripcin concisa de los requisitos de informacin de los usuarios.


EMPLEADO

Contiene descripciones de: Tipos de entidad:

NSS NOMBRE INIC APELLIDO FECHA_NCTO DIRECCIN SEXO SALARIO SUPERV DPTO DEPARTAMENTO NMERO NOMBRE DIRECTOR F_INIC_DIRECTOR PROYECTO
CF:EMPLEADO CF:EM- CF:DEPARPLEADO TAMENTO

LOCALIDADES_DEPTO NMERO LOCALIDAD


CF:DEPARTAMENTO

Relaciones y sus restricciones:

(1,N)

(0,N)

(0,N)

(1,1)

NMERO NOMBRE LOCALIDAD DEPTO SUBORDINADO


CF:DEPARTAMENTO

TRABAJA_EN EMPLEADO NP HORAS


CF:EMPLEADO CF: PROYECTO

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 5

CF:EMPLEADO

Normalizada en FNBC
DBD Tema 2 6

Ejemplo: esquema interno para la BD Empresa


(simplificado a una propuesta de ndices)

Conceptos del modelo ER (1/2)


Esquema interno (ndices)

ATRIBUTOS TIPOS DE ENTIDAD


FUERTE DBIL SIMPLE CLAVE CLAVE PARCIAL

Depende de las transacciones (consultas, inserciones, modificaciones, ...) ms comunes sobre la BD. Segn sean, podramos haber llegado a la siguiente definicin de ndices:
TABLA EMPLEADO DEPARTAMENTO PROYECTO SUBORDINADO NDICE PRIMARIO/AGRUPACIN IP(NSS) IP(NMERO) IP(NMERO) IP(EMPLEADO, FECHA_NCTO, NOMBRE) IP(NMERO, LOCALIZACIN) IP(NP, EMPLEADO)
DBD Tema 2 7

NDICES SECUNDARIOS IS(APELLIDO, NOMBRE) IS(SUPERV), IS(DPTO) IS(DIRECTOR) IS(DEPTO)

...

COMPUESTO

TIPOS DE RELACIN
DERIVADO NORMAL MULTIVALOR IDENTIFICADOR ... COMPLEJO

LOCALIZACIONES_DEPTO TRABAJA_EN

DBD Tema 2

Conceptos del modelo ER (2/2)


RESTRICCIONES
PARTICIPACIN TOTAL DE B EN R CARDINALIDAD N (VARIOS) DE B EN R (1, ) R ( ,N) R B C B A R

Tipo de entidad y su conjunto de entidades


LIBRO Cdigo Ttulo LIBRO Tipo de entidad o intensin NCopias Cdigo Tolk-1 Orw-1 Shar-1 Ttulo El Sr. de los Anillos 1984 Wilt NCopias 3 2 1 Al ser conjunto no puede haber entidades repetidas

GRADO DE TIPO DE RELACIN


R ternario B

Conjunto de entidades del tipo de entidad LIBRO o extensin

RESTRICCIONES NOTACIN ALTERNATIVA


E1 (0,N) R (1,1) E2

OTROS
Dominio (tipo de datos) Valor nulo Conjunto de entidades

E1

E2

y de relaciones Atributos de tipo de relacin:


DBD Tema 2 9

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 10

Entidades y valores de atributos


Cdigo=Tolk-1 Entidad 1 de LIBRO Ttulo= El sr. De los anillos N Copias=3 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

Tipos de atributos
Simple (o atmico): Compuesto:
Salario Nombre NomPila Apellido1 Apellido2

Complejos: anidaciones arbitrarias de atributos compuestos y multivalor

Pueden formar una jerarqua de varios niveles Representa la concatenacin de todas sus componentes simples Monovalor: Multivalor: Almacenado: Derivado:
Salario Localidades FechaN Edad
DBD Tema 2

Por ejemplo puede contener: (Logroo, Navarrete, Ventosa)

Calculado a partir de la fecha de nacimiento FechaN


12

Atributos clave
PROYECTO Nombre Nombre Nmero Localizacin Clave Nmero Localizacin PROYECTO2

Atributos con valor nulo y dominio de un atributo


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

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 13

DBD Tema 2

14

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


a EMPLEADO Director FechaInic Nombre Nss Nom

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


Inicial Apellido Direccin Sexo EMPLEADO Salario Jefe Trabaja_en Proyecto Horas Depto

FechaNcto

DEPARTAMENTO Localidades Nmero NEmpleados Nombre

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.

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.
Empleado FechaNcto Clave SUBORDINADO Sexo Parentesco
16

DptoControlador

Cada departamento controla cierto nmero de proyectos. Cada uno con nombre y nmero nicos y se realiza en una sola localidad.
Nombre

a PROYECTO

a DEPARTAMENTO

Nombre

PROYECTO Nmero Localidad

De cada subordinado al nmero de seguridad social de un empleado interesa su nombre, sexo, fecha de nacimiento y parentesco (hijo, esposa, ...).
15 DBD Tema 2

DBD Tema 2

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 PROYECTO Relacin implcita Con el tipo de entidad DEPARTAMENTO

Tipo de relacin y su conjunto de relaciones


Tipo de relacin (intensin) PRESTADO (0,N)

Cdigo

Ttulo LIBRO

NCopias (0,N)

Cdigo

Nombre

LECTOR

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


DEPARTAMENTO
CONTROLA

LIBRO Cdigo Tolk-1 Orw-1 Shar-1 Ttulo El Sr. de los Anillos 1984 Wilt NCopias 3 2 1 PRESTADO LIBRO Tolk-1 Tolk-1 Orw-1 Shar-1 LECTOR 11 22 11 22

LECTOR Cdigo Nombre 11 22 Joseba Miren

PROYECTO

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 17

Al ser conjunto no puede haber relaciones repetidas. Por eso ponemos como clave la concatenacin de LIBRO+LECTOR

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


18

DBD Tema 2

Tipo de relacin y grado


LIBRO PRESTADO LECTOR

Restricciones estructurales en tipos de relacin binarios: cardinalidad


( ,1) 1:N EMPLEADO ( ,N) TRABAJA_PARA DEPARTAMENTO

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
C
DBD Tema 2 19

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 LIBRO ( ,N) DIRIGE PRESTADO
DBD Tema 2

( ,1) DEPARTAMENTO ( ,N) LECTOR

de DIRIGE?

M:N

20

Restricciones estructurales en tipos de relacin binarios: participacin


(0, ) EMPLEADO DIRIGE (1, ) DEPARTAMENTO

Roles y tipos de relacin recursivos


EMPLEADO (1,1) trabajador TRABAJA_PARA (1,N) contratante DEPARTAMENTO

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). 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):
(..., ...) JUGADOR JUEGA
DBD Tema 2

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.
EMPLEADO jefe (0,N) DIRIGE (0,1) subalterno Sin roles ... cmo se sabe a qu se refiere el (0,N) y el (0,1)?

(22,28) PARTIDO_FUTBOL
21

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

Atributos de un tipo de relacin


Asignatura EMPLEADO (0,1) DIRIGE (1,1) DEPARTAMENTO FechaInic EMPLEADO (1,1) FechaInic EMPLEADO (1,N) TRABAJA_EN (1,N) PROYECTO Horas Cdigo Tema Id

Tipo de entidad dbil (1/2)


NHojas APUNTES Autor
PERTENECEN

Tema APUNTES NHojas Autor Cdigo Titulacin Curso

(1,1) Titulacin

TRABAJA_PARA (1,N) DEPARTAMENTO

ASIGNATURA Curso

(1,N) ASIGNATURA

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 23

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 (2/2)


Clave parcial Tipo de relacin identificador Cdigo Nm

Tipo de entidad dbil: varios niveles y ausencia de clave parcial

...
(1,1)
EST

Nm

...
(1,1) (1,N)
EST

Tema NHojas Autor

(1,1)
APUNTES
PERTENECEN

(1,N)
ASIGNATURA

Titulacin Curso PC

Cdigo EDIFICIO

(1,N)
SALA

Tipo de entidad dbil

Tipo de entidad propietario identificador

... 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 Sexo Direccin FechaNcto Nombre Nss Nom Apellido1 Apellido2

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

RESTO_EMPLEADO

(1,1)

(1,1)

EMPLEADO

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

Tipo de entidad dbil: con varios tipos de relacin identificador


Fecha

Diseo alternativo al tipo de entidad dbil: atributo complejo


Tema NHojas Autor Cdigo Titulacin Curso Sin otros tipos de relacin APUNTES (1,1)
PERTENECEN

...

Cdigo

(1,1)

(1,N)

ITINERARIO Id

EXCURSIN

...

(1,1)

(1,N)

GUA

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

Tema

NHojas Apuntes ASIGNATURA

Autor

Cdigo Titulacin Curso

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

...
(1,1)

Cdigo

(1,N) ITINERARIO
Id

EXCURSIN

...

(1,N) GUA
DBD Tema 2

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

...

27

Diseo alternativo al tipo de entidad dbil: inventar un cdigo


Tema NHojas Autor Cdigo Titulacin Curso APUNTES (1,1)
PERTENECEN

Restricciones estructurales: notacin alternativa


PC (1 ,1) N SITUADO 1 SALA PC

Tema NHojas Autor Cdigo Titulacin Curso

Identificador APUNTES (1,1)


PERTENECEN

SITUADO (0,N) SALA

(1,N) ASIGNATURA

(1,N) ASIGNATURA

Esta es una solucin artificial. El identificador nos lo hemos inventado, no se trata de un dato que se maneje en el mini-mundo.

En esta asignatura evitaremos usar esta alternativa


DBD Tema 2 29

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 30

Convenio para los nombres de los elementos de los esquemas ER


Se siguen las siguientes pautas: Tipos de entidad: nombres en singular ... Tipos de relacin: verbos ... Atributos: nombres en singular ... Roles: ... (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 ... SITUADO_EN ... SALA PC (1,1) (1,1) PC
SITUADO_EN

Transformaciones interesantes
B A B A (2) B A A B AB B

Las transformaciones (1) y (2) ya se han visto anteriormente. En la (2) los atributos A y B son referencias inversas entre s. Z (3) Z A B Z C A B C Z Z

(0,N) SALA
SITUADO_EN

Despus podran surgir nuevos atributos para Z

(0,N) SALA

(4)
31

Z
DBD Tema 2

Z
32

Si Z slo tiene un atributo


DBD Tema 2

Restricciones estructurales en tipos de relacin de grado mayor que 2


Dorsal Nombre (0,N) CICLISTA 1
LLEVA

Conjunto de relaciones de un tipo de relacin ternario


Dorsal Nombre (0,N) CICLISTA 1
LLEVA

(0,N) M ETAPA Color Premio N

(0,N) M ETAPA Color Premio N

Nmero Km

Nmero Km

(0,N)

(0,N)

MAILLOT

MAILLOT

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

CICLISTA Dorsal 10 11 12 13 14 15 12 Nombre Hinault Indurain Fignon Armstrong Pereiro Ullrich Freire

LLEVA Maillot amarillo puntos rojo amarillo puntos rojo Etapa Ciclista 1 1 1 2 2 2 10 13 13 10 11 13

ETAPA Nmero Km 1 2 MAILLOT Color amarillo puntos rojo Premio general montaa puntos
34

100 110

DBD Tema 2

Un tipo de relacin ternario NO representa lo mismo que varios binarios


Apellido SUMINISTRADOR
(0,N) N PROVEE (0,N) P (0,N) M

Transformacin de tipo de relacin ternario en un tipo de entidad dbil


Dorsal
ENVIA (0,N)

Apellido PROYECTO Nombre Nmero

SUMINISTRADOR
(0,N) TIENE (0,N)

(0,N)

Nombre Nmero (0,N) M ETAPA Km

Dorsal

Nombre

CICLISTA (0,N) 1
LLEVA

Nombre
(0,N)

PROYECTO
(0,N) USA

COMPONENTE

COMPONENTE Nmero

(0,N)

MAILLOT Premio Color

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

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

c1

c2 s2

c1

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

c2

p1 p2

c2

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

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 (pero el tipo de relacin con CICLISTA es necesario) 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...

(0,N) (0,N) Cdigo PROFESOR (1,N)


CONOCE DA_CLASE

Ejemplo de diseo conceptual: requisitos de la BD

Camiones

(1,N)

(0,N) Cuatrim CUATRIMESTRE (1,N)


OFRECIDA

IMPARTE

Id Ao

P (0,N) (0,N) ASIGNATURA (0,N) Nmero

Es preciso definir restricciones de manera que haya coherencia entre los tros de IMPARTE y los pares de CONOCE, DA CLASE y OFRECIDA. 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 cuatrimestre 1-2007: (Alfredo,1-2007, ...)

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 38

DBD Tema 2

37

Ejemplo de diseo conceptual: identificacin de tipos de entidad


Nombre Nmero Peso Volumen PEDIDO Nmero Direccin Tfno ALMACN Viaje Tienda Almacn Matrcula PesoMax VolumenMax VIAJE CAMIN Nmero Fecha Camin Almacn TIENDA Direccin Tfno

Ejemplo de diseo conceptual: identificar y transformar relaciones implcitas

Almacn Tienda Camin Viaje Almacn

PEDIDO PEDIDO VIAJE PEDIDO VIAJE

SOLICITADO A_ENTREGAR REALIZADO_POR TRANSPORTADO RECOGE

ALMACN TIENDA CAMIN VIAJE 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

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 PesoMax VolumenMax
RECOGE (0,N) SOLICITADO (0,N) (1,1)

Ejemplo de diseo conceptual: otras consideraciones


Atributos de tipo de relacin: al identificar los tipos de relacin han podido quedar descolgados atributos. Tipos de entidad dbiles: los que han perdido su clave. Indicar su tipo de relacin identificador y su clave parcial, si la tiene. Si algn tipo de entidad dbil ha quedado sin apenas atributos, quiz se pueda sustituir por un tipo de relacin.
Nombre Direccin Tfno

CAMIN

(0,N)

REALIZA (1,1)

(1,1)

Nmero Fecha

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

Nmero Peso Volumen


(0,N)

PEDIDO
(1,1) ENTREGAR

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 entidad independiente (o lo contrario)

ALMACN Nmero Tfno Direccin

TIENDA

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

Ejercicios
DBD Tema 2

Ejercicio: Mundial de ftbol (2/2)


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.

Ejercicio: Universidad (1/2)


(3.16 Elmasri/Navathe 07)

DBD Tema 2

45

DBD Tema 2

46

Ejercicio: Universidad (2/2)


(3.16 Elmasri/Navathe 07)

Ejercicio: Buques (1/2)


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 48

DBD Tema 2

47

Ejercicio: Buques (2/2)


Por cada visita de un buque a un puerto interesa guardar la fecha de llegada y la de partida. Un buque puede visitar muchas veces el mismo puerto. 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 entradas en la BD.

Ejercicio: Biblioteca municipal (1/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.
DBD Tema 2 50

DBD Tema 2

49

Ejercicio: Biblioteca municipal (2/2)


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)

Ejercicio: festival de cine


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

DBD Tema 2

51

Ejercicio: Autobuses universitarios (1/2)


Las facultades y escuelas de la UPV/EHU (en adelante centros) desean ofrecer a sus alumnos un servicio de autobuses para trasladarlos desde la localidad 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 nmero de expediente universitario, su nombre, los identificadores de los cursos en los que est matriculado (por ejemplo: 1 de ITIS y 2 de ITIS), la localidad (nica) 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.

Ejercicio: Autobuses universitarios (2/2)


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.

DBD Tema 2

53

DBD Tema 2

54

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

Ejercicio: Comida rpida (2/2)


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? b) 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. c) Qu cambiaras en el esquema E/R (aadir/eliminar/modificar) para incluir la informacin relativa a sustitucin de ingredientes?
DBD Tema 2 56

N o m In g r

S u m in is tr a d o r
( 0 ,N ) LLEVA ( 1 ,N )

IN G R E D IE N T E
BA SE D E

A R T C U L O
( 0 ,N ) IN C L U ID O

( 0 ,N )

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

N o m P rd

E S P E C IA L
( 0 ,N ) ( 0 ,N ) C a n tid a d

( 0 ,N )

P E D ID O

IN C L U ID O

N m e ro Fecha

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

a) 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. (contina) DBD Tema 2 55

Ejercicio: Secciones y subsecciones


Una seccin de un documento, como la seccin nmero 1, puede o no estar dividida en otras secciones, como por ejemplo las secciones de nmero 1.1, 1.2 y 1.3. Una seccin pertenece solamente a otra seccin de nivel superior. Por ejemplo la seccin 1.2.2 pertenece a la seccin de nivel superior 1.2. Completa todas las cuestiones relacionadas con el tipo de relacin CONSTA entre cada seccin y sus subsecciones.

Ejercicio: Facturacin pedidos


Queremos aadir al esquema E/R la siguiente informacin: El n de unidades solicitadas de cada artculo en cada pedido (Unidades). El precio de un artculo (Precio). En ocasiones se ha cobrado a determinados clientes un precio especial (PrecioCliente) para un artculo de un pedido concreto. 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 (UnEnviadas) recogidas en cada factura. Tambin se desea conservar el n de unidades pendientes de enviar de cada artculo en cada pedido (UnPendientes).
Nmero Cd CLIENTE
(0,N) C-P (1,1) F-P F-A (1,1) (0,N) (1,N) P-A

Nmero Ttulo Texto SECCIN


CONSTA

PEDIDO

Nmero

FACTURA
(1,N) (0,N)

ARTICULO

(0,N)

Nmero
58

DBD Tema 2

57

DBD Tema 2

Camiones

Ejercicio: Lneas de pedido


Completa el diagrama E/R de forma PEDIDOS que se considere toda la informacin N Cliente presente en los siguientes dos 25 A. lvarez informes en formato tabla:
LNEAS DE PEDIDO Lnea Pedido Artculo Cantidad Tienda Formato 1 2 1 25 25 33
(0,N)

Ejercicios: variantes al ejemplo de CAMIONES

Direccin Lobete 20 Logroo

Partiendo de la solucin dada al ejemplo de los camiones, considera las siguientes variantes al problema:

33 J. Mgica Pintor Crispn 7 Pamplona

B5 B5 B3
(1,1) PIDE

100 100 400


(1,N)

1 1 1

Lujo Normal Normal


(1,1) CONSTA

N Direccin N Direccin

CLIENTE
(1,N)

PEDIDO N

LNEA
(1,1) TIENE (0,N)

POSEE (1,1)

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

TIENDA
DBD Tema 2

ARTCULO
59

Camiones

Ejercicios: variantes de CAMIONES (2)


d) 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. e) Considera la misma situacin del apartado B pero incluyendo la informacin de lneas de detalle. f) 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, ...)

Ejercicio: Vuelta ciclista (1/2)


Los organizadores de una vuelta ciclista por etapas quieren desarrollar una aplicacin informtica para gestionar los datos de los participantes en la competicin. Nos piden que diseemos un esquema E/R que recoja la informacin de acuerdo a lo siguiente. 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 que pertenece, fecha de nacimiento, edad, cules son las etapas que ha ganado y los puertos por los que ha pasado en primera posicin. 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