Está en la página 1de 8

Fundamentos de Bases de Datos Laboratorio 2016 - Solución Tarea 1

1. Descripción de la realidad
A continuación se describe el problema que a resolver:

El comité olı́mpico internacional desea registrar todos los datos correspondientes a la organización
de la edición 2016 de los juegos olı́mpicos. Para ésto, se mantiene información de todas las personas que
participan en los mismos, por lo que se conoce de ellos nombre, fecha y paı́s de nacimiento, paı́s donde
se emitió el pasaporte y número de pasaporte. Los dos últimos datos son necesarios para identificar a
cada participante. Algunos de los participantes son médicos, entrenadores o deportistas.
Cada deportista es entrenado por un único entrenador y se sabe que ningún deportista se entrena a sı́
mismo. Además, los entrenadores están dedicados únicamente a entrenar y están habilitados a entrenar
a varios deportistas. Para cada entrenador se conoce el año en el cual comenzó a ejercer como tal.
Los médicos realizan controles antidoping a los deportistas. De cada control antidoping se conoce
el deportista al que se le realiza el análisis, la fecha y la hora de la toma, además del tipo de toma (si
es sangre u orina). Cada control antidoping es realizado únicamente por un médico, pero cada médico
realiza varios controles. A todos los deportistas se les realiza al menos un control antidoping y se sabe
que un médico no puede realizar más de un control a un mismo deportista.
De cada disciplina que realiza un deportista se conoce un código que la identifica y su nombre, pero
además se conocen las distintas pruebas de cada una de ellas. Por ejemplo, las pruebas de 100 metros
llanos masculino y 100 metros con vallas femenino corresponden a la disciplina atletismo, mientras
que las pruebas de gimnasia artı́stica y las de gimnasia rı́tmica corresponden a la disciplina gimnasia.
De cada prueba se conoce el número que la identifica dentro de cada disciplina y su nombre. Interesa
modelar en qué pruebas participa cada deportista. Un deportista no solo puede realizar varias pruebas
de una misma disciplina, sino que también puede practicar varias disciplinas. Todos los deportistas que
se registran en la edición 2016 de los juegos olı́mpicos practican al menos una disciplina y todas las
disciplinas registradas son realizadas en esta edición.
Cada prueba se lleva a cabo en un único estadio olı́mpico identificado por un código. De cada estadio
además se conoce su nombre, dirección (ciudad, calle y número) y capacidad. De cada entrada interesa
saber si fue vendida, su precio, el número de asiento y fecha. Cada prueba se realiza en una fecha y hora
dada en el estadio designado, pero hay que tener en cuenta que cada prueba se puede realizar varias
veces en cada estadio en diferentes horas y fechas (clasificaciones, mal tiempo, etc). Para los deportistas
que compiten en cierta prueba, se registra el resultado (posición en el ranking) final del deportista en
cada participación e interesa saber en qué estadios participó en cada prueba.

1.1. Solución Actividad 1


La Figura 1a presenta una posible representación de la realidad descripta en la letra, mientras que la
Figura 1b presenta un conjunto de RNEs que se deben satisfacer.

Instituto de Computación - Facultad de Ingenierı́a - UdelaR Página 1 de 8


12 de septiembre de 2016
Fundamentos de Bases de Datos Laboratorio 2016 - Solución Tarea 1

país fecha paisEmision


pasaporte código
número disciplinas
nacimiento nombre
participantes
nombre

de
añoComienzo
N 1
médicos deportistas de entrenadores N
número
1 N pruebas
nombre
realizan de

de
fecha N N
id
hora controles ranking N fecha
tipo N id
participan eventos hora

N N

entrada
seRealizan

N 1
precio
asientos en estadios código
nroAsiento N
ciudad
calle dirección nombre
nro
capacidad

(a) Figura 1: Diagrama entidad relación

1. los entrenadores están dedicados únicamente a entrenar:


médicos ∩ entrenadores = ∅
deportistas ∩ entrenadores = ∅
2. un médico no puede realizar más de un control a un mismo deportista:
(∀ m ∈ médicos) (∀ c1 ∈ controles) (∀ c2 ∈ controles) (
hm, c1 i ∈ realizan ∧ hm, c2 i ∈ realizan ∧ c1 6= c2 →
¬(∃d ∈ deportistas) (hd, c1 i ∈ de ∧ hd, c2 i ∈ de)
)

3. las pruebas en las que participa un deportista no coinciden en fecha y hora:


(∀ d ∈ deportistas) (∀ e1 ∈ eventos) (
hd, e1 i ∈ participan → ¬(∃ e2 ∈ eventos) (
e2 6= e1 ∧ hd, e2 i ∈ participan ∧ f echa(id(e1 )) = f echa(id(e2 ))∧
hora(id(e1 )) = hora(id(e2 ))
)
)

(b) Figura 1: Restricciones no estructurales

Instituto de Computación - Facultad de Ingenierı́a - UdelaR Página 2 de 8


12 de septiembre de 2016
Fundamentos de Bases de Datos Laboratorio 2016 - Solución Tarea 1

4. una entrada para un asiento es vendida para eventos que se realizan en el estadio al que
corresponde dicho asiento:
(∀ a ∈ asientos) (∀ e ∈ eventos) (∀ s ∈ estadios) (
ha, ei ∈ entrada ∧ ha, si ∈ en → he, si ∈ seRealizan
)

5. si un médico es deportista entonces no puede hacerse un control antidoping a sı́ mismo:


(∀ m ∈ médicos) (
m ∈ deportistas → ¬(∃ c ∈ controles)(hc, di ∈ de ∧ hc, mi ∈ realizan)
)

(b) Figura 1: Restricciones no estructurales

Instituto de Computación - Facultad de Ingenierı́a - UdelaR Página 3 de 8


12 de septiembre de 2016
Fundamentos de Bases de Datos Laboratorio 2016 - Solución Tarea 1

2. Solución Actividad 2
En esta sección se describen los errores más importantes que se encuentran en los diagramas de los casos
1 y 2.

2.1. Solución del Caso 1


La Figura 3a presenta una posible representación de la realidad descripta en la letra, mientras que la
Figura 3b presenta un conjunto de RNEs que se deben satisfacer.

2.1.1. Problemas más importantes del Caso 1


1. El atributo datos de la relación seRealizan no es multivaluado, por lo tanto de cada pareja (prue-
ba,estadio) que participa en la relación se conoce una sola fecha y hora de realización. Esto implica
que una prueba en un estadio se puede realizar una sola vez.
2. La siguiente RNE es incorrecta:
médicos ∩ deportistas = ∅
La descripción de la realidad dice: “un médico no puede realizar más de un control a un mismo deportis-
ta”.
3. Controles Médicos:
a) Como el control se modela como una relación (controlan) y los atributos de dicha relación no son
multivaluados, se garantiza que cada médico realiza a lo sumo un control a cada deportista. Esto
es correcto pero la solución tiene otros problemas que se detallan en los puntos siguientes.
b) La cardinalidad de la relación controlan es 1 del lado del médico, por lo tanto cada deportista sólo
puede ser controlado por un médico. Esto no se desprende de la descripción de la realidad y por
lo tanto la cardinalidad deberı́a ser N.
c) Si la cardinalidad de la relación controlan fuese N del lado del médico cada deportista podrı́a
relacionarse con más de un médico. En ese caso, para garantizar que “cada control antido-
ping es realizado únicamente por un médico”, es necesario agregar RNEs que garanticen que
si controlan(m1 , d) ∧ controlan(m2 , d) entonces los valores de los atributos tipo, hora, fecha aso-
ciados a estas dos parejas son distintos.
4. Las personas se identifican por su pasaporte, que es un atributo compuesto. No es correcto subrayar ca-
da uno de los componentes del atributo ya que con esto indicamos que tanto numero como paisEmision
son atributos que identifican a la entidad persona, cuando lo que queremos decir es que se identifica
por el par hnumero, paisEmisioni y esto se indica subrayando el atributo pasaporte.
5. Se modelan los juegos olı́mpicos como una entidad, de la cual no se conocen atributos ni relaciones. No
corresponde modelar este concepto.

6. Se modelan las entradas a los estadios como entidades fuertes identificadas por el par hnroAsiento, f echai.
A su vez, las entradas se relacionan con los estadios a través de la relación en que tiene cardinalidad 1
del lado del estadio para asegurar que una entrada pertenece a un único estadio. Supongamos que los
números de asiento se repiten en estadios diferentes. Al modelar la realidad de esta manera no podrı́a
tener entradas para el mismo dia para asientos de igual número en estadios diferentes. Esto se resuelve
modelando la entrada como una entidad débil del estadio.

7. Falta la RNE que garantice que “los entrenadores están dedicados únicamente a entrenar”:
deportistas ∩ entrenadores = ∅

Instituto de Computación - Facultad de Ingenierı́a - UdelaR Página 4 de 8


12 de septiembre de 2016
Fundamentos de Bases de Datos Laboratorio 2016 - Solución Tarea 1

país fecha paisEmision


pasaporte año
numero
nacimiento
N N
nombre participantes asisten juegosOlimpicos

añoComienzo código
nombre
médicos deportistas entrenadores disciplinas
1 N N 1

de
resultado

controlan participan N numero


nombre
tipo
pruebas
fecha
hora
N
fecha
datos
N hora
seRealizan

N
fueVendida N 1
precio entradas en estadios código
ciudad
calle dirección nombre
nroAsiento nro
id capacidad
fecha

(a) Figura 3: Diagrama entidad relación - Caso 1

1. médicos ∩ entrenadores = ∅

2. médicos ∩ deportistas = ∅
3. todos los deportistas que participan de cierta prueba realizada en un estadio obtienen resul-
tados diferentes (no hay empates):
(∀e ∈ estadios) (∀p ∈ pruebas) (∀d1 ∈ deportistas) (
he, pi ∈ seRealizan ∧ hhe, pi , d1 i ∈ participan →
¬(∃d2 ∈ deportistas) (
hhe, pi , d2 i ∈ participan ∧ resultado (hhe, pi , d2 i) = resultado (hhe, pi , d1 i)
)
)

4. las pruebas en las que participa un deportista no coinciden en fecha y hora:


(∀e ∈ estadios) (∀p1 ∈ pruebas) (∀d ∈ deportistas) (
he, p1 i ∈ seRealizan ∧ hhe, p1 i , di ∈ participan →
¬(∃p2 ∈ pruebas) (
he, p2 i ∈ seRealizan ∧ hhe, p2 i , di ∈ participan ∧
f echa(datos(hhe, p2 i , di)) = f echa(datos(hhe, p1 i , di))∧
hora(datos(hhe, p2 i , di)) = hora(datos(hhe, p1 i , di)
)
)

(b) Figura 3: Restricciones no estructurales - Caso 1

Instituto de Computación - Facultad de Ingenierı́a - UdelaR Página 5 de 8


12 de septiembre de 2016
Fundamentos de Bases de Datos Laboratorio 2016 - Solución Tarea 1

2.2. Solución del Caso 2


La Figura 4a presenta una posible representación de la realidad descripta en la letra, mientras que la
Figura 4b presenta un conjunto de RNEs que se deben satisfacer.

paisEmision
país fecha
número
5
nacimiento
participantes
nombre

añoComienzo
N 1 código
médicos deportistas de entrenadores disciplinas
N nombre
N N

de realiza
6 de
fecha
id N
hora
N
tipo controles número
pruebas
4 N
nombre
paisEmision pasaporte
número Médico
fecha*
7 N seRealizan
hora*
1
participan

fueVendida 1
precio entradas en estadios código
fecha N ciudad
calle dirección nombre
2 nroAsiento
nro
3 capacidad

(a) Figura 4: Diagrama entidad relación - Caso 2

1. deportistas ∩ entrenadores = ∅
2. médicos ∩ deportistas = ∅
3. un médico no realiza más de un control antidoping de un mismo deportista:
(∀ d ∈ deportistas) (∀ c1 ∈ controles) (∀ c2 ∈ controles) (
c1 6= c2 ∧ hc1 , di ∈ de ∧ hc2 , di ∈ de →
¬ (paisEmision(pasaporteM édico(c1 )) = paisEmision(pasaporteM édico(c2 )) ∧
número(pasaporteM édico(c1 )) = número(pasaporteM édico(c2 )))
)

(b) Figura 4: Restricciones no estructurales - Caso 2

2.2.1. Problemas más importantes del Caso 2


1. Los atributos multivaluados fecha y hora no permiten determinar el momento exacto en que se realizó
una prueba en un estadio determinado. Dada una pareja (prueba, estadio) que participa de la relación
seRealizan se conocen todas las fechas de realización por un lado y todas las horas por otro. Lo correcto
serı́a modelarlo como se indica en la Figura 5

Instituto de Computación - Facultad de Ingenierı́a - UdelaR Página 6 de 8


12 de septiembre de 2016
Fundamentos de Bases de Datos Laboratorio 2016 - Solución Tarea 1

Figura 5: Atributos de la relación seRealizan

2. Si el identificador parcial de la entidad débil entradas es el atributo nroAsiento, solamente se podrı́a


vender una entrada para un asiento para una única fecha. Lo correcto serı́a modelarlo como se indica
en la Figura 6

Figura 6: Identificación de la entidad entradas

3. Realización de pruebas: el primer error se encuentra en la cardinalidad de la relación seRealizan del


lado de estadios. Si la misma fuera correcta, una prueba podrı́a realizarse únicamente en un solo estadio
(ej: los 100 metros llanos masculinos solo podrı́an realizarse en el estadio Centenario). El segundo
error está directamente relacionado con el anterior, ya que la agregación de la relación seRealizan no
serı́a necesaria si la cardinalidad del lado de estadios fuera 1. En dicho caso, la participación de los
deportistas en las pruebas podrı́a modelarse como una relación entre ambas entidades.
4. Se utiliza el atributo pasaporteMédico para modelar la relación entre los controles y los médicos. Este
error es MUY grave, ya que se quiere representar una relación por medio de un atributo. Lo correcto
serı́a modelarlo como se indica en la Figura 7

Instituto de Computación - Facultad de Ingenierı́a - UdelaR Página 7 de 8


12 de septiembre de 2016
Fundamentos de Bases de Datos Laboratorio 2016 - Solución Tarea 1

Figura 7: Relación entre médicos y controles

Además es necesario agregar una totalidad en la relación de del lado de deportistas para modelar el
hecho de que
“A todos los deportistas se les realizan al menos un control antidoping ...”
Por último, es necesario reescribir la RNE 3.
(∀ m ∈ médicos) (∀ c1 ∈ controles) (∀ c2 ∈ controles) (
hm, c1 i ∈ realizan ∧ hm, c2 i ∈ realizan ∧ c1 6= c2 → ¬(∃d ∈ deportistas) (hd, c1 i ∈ de ∧ hd, c2 i ∈ de)
)
5. La clave de la entidad participantes está modelada de forma incorrecta, ya que no permitirı́a registrar
dos participantes de un mismo paı́s o de paı́ses diferentes pero con igual número de pasaporte. Lo
correcto serı́a modelarla como se indica en la Figura 8.

Figura 8: Identificación de participantes

6. La relación realiza entre las entidades deportistas y disciplinas no es necesaria ya que, no aporta infor-
mación adicional e introduce varias RNEs para mantener la integridad del modelo.
7. Falta la totalidad de la relación participan del lado de la entidad deportistas. En principio, no serı́a útil
registrar información de deportistas que nunca participaron de ninguna prueba.
8. Falta la siguiente RNE:
médicos ∩ entrenadores = ∅
Ya que según la letra “...los entrenadores están dedicados únicamente a entrenar...”
9. Del MER anterior no es posible satisfacer el siguiente requerimiento: “Para los deportistas que compiten
en cierta prueba, se registra el resultado (posición en el ranking) final del deportista en cada participación
e interesa saber en qué estadios participó en cada prueba.”

Instituto de Computación - Facultad de Ingenierı́a - UdelaR Página 8 de 8

También podría gustarte