CC42A – BASES DE DATOS Profesores: Claudio Gutiérrez, Gonzalo Navarro Auxiliar: Mauricio MonsalveGUÍA DE EJERCICIOS: Modelo Entidad/Relación y conversión a Modelo Relacional Modelo Entidad/Relación Problema 1 (*): Artículos y encargos 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: • 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 3.000.000 pts), Descuento. • Para cada artículo: Número de artículo (único), Fábricas que lo distribuyen, Existencias de ese artículo en cada fábrica, Descripción del artículo. • Para cada pedido: Cada pedido tiene una cabecera y el cuerpo del pedido. La cabecera está formada por el número de cliente, dirección de envío 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. Además, se ha determinado que se debe almacenar la información de las fábricas. Sin embargo, dado el uso de distribuidores, se usará: Número de la fábrica (único) y Teléfono de contacto. Y se desean ver cuántos 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 esta 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. Problema 2 (*): Sistema de ventas 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 página 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, número, 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 sólo 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, la cantidad vendida y el monto total por el producto. Problema 3: Carreteras Diseñar un esquema E/R que recoja la organización de una base de datos para contener la información sobre todas las carreteras del país, sabiendo que se deben cumplir las siguientes especificaciones: - Las carreteras están divididas en varias categorías (locales, comerciales, regionales, nacionales, autovías, etc). - Las carreteras se dividen en tramos. Un tramo siempre pertenece a una única carretera y no puede cambiar de carretera. - Un tramo puede pasar por varias comunas, interesando conocer el Km de la carretera y la comuna donde empieza el tramo y en donde termina. - Para los tramos que suponen principio o final de carretera, interesa saber si es que la carretera concluye físicamente o es que confluye en otra carretera. En este caso, interesa conocer con qué carretera confluye y en qué kilómetro, tramo y comuna. Problema 4: Sistema de vuelos Obtener el diagrama E/R para un sistema de control de vuelos adaptado a las siguientes reglas de gestión (indicar las entidades, interrelaciones, etc., que se deducen de cada una de las reglas): f) En cada aeropuerto hay múltiples aterrizajes y despegues. Problema 6: Educando S.A. unidad de medida del bien. g) Cada vuelo realizado pertenece a un cierto programa de vuelo. Todos los aeropuertos contemplados están en activo.). plazas vacías y el modelo de avión utilizado. Problema 5 (*): Olimpíadas Las sedes olímpicas se dividen en complejos deportivos. o Quien realiza una solicitud puede ser responsable de uno o varios centros de costos. Cada complejo celebra una serie de eventos (ejemplo: la pista del estadio puede celebrar muchas carreras distintas. el número de plazas. b) En cada aeropuerto pueden tomar tierra diversos modelos de aviones (el modelo de un avión determina su capacidad. ciudad y país. Para cada evento está prevista una fecha. Tanto para cada evento como para el mantenimiento se necesitará cierto equipamiento (ejemplo: arcos. Los complejos deportivos se subdividen en aquellos en los que se desarrolla un único deporte y en los polideportivos. . un jefe de organización individual y un área total ocupada. con la salvedad de que él como empleado solo está adscrito a uno. Los complejos polideportivos tienen áreas designadas para cada deporte con un indicador de localización (ejemplo: centro. INVENTARIO. pértigas. se conservará el número de complejos junto con su presupuesto aproximado. c) En cada aeropuerto existe una colección de programas de vuelo. o De la solicitud se debe diligenciar la siguiente información: Número de la solicitud (consecutivo). 2-El Emperador-Santiago-Chile y 3-Saint Kitts-Auckland-Nueva Zelanda. En cada solicitud se pueden discriminar uno o muchos ítems con la siguiente información: ítem. d) Cada programa de vuelo despega de un aeropuerto y aterriza en otro. Rubro presupuestal del cual se descargará la compra.A. Por ejemplo. ¿Que cambios se producirán en el caso anterior si en las escalas pudiesen bajar o subir pasajeros? Explicar cómo se podría representar esta nueva situación. número de comisarios. etc. Los dos tipos de complejos (deporte único y polideportivo) tendrán diferentes tipos de información." se lleva control de sus Bienes y Servicios. o Cada solicitud tiene un responsable. línea aérea y días de la semana en que existe dicho vuelo. duración. tienen algún aterrizaje y algún despegue. El interés primario es poder hacer que los Bienes se manejen de forma rápida y con el menor grado de error. Un complejo tiene una localización. nombre del bien. es decir. En cada programa de vuelo se indica el número de vuelo. el programa de vuelo 555 de Iberia con vuelos los lunes y jueves despega de BarajasMadrid-España y aterriza en Caudell-Sydney-Australia teniendo las siguientes escalas técnicas: 1. Fecha. Para esto quien maneja la sección de "Bienes y Suministros" plantea las siguientes condiciones del negocio para la construcción de una base de datos: • La Sección está dividida en tres (3) áreas: COMPRAS.a) De cada aeropuerto se conoce su código. • El área de Compras funciona de la siguiente forma: o Recibe las solicitudes de compras de las diferentes áreas de la empresa. i) De cada vuelo se quieren conocer las escalas técnicas ordenadas asignándole a cada una un número de orden. nombre. número de participantes.Los Pradiños-Sao Paulo-Brasil. ALMACEN. esquinaNE. En la Empresa "Educando S. es decir. Para cada tipo de sede.). Responsable (nombre y cédula). barras paralelas. etc). valor unitario y valor total. cantidad solicitada. Para cada vuelo se quiere conocer su fecha. Cada solicitud debe ser totalizada. h) Algunos programas de vuelo incorporan escalas técnicas intermedias entre los aeropuertos de salida y de llegada. o Cada solicitud es autorizada por el jefe del área y posteriormente por el Director Financiero. Una lista de todos los comisarios se conservará junto con la lista de los eventos en los que esté involucrado cada comisario ya sea cumpliendo la tarea de juez u observador. Se entiende por escala técnica a un aterrizaje y despegue consecutivos sin altas ó bajas de pasajeros. e) Los números de vuelo son únicos para todo el mundo. Centro de Costos. de forma que ´este puede ser apátrida o tener varias nacionalidades. o Problema 7: Torneo de Tenis Grand Slam El sistema debe memorizar todos los encuentros que se han desarrollado desde que existe el torneo. • El área de inventarios funciona de la siguiente forma: o Es la encargada de administrar y controlar la ubicación de los bienes dentro de la empresa. este hace una entrega física de los bienes. por ejemplo: Pueden ingresar 500 pacas de papel higiénico. pero como se debe repartir entre varias áreas. fecha de entrega. con la siguiente información: Número de Entrada. unidad de medida del bien. Francia y Australia. dirección del bien (ubicación). se crea una orden contractual que maneja la siguiente información: Número de la orden contractual. Cada ítem tiene la siguiente información: nombre del bien. o La ubicación del bien se identifica por la siguiente información: responsable del bien. Diseñar modelo ER para la base de datos. o Una entrada de almacén puede generar muchas salidas de almacén. Proveedor. o La orden de compra es aprobada por el Director Financiero para que sea enviada al proveedor elegido. Número de factura. Si esta acción es correcta se registra una entrada de almacén por cada factura relacionada. También hay que tener en cuenta la nacionalidad de un jugador.Cada bien es identificado por un código universal que es único y es de carácter devolutivo (suministro) o un bien inmueble. por esto antes de que el bien salga del almacén debe ser codificado a través de un código único que lo haga identificable dentro de la empresa. ej. En cada país se pueden desarrollar en distintos lugares (p. o Una vez la cotización definitiva está lista.. o Cuando el almacén decide despachar los bienes a las diferentes áreas solicitantes. así como las siguientes características de estos. UU. Empleado responsable del bien a entregar. Resultados a considerar: El sistema debe dar respuesta a las siguientes preguntas: . Cada torneo tiene cinco modalidades: Individual masculino. ej. en EE. fecha de la orden. o Las cotizaciones son realizadas con uno o varios proveedores de los bienes solicitados. o Cuando llega un proveedor mercancía. cantidad entregada. Valor Total (los totales deben coincidir con los de la factura). Estados Unidos. puede desarrollarse en Forest Hill o en Flashing Meadows). dobles femenino y dobles mixtos. registra cada una de las entregas en Salidas de Almacén con la siguiente información: Número de Salida. los cuales son comparados con la factura que este entrega y con la orden de compra correspondiente. Por cada entrega se detalla cada uno de los ítems con la siguiente información: nombre del bien. monto total de la orden. Adjunto a esta se discriminan los ítems recibidos con la siguiente información: nombre del bien. Total Bienes. dobles masculino. cantidad solicitada. Fecha. individual femenino. Descripción: El Grand Slam se compone de cuatro torneos anuales que se celebran en Gran Bretaña. El ganador de a final recibirá el premio correspondiente al torneo. cada una requiere de una salida de almacén. Cada orden puede tener asociado uno o varios ítems de la solicitud o solicitudes que van a ser despachadas. nit y nombre del proveedor al cual se le va a realizar la compra. cantidad entregada. • El área de Almacén funciona de la siguiente forma: o Su función principal es recepcionar los bienes que llegan de los proveedores y distribuirlos a las correspondientes áreas que realizaron las solicitudes de compras. el perdedor de octavos de final puede ganar 5. cantidad despachada. Cada partido tiene asociado un premio de consolación para el perdedor que dependerá de la fase en que se encuentre el torneo (p.000 dólares). fecha de entrega. fecha de entrega.. valor unitario y valor total. fecha de salida. o Una vez diligenciada la solicitud es remitida al área de compras para realizar su correspondiente cotización. 4. se conoce su nombre (que lo identifica) y su nacionalidad. la url del sitio web de la película. 2. Ejemplos de acceso a la base de datos. los paises de origen. ) De cada promoción se conoce una descripción y el descuento que aplica. De cada película interesa conocer la lista de directores y el reparto. composición y resultado de los partidos. le fecha en que registró su opinión. y obviamente la sala y la película que exhibe. El señor Wilkinson arbitro ese partido.. el nombre de todos los personajes que interpreta. su título original. Algunos cines cuentan con promociones. 2.+18 años). Connors gano Gerulaitis en Roland Garros en 1979 en cuartos de final en individuales masculinos por 6-3 4-6/7-5 6-0. De cada opinión se conoce el nombre de la persona que la realiza. si tiene subtítulos en español o no. El ganado de Roland Garros de 1987 ganó 20..+9 años. Regular. De lunes a jueves antes de las 18 50% de descuento en la sala tal del cine tal para la película cual. Ganancias percibidas en premios por un jugador a lo largo del torneo. fecha de estreno en Santiago. De cada cine se conoce el nombre que lo identifica. la calificación (Apta todo público. Los cines pueden tener más de una sala y cada semana cada uno de los cines envía la cartelera para dicha semana. su edad..000 de dólares a lo largo de su participación en el Grand Slam.000 dólares. Problema 8: 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. Alemania ha ganado dos veces las individuales masculinas de Wimbledon. De ambos. su dirección y teléfono para consultas. Estas promociones dependen de la función. Tenga en cuenta que hay personas que cumplen los dos roles. Noah ha jugado cuatro veces en dobles mixtos con Mandlikova. . Además interesa disponer de información sobre los directores y actores que trabajan en cada película. Borg ha ganado 2. Para cada función se conoce el día de la semana y la hora de comienzo. un resumen y un identificador de la película.000. +15 años. es decir para cada actor que trabaja. su género. Dado un año y un torneo.1. Además se desea conocer la cantidad de películas en las que dirigieron o actuaron. Lista de entrenadores que han entrenado a un jugador a lo largo del torneo y fechas en las que lo hizo. indicando de detalle de las funciones. la duración (en horas y minutos). el idioma origina. 4. Mala) y el comentario propiamente dicho. 3. Buena.La función del lunes a las 14 para la película tal en la sala cual. se almacena una ficha con su título de distribución. 5. De cada sala se sabe el nombre.. el año de la producción. 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. la calificación que le dio a la película (Obra Maestra. no se cobra a los escolares con túnica. Lista de árbitros que participaron en el torneo. (Ej. A cada opinión se le asigna un número que la identifica respecto de la película sobre la cual opina. De cada película. 3. un número que la identifica dentro del cine y la cantidad de butacas que posee. Muy Buena. 1. n) RUT Nombre WEB Cantidad Detalle ID (1.SOLUCIONES A LOS EJERCICIOS (*): Problema 1: Nº #Cliente Saldo Límite de Crédito Descuento Es hecho (1.n) Pedido Fábrica Fecha Nº Dirección de envío Calle Ciudad Comuna #Fábrica Teléfono Notas: .El Nº de artículos provistos es la suma de las existencias de cada artículo .n) Nº artículos provistos Se incluye Fabrica Existencias Comuna Ciudad Direcciones de envío Calle #Artículo Descripción Cliente (0.n) Provee (1.n) Fecha Monto Final Descuento Venta (1.1) Producto (0.1) Proveedor (1.n) (0.1) Nombre RUT Compra Cliente Teléfonos (1.n) Dirección Comuna Calle Ciudad Número .Se podría almacenar una fábrica de la cual no se tengan artículos Problema 2: ID Nombre Descripción Número Calle Comuna Ciudad Dirección Teléfono Categoría (1.n) Cantidad (0.n) se clasifica ID Nombre Precio Stock (1.1) (1.n) Artículo (1. Problema 5: . Cada farmacia tiene a su vez su stock de medicamentos. el mismo farmacéutico estaría afectado a todas las farmacias de esa ciudad. antibiótico.Conversión a Modelo Relacional Problema 1 (*): Modelo ER incompleto Se desea mantener una base de datos para una cadena de farmacias distribuida en diferentes ciudades. medicamentos de un laboratorio. inyecciones por 10 unidades. Cada farmacia tiene sus empleados propios y un farmacéutico. etc. Por cada medicamento se mantiene su precio y la cantidad en existencia del mismo. etc. y su acción terapéutica (analgésico. jarabe de 100ml. presentaciones de un medicamento. El sistema deberá permitir consultar la base de datos de diferentes alternativas para medicamentos compuestos por una monodroga. coloque los atributos necesarios y convierta el modelo ER a relaciones planas). El mismo se mantiene por medicamento y presentación. esto es.). pomada 60gr. El problema: Obtenga los esquemas (solamente) del modelo relacional siguiendo la idea del modelador (o sea. el laboratorio que lo comercializa. El siguiente modelo ER supuestamente debería representar lo anterior. . entre otras.). su presentación (por ejemplo ampollas de 5 unidades. sin embargo está incompleto. Los medicamentos se organizan según la o las monodrogas que lo componen. si en una ciudad hubiera más de una farmacia. Por cada ciudad existe un único farmacéutico. Un colegiado puede realizar una función en un partido y otra distinta en otro partido. 3. pero en un determinado partido sólo puede jugar en un puesto. Es obligatorio en todo momento que un jugador pertenezca a un equipo determinado y no podría cambiar de equipo a lo largo del mundial. Incluya flechas de integridad referencial. Problema 3: Mundial de fútbol Construir el modelo E/R y a partir de él el modelo relacional que refleje toda la información necesaria para almacenar la información relativa a algunos aspectos del campeonato mundial de fútbol considerando los supuestos semánticos siguientes: 1. Problema 4: Diagrama ER genérico Convierta el siguiente diagrama ER a modelo relacional. En cada partido intervienen varios colegiados. 4. . Un jugador puede actuar en varios puestos distintos. 5. Un jugador pertenece a un único equipo y no hay dos jugadores con el mismo nombre. Incluya flechas de integridad referencial. 2.Problema 2 (*): Diagrama ER genérico Convierta el siguiente diagrama ER a modelo relacional. . Las Olimpíadas (eeeh.Problema 5 (*): La biblioteca Convertir el siguiente modelo ER a uno relacional: Problema 6: Convierta a modelo relacional el problema 5 de la sección anterior. oro pa’ Chile). AC. descripción) Laboratorio (código.D2.A1’.D1.F2) D(A1.D2. nombre) Presentación (tipo_presentación) Monodroga (código. fecha_título.B2) C(A1. código_medicamento. salario) Medicamento (código.C1.SOLUCIONES A LOS EJERCICIOS (*): Problema 1: Ciudad (nombre. dirección. código_monodroga) Sirve_para (código_medicamento. código_laboratorio) Acción_terapeutica (tipo_acción. nombre) Farmacéutico (CI. CI_personal) Tiene_stock (número_farmacia. cantidad) Contiene (código_medicamento.D3. nombre.A1’. nombre. descripción) Tiene (número_farmacia.B1) B(B1.D1.A2) RAB(A1.C1. cantidad. nombre_ciudad) Personal (CI. tipo_acción) Problema 2: A(A1.C1. precio. nombre_ciudad) Propio (CI.F1.B1) Problema 5: . tipo_presentación.C2) F0(A1.C1.D3) RBCD(A1. CI_farmacéutico) Farmacia (número.C1’.