Ejercicios de Entidad-Relación

Anuncio
1.- Aquí jugamos todos...
La República de Horta nos ha pedido que organicemos en una Base de Datos la información de
todas sus federaciones (deportes). De cada federación tendremos el nombre de la misma, la fecha
de la creación y el nombre del responsable.
Como es de suponer, cada Federación estará formada por equipos que jugarán en una o varias
competiciones (véase el ejemplo del Salletronix C.D., que tiene equipo de fútbol y baloncesto). De
los equipos sabremos su: nombre, ciudad que representan y el nombre de su presidente.
Cada competición, de la que sabremos su nombre y la televisión que lo retransmite, se jugará
durante diferentes temporadas, donde en cada una de ellas puede cambiar los equipos que
participan (motivos económicos, desmotivación de los aficionados, sanciones...). De cada
temporada sabremos: la fecha inicio y la final.
Un equipo en una competición y temporada determinadas tendrá, al final de año, una posición en
la clasificación general.
2.- Lo importante es participar...
La Federación encargada de la Liga de Balón Prisionero de Sant Hipòlit de Voltregà quiere
almacenar datos de la competición.
Por un lado tendremos los equipos y los jugadores. De cada equipo queremos saber: su nombre,
su año de fundación, su presupuesto, su dirección, su presidente, su entrenador y los jugadores
que lo forman. De cada jugador: su nombre, apellido, número de la SS, su dorsal, su ubicación en
el terreno de juego y su ficha (lo que cobra).
Como es de suponer, los equipos no jugarán consigo mismos, por lo que habrá partidos. De cada
partido queremos saber: la fecha, los equipos que lo jugaron, el árbitro y el resultado.
De los árbitros deberemos conocer: su nombre, apellido, número de la SS, el año en que empezó a
arbitrar, número de colegiado y su profesión cuando no es árbitro.
3.- Hospital, impaciente hospital con pacientes...
El Hospital Nuestra Señora de Airún nos ha pedido el Análisis Entidad-Relación para su posterior
conversión a Modelo Relacional y de aquí pasar a una implementación de BBDD. La Base de
Datos se renueva cada año, es decir, la información que contiene es anual.
Dicho hospital está formado por médicos y pacientes. De ambos, tendremos almacenados: su
nombre, sus dos apellidos, su fecha de nacimiento, su DNI y su Número de la Seguridad Social.
Concretamente de los médicos tendremos: su número de colegiado y la especialidad o
especialidades que practica. Del paciente, sabremos: la fecha de ingreso y salida, la habitación en
la que está ahora o ha estado en otro ingreso anterior y si tiene mutua o no. Asimismo, un paciente
es atendido por uno o varios médicos. Para cada médico que es atendido, queremos saber la
fecha de la primera consulta y de la última. Además, a un paciente se le puede indicar la
realización de una prueba médica. Dicha prueba médica será pedida por un único médico y será
realizada por un laboratorio. De un laboratorio sabremos su nombre, la dirección y teléfono. De una
prueba, el nombre de la misma, su coste y el tiempo medio para realizarla.
Las instalaciones del hospital están formadas por varios Pabellones que se dedican a una única
especialidad, como por ejemplo: Traumatología, UCI, Patologías Cardiovasculares...
pero puede haber varios Pabellones de la misma especialidad (UCI 1 y UCI 2). De cada pabellón
sabremos el número de pisos y el número de gente que trabaja en él. Cada Pabellón, a su vez,
tiene un conjunto de habitaciones. De cada una de las habitaciones nos gustaría conocer: su
número (para cada pabellón empieza en 1, es decir, la numeración de las habitaciones no es
general y único para todo el hospital) Hay una habitación 1 en Traumatología, otra habitación 1 en
UCI...), el paciente que reside en ella, la fecha de ingreso y de salida del mismo y si la habitación
tiene televisión o no.
4.- SUPERhéroes con SUPERformance Entidad-Relación
El profesor Charles Xavier nos ha pedido que hagamos una Base de Datos con tal de organizar y
tener el control de todos los Superhéroes que forman parte de La Patrulla X o que acuden a él y le
ayudan a luchar contra el Mal. Asimismo, quiere información sobre los SuperVillanos.
Concretamente nos ha pedido que guardemos la siguiente información:
•
De cada SuperHéroe o SuperVillano se quiere guardar: un id (único), su nombre real, su
nombre de Héroe o Villano, su altura y su peso. Además, quisiéramos saber ya sean
SuperHéroes o SuperVillanos, qué poder o poderes tienen. Los poderes están establecidos
con identificador y son los siguientes: Fuerza, miles de armas, gran inteligencia, volar,
poder sobre la naturaleza y agilidad sorprendente (un SuperHéroe o SuperVillano puede
tener más de un poder).
•
De un SuperHéroe se quiere saber en concreto: el nombre de la ciudad que tiene asignada
para proteger (sólo una) y el año en que empezó a salvar vidas. Asimismo, queremos
saber si un SuperHéroe normalmente forma parte de un equipo o trabaja solo. Si pasa lo
primero queremos saber con qué otro SuperHéroe forma equipo (Ej: Batman y Robin van
juntos, y lo mismo ocurre con los miembros de los 4 fantásticos o la Patrulla X... pero sin
embargo, Superman trabaja solo).
•
De un SuperVillano queremos saber en concreto: el grado de maldad (es un valor entre el
1 y el 10) y el número de secuaces que tiene (los secuaces no son SuperVillanos, sino
mercenarios o ladrones de poca monta, sólo queremos saber el número que un
SuperVillano tiene a su cargo).
•
A Charles Xavier le gustaría también conocer qué Superhéroe ha atrapado a qué
SuperVillano en alguna ocasión y saber la fecha y nombre de la ciudad en que se produjo
tal hazaña. Un SuperHéroe puede atrapar a un SuperVillano en una ciudad que no tiene
porqué ser la que protege, debido por ejemplo, porque en un momento determinado ayudó
a otro SuperHéroe de otra ciudad que le pidió sus servicios (Es una colaboración para
combatir el Mal. Ej: Spiderman ayuda a Catwoman porque el SuperVillano Joker es muy
poderoso, esto no quiere decir que Spiderman trabaje normalmente con Catwoman puesto
que es una colaboración esporádica ni que Spiderman tenga asignada como ciudad a
proteger Gotham City, puesto que todos sabemos que protege la ciudad de Nueva York.).
1. Hacer el diagrama Entidad-Relación.
2. ¿Cómo cambiaría el diagrama E-R si en vez de querer guardar sólo el nombre de la ciudad
(tanto para el SuperHéroe como en las hazañas), quisiéramos guardar de una ciudad los
campos: nombre (único), número de habitantes, extensión territorial y un booleano que nos
diga si es una ciudad ficticia o real?
Se recomienda hacer los siguientes pasos:
1. Identificar las entidades (fuertes y débiles) y sus respectivos atributos (establecer
qué atributos son Clave Primaria (PK)).
2. Identificar las relaciones entre entidades así como los atributos de las mismas.
3. Una vez tenemos las entidades y las relaciones identificadas, establecer la
conectividad (también llamada cardinalidad) de las instancias de las entidades dentro
de las respectivas relaciones (si es 1:1, 1:N (N:1), N:M y/o si hay opcionabilidad).
Descargar