Tema2.Ejercicios

Embed Size (px)

Citation preview

Ejercicios de Bases de Datos - Modelo Entidad/Relacin1. Sea un sistema de informacin que representa la informacin sobre los proveedores, clientes y artculos disponibles en una determinada empresa de distribucin. Este sistema contiene la siguiente informacin: Informacin sobre proveedores: cdigo, NIF, nombre, direccin, telfono, ciudad, pas. Informacin sobre clientes: cdigo, DNI, nombre, direccin, telfono. Informacin sobre artculos: cdigo, nombre, PVP, precio unitario de compra, color, cantidad almacenada, IVA. Informacin sobre la relacin entre los clientes y los artculos. Informacin sobre la relacin entre proveedores y artculos. Informacin sobre las facturas, indicando cantidad y fecha. Restricciones: Un mismo artculo slo puede ser comprado a un proveedor. La cantidad de un artculo en una factura no puede ser mayor que el stock almacenado. No puede haber dos proveedores, o dos clientes, con el mismo cdigo. Cada factura est identificada por un nmero, y en ella slo se puede incluir un artculo. Crear un diagrama E/R que describa conceptualmente el sistema de informacin. 2. Se desea disear una base de datos que contenga informacin de las reservas de una empresa de alquiler de automviles. Disponemos de los siguientes datos: Un determinado cliente puede tener en un momento dado varias reservas. Una reserva la realiza un nico cliente, pero puede involucrar varios coches. Es necesario almacenar las fechas de comienzo y de terminacin de la reserva, y el precio de alquiler de cada uno de los coches. Todo coche tiene siempre asignado un determinado garaje que no puede cambiar. Cada reserva se realiza en una determinada agencia. Pueden existir clientes que no hayan hecho ninguna reserva. Todas las entidades tienen una clave que las identifica unvocamente. 3. El ayuntamiento de una gran ciudad quiere organizar una base de datos para controlar las matrculas de los cursos deportivos correspondiente a cada ao natural. Para ello se han obtenido los siguientes requisitos: Se necesita almacenar informacin sobre monitores (DNI, nombre, tlf), Cursos (cdigo, deporte, hora_inicio, fecha_inicio, nivel), Deportes (Nombre, instalacin, riesgo) y Alumnos (DNI, nombre, direccin, edad). Hay que tener en cuenta que los monitores en nmina pueden no impartir ningn curso durante el ao y que pueden estar preparados para impartir varios deportes.

1

Curso 2007/2008

En cualquier caso, cada monitor imparte un nico curso cada ao, y cada curso corresponde a un nico deporte. Los alumnos slo pueden matricularse en un curso por cada deporte para evitar la excesiva acumulacin de cursos por alumno y por tanto que queden infrautilizados. Ni que decir tiene, que cada curso tiene limitadas las plazas con un nmero predeterminado segn el deporte al que corresponda. Disear el modelo E/R que exprese los requisitos anteriores. 4. Queremos almacenar informacin sobre los trabajadores, departamentos y secciones departamentales de una determinada empresa, para lo cual disponemos de los siguientes datos: De los trabajadores se necesita almacenar su DNI, nombre, direccin, telfono, y cnyuge (en caso de que este trabaje tambin en la empresa). De los departamentos necesitamos conocer su nombre (nico), su nico director (que es un trabajador), tarea asignada al mismo y localidad donde est ubicada la direccin. Los departamentos estn subdivididos en secciones cada una con una subtarea especfica. Cada seccin tiene un director, que tambin es un trabajador de la empresa. De las secciones tambin se necesita conocer su nombre (nico), localidades donde est ubicada y nmero mnimo de empleados. Una determinada seccin slo pertenece a un departamento. Los trabajadores pueden pertenecer a ms de una seccin, siempre y cuando no pertenezcan a ms de una seccin por departamento. Los trabajadores slo pueden dirigir un departamento. Los trabajadores slo pueden dirigir una seccin. Disear el modelo E/R que exprese los requisitos anteriores. 5. Realiza un diagrama entidad/relacin que modele el siguiente escenario: un centro de instalaciones deportivas quiere hacer una aplicacin de reservas. En el centro existen instalaciones deportivas (piscinas, gimnasios, frontones, etc.), que se encuentran distribuidas en distintas localidades, donde un mismo tipo de instalacin se puede encontrar en varias localidades. El centro en cuestin tiene socios, de los cuales se almacenan su direccin, ciudad, provincia, telfono, nombre y cuota. Existen una serie de artculos que se pueden alquilar junto con las reservas (balones, redes, raquetas, etc.). Cada instalacin es reservada por un socio en una fecha dada desde una hora de inicio hasta una hora de fin. Cada reserva puede tener asociados uno o varios artculos deportivos. Por ejemplo, si yo quiero hacer una reserva para jugar a voleibol tengo que reservar una instalacin polideportiva ms un artculo red, ms un artculo baln. Los artculos pueden ser de dos tipos: mviles y fijos. De los artculos mviles necesitamos saber cuntos tenemos, mientras que de los artculos fijos queremos saber en qu instalacin estn situados. Justifica cualquier decisin de diseo.

2

Curso 2007/2008

6. Realiza un diagrama Entidad/Relacin que modele el siguiente escenario dentro de una empresa: un cliente puede realizar varios pedidos en un perodo de tiempo. Cada pedido est formado por varias lneas de pedido, cada una de las cuales se refiere a un solo producto. Se diferencian dos tipos de clientes, el cliente personal y el cliente corporativo. La diferencia entre los dos tipos de clientes es que el cliente personal pagar mediante una tarjeta de crdito, mientras el cliente corporativo tiene un contrato con la empresa y un lmite de crdito. Adems, los vendedores de la empresa se encargan de atender las peticiones de los clientes corporativos, de forma que cada vendedor se hace cargo de una cartera de clientes corporativos, y a cada cliente corporativo slo le atiende un vendedor. Hay que tener en cuenta que un vendedor no podr vender ms material a un cliente corporativo si este ha superado el lmite de su crdito. Por otra parte, cada pedido de un cliente es entregado por una compaa de transporte. Justifica cualquier decisin de diseo. 7. Se desea disear una base de datos para una aseguradora de coches. Como es lgico, cada cliente puede tener asegurado ms de un vehculo en la compaa, e incluso distintos tipos de vehculos (motos, coches, camiones). El seguro de cada coche lo subscribe un solo cliente. De cada persona asegurada es necesario almacenar su DNI, nombre, direccin y edad. De los vehculos es necesario almacenar su cdigo nico, su color y tipo de pintura. En caso de que el vehculo sea una moto ser tambin necesario almacenar su cilindrada, mientras que si el vehculo es un coche, ser necesario almacenar el nmero de puertas que tiene. Para calcular el importe del seguro es necesario almacenar informacin sobre cada accidente que haya tenido cada conductor, con qu vehculo sucedi el accidente, y en caso de que haya otros vehculos implicados, cul es la compaa aseguradora de dichos vehculos. De las compaas implicadas en un accidente es necesario conocer con qu talleres trata cada una de las compaas implicadas en un accidente, para poder enviarles la factura. Modlese el escenario descrito utilizando un diagrama Entidad/Relacin justificando cualquier decisin de diseo. 8. Se desea crear un sistema para el control de las votaciones electrnicamente. Para ello, se desea crear un modelo de la base de datos que permita almacenar los datos necesarios. El sistema debe almacenar los partidos polticos a los que los votantes pueden votar. De dichos partidos es necesario conocer sus siglas, su nombre y la direccin de su sede principal. Un partido puede presentar una candidatura en cada uno de los municipios. De un municipio es necesario conocer su nombre, poblacin, censo y los votos totales contabilizados en las ltimas elecciones. Una mesa contabiliza los votos para cada partido. Adems de cada mesa es necesario conocer el censo, los votos en blanco, los votos nulos, as como el nmero de mesa que la identifica. Cada mesa es de un colegio, y cada colegio puede tener ms de una mesa. Cada colegio pertenece a un municipio y tiene un nmero de distrito. Cada colegio es presidido por uno de los miembros de las mesas. Las mesas estn compuestas por una serie de miembros. Cada mesa estar presidida por uno de los miembros de esa mesa. Sin embargo, un miembro no podr presidir a la vez una mesa y un colegio, para evitar que se le acumule una cantidad excesiva de trabajo. Disea un modelo entidad/relacin que modele el escenario descrito.

3

Curso 2007/2008

9. Modelar utilizando diagramas Entidad/Relacin el siguiente escenario. Se desea modelar la estructura de un banco. Un banco tiene cuentas corrientes, cuentas de ahorro y clientes. Un cliente tiene al menos una cuenta, aunque puede tener varias cuentas de cualquiera de los dos tipos. Cada cuenta pertenece a un nico cliente. Los clientes tienen un nombre, una direccin y se identifican por su cdigo. Los clientes del banco son personas reales u organizaciones. Las personas tienen fecha de nacimiento y sexo; en cambio las organizaciones tienen un tipo de organizacin (empresa, institucin pblica, etc.), un representante y un n de empleados. Cada cuenta se identifica por un cdigo-cuenta-cliente (CCC), formado por el identificador del banco, de la sucursal y el n de la cuenta (dentro de dicha sucursal). Todas las cuentas tienen un saldo actual y un saldo medio, pero el tipo de amortizacin slo lo tienen las cuentas de ahorro. Cada sucursal se identifica por su nmero. Adems tiene una direccin, un cdigo postal y una ciudad. Los empleados del banco se identifican por su DNI. Tambin interesa conocer su nombre, fechanacimiento, sexo y la sucursal en la que trabajan (aunque hay empleados que no trabajan en ninguna sucursal). Hay que tener en cuenta que un cliente no podr tener ms de una cuenta en cada sucursal. 10. Una empresa desea mecanizar toda su gestin de documentos. Del anlisis realizado se obtiene la siguiente informacin: Los documentos que se manejan en la empresa tienen una serie de caractersticas que interesa almacenar: cdigo de documento, descripcin, tipo, idioma, fecha de creacin, y empleado que lo cre. Los documentos que maneja la compaa son de dos tipos: administrativos y tcnicos. Los documentos administrativos son siempre gastos de la compaa en los cuales se almacena informacin acerca del tipo de gasto, coste y descripcin. Estos documentos administrativos estn agrupados en las siguientes categoras: compra de equipos, viajes y otros. El coste de la compra de equipos siempre se carga a un proyecto del cual tenemos que almacenar el cdigo de proyecto, responsable, ingresos, gastos y margen. El margen de proyecto se calcula como (ingresos-gastos)/ingresos. Los viajes, al igual que la compra de equipos, se cargan a un determinado proyecto, pero de los viajes adems se anota el empleado que los realiza (hay que tener en cuenta que un viaje lo puede realizar ms de un empleado, y que cada empleado podr cargar el coste del viaje a un proyecto distinto o al mismo). Los documentos tcnicos tienen informacin adicional de ttulo, tamao, uso (interno/externo), materias de las que trata y estado de la revisin. Estos documentos tcnicos sufren una serie de revisiones que realizan varios empleados de la compaa especialmente cualificados para ello. Es necesario tener almacenada informacin de la fecha en que comenz la revisin y de la decisin final sobre su aprobacin. Por ltimo, los empleados de la empresa se ubican en distintas sedes distribuidas por toda la geografa nacional. La informacin que necesitamos almacenar de los empleados es: nmero de empleado, nombre y apellidos, NIF, direccin, telfonos, cargo, fecha de entrada en la compaa y nmero de viajes realizados. 11. Una biblioteca desea almacenar el catlogo de publicaciones cientficas disponibles en sus fondos bibliogrficos en una base de datos. El catlogo est compuesto por artculos que pueden ser de distintos tipos dependiendo de dnde fueron publicados:

4

Curso 2007/2008

captulo de libro, de revista o de congreso. De todos los artculos es necesario conocer sus autores, su ttulo y su fecha de publicacin. Los captulos de libro pueden estar incluidos en ms de un libro, y es necesario conocer el nmero de captulo que ocupa ese captulo en cada libro. Del libro es necesario conocer su ttulo y la editorial que lo publica. De los artculos en revista es necesario conocer el nombre de la revista, as como la editorial a la que pertenece, teniendo en cuenta que en una misma revista puede haber ms de un artculo, pero un artculo slo puede aparecer en una revista. De los artculos publicados en congresos es necesario conocer el nombre del congreso donde fue publicado y el ao de publicacin. Podr haber varios artculos publicados en un mismo congreso. Los socios de la biblioteca podrn tomar prestados tanto artculos como deseen, pero siempre teniendo en cuenta que slo podrn coger un artculo como mximo de cada autor. De los socios es necesario almacenar su DNI, nmero de socio, nombre, direccin y nmero de artculos que actualmente tiene prestados por la biblioteca. Modela la base de datos descrita utilizando un diagrama Entidad/Relacin. 12. Un club de ftbol desea crear una base de datos que permita gestionar la organizacin del club. El club est compuesto por los socios, los jugadores, los directivos y el personal. Teniendo en cuenta que, por ejemplo, un jugador podr ser a la vez jugador y socio. De los jugadores se desea almacenar el nombre y el sueldo, de los socios el nmero de socio, y de los directivos el puesto que ocupan. Una persona que pertenezca al personal podr ser tcnico, administrativo o de limpieza. Tambin es necesario conocer qu directivo es actualmente el director del club. Los jugadores juegan partidos, y en cada partido cada jugador puede recibir una prima (que puede ser diferente para cada jugador aunque se trate del mismo partido). El club tambin quiere controlar quin arbitra los partidos al club. Para ello se desea guardar los rbitros para cada partido y a qu federacin autonmica pertenecen. Los rbitros podrn ser rbitros principales o jueces de lnea. Es necesario tener en cuenta que en cada partido slo podr arbitrar un solo rbitro por federacin autonmica, aunque un mismo rbitro podr arbitrar varios partidos al club. Modela la base de datos descrita utilizando un diagrama Entidad/Relacin. 13. Reyes Magos de Oriente, S.A (RMOSA), desea crear una base de datos que represente los distintos aspectos involucrados en el reparto de juguetes. La empresa est integrada por 3 Reyes Magos. Cada Rey tiene un nombre, una nacionalidad, un paje y un camello. Los camellos tienen un nombre y una comida favorita. Los pajes tienen un nombre y una direccin. Cada camello y cada paje estn asociados a un solo Rey Mago, y cada Rey Mago tiene un solo paje y un solo camello. Los reyes reparten juguetes. Los juguetes tienen un nombre, el cdigo de barras del producto que lo identifica unvocamente y unas palabras clave que describen tipo de juguete. Los juguetes se clasifican en juguetes pequeos, normales y grandes. Para que los nios no acumulen demasiados juguetes y no pierdan su capacidad de apreciar el valor de las cosas cada rey puede dejarle a cada nio como mximo 2 juguetes, aunque puede que no le deje ninguno si el nio se ha portado mal. Para poder cargar los camellos los pajes necesitan conocer en qu camello va cada juguete, teniendo en cuenta que cada camello puede llevar como mximo 25 juguetes pequeos, 10 normales y 5 grandes. Cada juguete en cada camello tiene una posicin que indica en qu parte del camello va, de forma que despus de cargar los camellos los pajes

5

Curso 2007/2008

pasarn a los reyes magos la lista indicando dnde est cada juguete. Modela la base de datos para la empresa RMOSA, usando el modelo Entidad/Relacin. Asegrate de que todas las entidades tengan una clave principal. 14. El vicerrectorado de investigacin de una universidad desea crear un sistema que permita controlar el equipamiento disponible en los institutos de investigacin, as como qu personas lo usan. Es necesario guardar el nombre de cada instituto de investigacin, as como sus siglas y las lneas de investigacin que se siguen en cada instituto. Los institutos estn compuestos por grupos de investigacin de los cuales es necesario almacenar su nombre, siglas y fecha de creacin. Los grupos de investigacin a su vez estn compuestos por personas de las cuales es necesario conocer su DNI, nombre y categora. Cada instituto est dividido en una serie de laboratorios que tienen un nombre, una ubicacin y unos metros cuadrados. Un grupo de investigacin puede estar asociado a ms de un laboratorio, y a un laboratorio pueden estar asociado a ms de un grupo de investigacin. Los equipamientos tienen una descripcin y un nmero de inventario (que es nico). Adems hay distintos tipos de equipamientos: realidad virtual, ordenadores, robots y otros. De los equipamientos de realidad virtual es necesario almacenar el espacio necesario para usarlos. De los robots hace falta almacenar si tienen sensores de visin y el tipo de movilidad (ruedas, oruga, patas). Es necesario almacenar qu persona usa qu equipo y en qu laboratorio, teniendo en cuenta que una persona puede usar un equipamiento en ms de un laboratorio, y que los equipamientos de realidad virtual slo los pueden usar los miembros del grupo VR-IST. Toda entidad debe tener una clave principal. Modela el escenario descrito usando un diagrama E/R. 15. Una empresa de transporte desea crear una base de datos para permitir el seguimiento de los paquetes a travs de una aplicacin web. Para ello cuentan con los siguientes requisitos de datos. La empresa reparte paquetes de los cuales se desea saber su peso, tamao, tipo de mercanca y el valor declarado. Los paquetes pueden ser urgentes. En caso de ser urgente es necesario conocer tambin el tipo de urgencia (express, 24h, etc). Adems los paquetes pueden ser frgiles, en cuyo caso es importante almacenar la orientacin en la que hay que almacenar el paquete para no daarlo. Todos los paquetes tienen un solo destinatario, del cual es necesario conocer su nombre, apellidos, direccin, cdigo postal y pas. Los paquetes siguen una ruta, de la cual necesitan almacenar la fecha de inicio. Las rutas estn compuestas por puntos de control donde se almacenar el estado del paquete en ese punto, la hora de realizacin del control y el nombre del punto de control. En un punto de control se puede producir una o varias incidencias, y una misma incidencia se puede dar en ms de un punto de control. En cualquier caso es necesario conocer el estado de cada incidencia para un punto de control concreto. Una vez que se ha detectado la incidencia en un punto de control se asigna un empleado para que atienda cada incidencia en cada punto de control. Un mismo empleado puede atender ms de una incidencia. De los empleados es necesario almacenar su DNI, nombre, apellidos, direccin, cdigo postal, categora y telfono. Aade un atributo que sea clave principal a cada entidad que no lo tenga. Modela el escenario descrito usando un diagrama E/R.

6

Curso 2007/2008