Introducción
Cuando se desarrolla una base de datos, primero se tiene que
realizar un modelado teniendo en cuenta las distintas entidades, sus atributos
y las relaciones que se dan entre unas y otras. Cuando se hace un buen análisis
previo al desarrollo de la base de datos y se tienen bien identificados todos
los elementos, la base asegura un funcionamiento óptimo. Pero antes de intentar
desarrollar una base de datos real, se necesita, como con cualquier otra
actividad, resolver problemas teóricos previos.
Ejercicio 1
Constrúyase un diagrama ER para una compañía de seguros de
coches cuyos clientes poseen uno o más coches cada uno. Cada coche tiene
asociado un valor que va de cero al número de accidentes registrados.
Ejercicio 2
Se desea diseñar una base de datos para almacenar y
gestionar la información empleada por un concesionario de automóviles, teniendo
en cuenta los siguientes aspectos:
De cada coche interesa saber la matrícula, modelo, marca y
color.
Un cliente puede comprar varios coches en el concesionario.
Cuando un cliente compra un coche, se le hace una ficha en el concesionario con
la siguiente información: dni, nombre, apellidos, dirección y teléfono. Los
coches que el concesionario vende pueden ser nuevos o usados (de segunda mano).
De los coches nuevos interesa saber el número de unidades que hay en el
concesionario. De los coches viejos interesa el número de kilómetros que lleva
recorridos. El concesionario también dispone de un taller en el que los
mecánicos reparan los coches que llevan los clientes. Un mecánico repara varios
coches a lo largo del día, y un coche puede ser reparado por varios mecánicos.
Los mecánicos tienen un dni, nombre, apellidos, fecha de contratación y
salario. Se desea guardar también la fecha en la que se repara cada vehículo y
el número de horas que se ha tardado en arreglar cada automóvil.
Ejercicio 3
Diseñe un diagrama ER para almacenar los logros de su equipo
deportivo favorito. Se deben almacenar los partidos jugados, el resultado de
cada partido, los jugadores de cada partido y las estadísticas de cada jugador
en cada partido. Las estadísticas resumidas se deben representar como atributos
derivados.
Ejercicio 4
Una base de datos para una pequeña empresa debe contener
información acerca de clientes, artículos y pedidos. Hasta el momento se
registran los siguientes datos en documentos varios:
o
Para cada cliente: Número de cliente (único),
Direcciones de envío (varias por cliente), Saldo, Límite de crédito (depende
del cliente, pero en ningún caso debe superar los 3000000pts), Descuento.
o
Para cada artículo: número de artículo (único),
Fábricas que lo distribuyen, Existencias de este artículo en cada fábrica,
Descripción del artículo.
o
Para cada pedido: Cada pedido tiene una cabecera
y el cuerpo pedido. La cabecera está formada por el número de cliente,
dirección de envió y fecha del pedido. El cuerpo del pedido son varias líneas,
en cada línea se especifican el número del artículo pedido y la cantidad.
o
Además, se ha determinado que se debe almacenar
la información de las fábricas. Sin embargo, dado el uso de distribuidores, se
usara: número de la fábrica (único) y teléfono de contacto. Y se desean ver
cuantos artículos (en total) provee la fábrica. También, por información
estratégica, se podría incluir información de fábricas alternativas respecto de
las que ya fabrican artículos para esa empresa.
§
Nota: Una
dirección se entenderá como n°, calle, comuna y ciudad. Una fecha incluye hora.
Se pide hacer
el diagrama ER para la base de datos que represente esta información.
Ejercicio 5
Le contratan para hacer una BD que permita apoyar la gestión
de un sistema de ventas. La empresa necesita llevar un control de proveedores,
clientes, productos y ventas. Un proveedor tiene un RUT, nombre, dirección,
teléfono y pagina web. Un cliente también tiene RUT, nombre, dirección, pero
puede tener varios teléfonos de contacto. La dirección se entiende por calle,
numero, comuna y ciudad. Un producto tiene un id único, nombre, precio actual,
stock y nombre del proveedor. Además se organizan en categorías, y cada
producto va solo en una categoría. Una categoría tiene id, nombre y
descripción. Por razones de contabilidad, se debe registrar la información de
cada venta con un id, fecha, cliente, descuento y monto final. Además se debe
guardar el precio al momento de la venta, cantidad vendida y el monto total por
el producto.
Ejercicio 6
Obtener el diagrama ER para un sistema de control de vuelos
adaptado a las siguientes reglas:
o
De cada aeropuerto se conoce su código, nombre,
ciudad y país.
o
En cada aeropuerto pueden tomar tierra diversos
modelos de aviones (el modelo de un avión determina su capacidad, es decir, el
número de plazas).
o
En cada aeropuerto existe una colección de programas
de vuelo. En cada programa de vuelo se indica el número de vuelo, línea aérea y
días de la semana en que existe dicho vuelo.
o
Cada programa de vuelo despega de un aeropuerto
y aterriza en otro.
o
Los números de vuelo son únicos para todo el
mundo.
o
En cada aeropuerto hay múltiples aterrizajes y
despegues. Todos los aeropuertos contemplados están en activo, es decir, tienen
algún aterrizaje y algún despegue.
o
Cada vuelo realizado pertenece a un cierto
programa de vuelo. Para cada vuelo se quiere conocer su fecha, plazas vacías y
el modelo de avión utilizado.
o
Algunos programas de vuelo incorporan escalas
técnicas intermedias entre los aeropuertos de salida y de llegada. Se entiende
por escala técnica a un aterrizaje y despegue consecutivos sin altas o bajas de
pasajeros.
o
De cada vuelo se quieren conocer las escalas técnicas
ordenadas asignándole a cada una un número de orden. Por ejemplo, el programa
de vuelo 555 de Iberia con vuelos los lunes y jueves despega de Barajas –
Madrid - España y aterriza en Caudell – Sydney – Australia teniendo las
siguientes escalas técnicas:
§
Los Padriños – Sapo Paulo – Brasil
§
El Emperador – Santiago – Chile
§ Saint Kitts – Auckland – Nueva
Zelanda
Ejercicio 7
Las sedes olímpicas se dividen en complejos deportivos. Los
complejos deportivos se subdividen en aquellos en los que se desarrolla un
único deporte y en los polideportivos. Los complejos polideportivos tienen
áreas designadas para cada deporte con un indicador de localización (ejemplo:
centro, esquina – NE, etc.). Un complejo tiene una localización, un jefe de
organización individual y un área total ocupada.
Los dos tipos de complejos (deporte único y polideportivo)
tendrán diferentes tipos de información. Para cada tipo de sede, se conservara
el número de complejos, junto con su presupuesto aproximado. Cada complejo
celebra una serie de eventos (ejemplo: la pista de estadio puede celebrar
muchas carreras distintas.). Para cada evento está prevista una fecha,
duración, número de participantes, número de comisarios. Una lista de todos los
comisarios se conservara junto con la lista de los eventos en los que esté
involucrado cada comisario ya sea cumpliendo la tarea de juez u observador.
Tanto parta cada evento como para el mantenimiento se necesitara cierto
equipamiento (ejemplo: arcos, pértigas, barras paralelas, etc.).
Ejercicio 8
Torneo de Tenis Grand
Slam. El sistema debe memorizar todos los encuentros que se han
desarrollado desde que existe el torneo, así como las siguientes
características de estos:
·
El Grand Slam se compone de cuatro torneos
anuales que se celebran en Gran Bretaña, Estados Unidos, Francia y Australia.
En cada país se pueden desarrollar en distintos lugares (ejemplo: en EE.UU.
puede desarrollarse en Forest Hill o en FlashingMeadows).
·
Cada partido tiene asociado un premio de
consolación para el perdedor que dependerá de la fase en que se encuentre el
torneo (ejemplo: el perdedor de octavos de final puede ganar 5000 dólares). El
ganador de la final recibirá el premio correspondiente al torneo.
·
Cada torneo tiene cinco modalidades: individual
masculino, individual femenino, dobles masculino, dobles femenino y dobles
mixtos.
·
También hay que tener en cuenta la nacionalidad
de un jugador, de forma que este puede ser apátrida o tener varias
nacionalidades.
·
Resultados a considerar. El sistema debe dar
respuesta a las siguientes preguntas:
·
Dado un año y un torneo, composición y resultado
de los partidos.
·
Lista de árbitros que participaron en el torneo.
·
Ganancias percibidas en premios por un jugador a
lo largo del torneo.
·
Lista de entrenadores que han entrenado a un
jugador a lo largo del torneo y fechas en las que lo hizo.
Ejemplos e acceso a la base de
datos:
·
Connors gano Gerulaitis en Roland Garros en 1979
en cuartos de final en individuales masculinos por 6-3 4-6/7-5 6-0.
·
El señor Wilkinson arbitró ese partido.
·
Alemania ha ganado dos veces las individuales
masculinas de Wimbledon. Borg ha ganado 2000000 de dólares a lo largo de su
participación en el Grand Slam.
·
El ganador de Roland Garros de 1987 ganó 20000
dólares.
·
Noah ha jugado cuatro veces en dobles mixtos con
Mandlikova.
Ejercicio 9
Se desea crear un sitio web con información referente a las
películas en cartel en las salas de un dudoso cine cercano a la plaza de armas.
De cada película, se almacena una ficha con su título de
distribución, su título original, su género, el idioma original, si tiene
subtítulos en español o no, los países de origen, el año de la producción, la
url del sitio web de la película, la duración (en horas y minutos), la
calificación (Apta todo público, +9 años, +15 años, +18 años), fecha de estreno
en Santiago, un resumen y un identificador de la película. De cada película
interesa conocer la lista de directores y el reparto, es decir para cada actor
que trabaja, el nombre de todos los personajes que interpreta.
Además interesa disponer de información sobre los directores
y actores que trabajan en cada película. De ambos, se conoce su nombre (que lo
identifica) y su nacionalidad. Además se desea conocer la cantidad de películas
en las que dirigieron o actuaron. Tenga en cuenta que hay personas que cumplen
los dos roles. Los cines pueden tener más de una sala y cada semana cada uno de
los cines envía la cartelera para dicha semana, indicando de detalle de las
funciones. Para cada función se conoce el día de la semana y la hora de
comienzo, y obviamente la sala de la película que exhibe. De cada sala se sabe
el nombre, un número que la identifica, su dirección y teléfono para consultas.
Algunos cines cuentan con promociones. Estas promociones dependen de la función
(ejemplo: De lunes a jueves antes de las 18 50% de descuento en la sala tal del
cine tal para la película cual…la función del lunes a las 14 para la película
tal en la sala cual, no se cobra a los escolares con túnica…). De cada promoción
se conoce una descripción y el descuento que aplica.
Además del resumen de la película que se incluye en la ficha
interesa mostrar la opinión de las personas que vieron la película. De cada
opinión se conoce el nombre de la persona que la realiza, su edad, la fecha en
que registro su opinión, la calificación que le dio a la película (Obra
Maestra, Muy Buena, Buena, Regular, Mala) y el comentario propiamente dicho. A
cada opinión se le asigna un número que la identifica respecto de la película
sobre la cual opina.
Ejercicio 10
El gerente de la fábrica de muebles MosKea, Sr. Bert Oldose,
ha decidido utilizar un sistema de BD para representar la estructura de los
muebles que distribuye. Realizar un diagrama ER correspondiente teniendo en
cuenta que:
·
Los muebles están representados por un nombre
único.
·
También se quiere conocer su precio.
·
Todo mueble está formado por una o más piezas.
Cada pieza tiene un identificador único y puede formar parte de varios muebles.
Interesa apuntar cuantas unidades de cada pieza componen el mueble.
·
Todas las unidades de una pieza se encuentran en
uno o más estantes del almacén. El estante viene determinado de forma única por
dos valores: pasillo y altura. además de en qué estantes están las piezas
interesa conocer cuántas unidades de la pieza hay almacenadas en cada estante.
Conclusión
No importa que actividad planeemos realizar, es importante
practicar previamente con ejemplos. En este documento se resolvieron algunos
ejercicios de modelado de bases de datos utilizando el modelo de
entidad-relación, mostrando en cada ejercicio, una de tantas maneras posibles
de abstraer un problema y plasmarlo por medio de un diagrama. Por medio de estos
ejemplos, se puede apreciar la utilidad y eficacia del modelo entidad-relación
al momento de modelar una base de datos.
Nota:
El link de pdf de la entrada anterior no es correcto, éste es el correcto: