domingo, 23 de febrero de 2014

Ejercicios de entidad-relación

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:

No hay comentarios:

Publicar un comentario