EJERCICIOS DE BASE DE DATOS EJ01
“Una “U na empr empres esaa vend vendee prod produc ucto toss a vari varios os clie client ntes es.. Se nece necesi sita ta cono conoce cerr los los dato datoss pers person onal ales es de los los clie client ntes es (nom (nombr bre, e, apel apelli lido dos, s, dni, dni, dire direcc cció iónn y fech fechaa de nacimiento). Cada producto tiene un nombre y un código, así como un precio unitario. Un cliente puede comprar varios productos a la empresa, y un mismo producto puede ser comprado por varios clientes. os os prod produc ucto toss son son sumi sumini nist stra rado doss por por dife difere rent ntes es prov provee eedo dore res. s. Se debe debe tene tenerr en cuenta !ue un producto sólo puede ser suministrado por un proveedor, y !ue un proveedor puede suministrar diferentes productos. "e cada proveedor se desea conocer el #$%, nombre y dirección&. '
EJ02
Se desea informatiar la gestión de una empresa de transportes !ue reparte pa!uetes por toda spa*a. os encargados de llevar los pa!uetes son los camioneros, de los !ue se !uiere guardar el dni, nombre, tel+fono, dirección, salario y población en la !ue vive. "e los pa!uetes transportados interesa conocer el código de pa!uete, descripción, destinatario y dirección del destinatario. Un camionero distribuye muchos pa!uetes, y un pa!uete sólo puede ser distribuido por un camionero. "e las provincias a las !ue llegan los pa!uetes interesa guardar el código de provincia y el nombre. Un pa!uete sólo puede llegar a una provincia. Sin embargo, a una provincia pueden llegar varios pa!uetes. "e los camiones !ue llevan los camioneros, interesa conocer la matrícula, modelo, tipo y potencia. Un camionero puede conducir diferentes camiones en fechas diferentes, y un camión puede ser conducido por varios camioneros.
EJ03
Se desea dise*ar la base de datos de un $nstituto. n la base de datos se desea guardar los datos de los profesores del $nstituto ("#$, nombre, dirección y tel+fono). os profesores imparten módulos, y cada módulo tiene un código y un nombre. Cada alumno est matriculado en uno o varios módulos. "e cada alumno se desea guardar el n- de epediente, nombre, apellidos y fecha de nacimiento. os profesores pueden impartir varios módulos, pero un módulo sólo puede ser impartido por un profesor. Cada curso tiene un grupo de alumnos, uno de los cuales es el delegado del grupo.
EJ04
Se desea dise*ar una base de datos para almacenar y gestionar la información empleada por una empresa dedicada a la venta de automóviles, teniendo en cuenta los siguientes aspectos/ a empresa dispone de una serie de coches para su venta. Se necesita conocer la matrícula, marca y modelo, el color y el precio de venta de cada coche. os datos !ue interesa conocer de cada cliente son el #$%, nombre, dirección, ciudad y n0mero de tel+fono/ adems, los clientes se diferencian por un código interno de la empresa !ue se incrementa automticamente cuando un cliente se da de alta en ella. Un cliente puede
comprar tantos coches como desee a la empresa. Un coche determinado solo puede ser comprado por un 0nico cliente. l concesionario tambi+n se encarga de llevar a cabo las revisiones !ue se realian a cada coche. Cada revisión tiene asociado un código !ue se incrementa automticamente por cada revisión !ue se haga. "e cada revisión se desea saber si se ha hecho cambio de filtro, si se ha hecho cambio de aceite, si se ha hecho cambio de frenos u otros. os coches pueden pasar varias revisiones en el concesionario.
EJ05
a clínica “S1# 21345S& necesita llevar un control informatiado de su gestión de pacientes y m+dicos. "e cada paciente se desea guardar el código, nombre, apellidos, dirección, población, provincia, código postal, tel+fono y fecha de nacimiento. "e cada m+dico se desea guardar el código, nombre, apellidos, tel+fono y especialidad. Se desea llevar el control de cada uno de los ingresos !ue el paciente hace en el hospital. Cada ingreso !ue realia el paciente !ueda registrado en la base de datos. "e cada ingreso se guarda el código de ingreso (!ue se incrementar automticamente cada ve !ue el paciente realice un ingreso), el n0mero de habitación y cama en la !ue el paciente realia el ingreso y la fecha de ingreso. Un m+dico puede atender varios
ingresos, pero el ingreso de un paciente solo puede ser atendido por un 0nico m+dico. Un paciente puede realiar varios ingresos en el hospital.
EJ06
Se desea informatiar la gestión de una tienda informtica. a tienda dispone de una serie de productos !ue se pueden vender a los clientes. “"e cada producto informtico se desea guardar el código, descripción, precio y n0mero de eistencias. "e cada cliente se desea guardar el código, nombre, apellidos, dirección y n0mero de tel+fono. Un cliente puede comprar varios productos en la tienda y un mismo producto puede ser comprado por varios clientes. Cada ve !ue se compre un artículo !uedar registrada la compra en la base de datos 6unto con la fecha en la !ue se ha comprado el artículo. a tienda tiene contactos con varios proveedores !ue son los !ue suministran los productos. Un mismo producto puede ser suministrado por varios proveedores. "e cada proveedor se desea guardar el código, nombre, apellidos, dirección, provincia y n0mero de tel+fono&.
EJ07
Considera la siguiente relación 24S7#183$# 9$:7S824S7#1. Una persona puede tener muchos hi6os;as o ninguno. Una persona siempre es hi6o;a de otra persona. os atributos de la persona son dni, nombre, dirección y tel+fono.
EJ08
1 un concesionario de coches llegan clientes para comprar automóviles. "e 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. os coches !ue el concesionario vende pueden ser nuevos o usados (de segunda mano). "e los coches nuevos interesa saber el n0mero de unidades !ue hay en el concesionario. "e los coches vie6os interesa el n0mero de
reparan los coches !ue llevan los clientes. Un mecnico repara varios coches a lo largo del día, y un coche puede ser reparado por varios mecnicos. os mecnicos tienen un dni, nombre, apellidos, fecha de contratación y salario. Se desea guardar tambi+n la fecha en la !ue se repara cada vehículo y el n0mero de horas !ue se tardado en arreglar cada automóvil.
EJ09
a liga de f0tbol profesional, presidida por "on 5ngel =aría >illar, ha decidido informatiar sus instalaciones creando una base de datos para guardar la información de los partidos !ue se 6uegan en la liga. Se desea guardar en primer lugar los datos de los 6ugadores. "e cada 6ugador se !uiere guardar el nombre, fecha de nacimiento y posición en la !ue 6uega (portero, defensa, centrocampista?). Cada 6ugador tiene un código de 6ugador !ue lo identifica de manera 0nica. "e cada uno de los e!uipos de la liga es necesario registrar el nombre del e!uipo, nombre del estadio en el !ue 6uega, el aforo !ue tiene, el a*o de fundación del e!uipo y la ciudad de la !ue es el e!uipo. Cada e!uipo tambi+n tiene un código !ue lo identifica de manera 0nica. Un 6ugador solo puede pertenecer a un 0nico e!uipo.
"e cada partido !ue los e!uipos de la liga 6uegan hay !ue registrar la fecha en la !ue se 6uega el partido, los goles !ue ha metido el e!uipo de casa y los goles !ue ha metido el e!uipo de fuera. Cada partido tendr un código num+rico para identificar el partido. 3ambi+n se !uiere llevar un recuento de los goles !ue hay en cada partido. Se !uiere almacenar el minuto en el !ue se realiar el gol y la descripción del gol. Un partido tiene varios goles y un 6ugador puede meter varios goles en un partido. 2or 0ltimo se !uiere almacenar, en la base de datos, los datos de los presidentes de los e!uipos de f0tbol (dni, nombre, apellidos, fecha de nacimiento, e!uipo del !ue es presidente y a*o en el !ue fue elegido presidente). Un e!uipo de f0tbol tan sólo puede tener un presidente, y una persona sólo puede ser presidente de un e!uipo de la liga.
EJ10
Se desea informatiar la gestión de un centro de ense*ana para llevar el control de los alumnos matriculados y los profesores !ue imparten clases en ese centro. "e cada profesor y cada alumno se desea recoger el nombre, apellidos, dirección, población, dni, fecha de nacimiento, código postal y tel+fono. os alumnos se matriculan en una o ms asignaturas, y de ellas se desea almacenar el código de asignatura, nombre y n0mero de horas !ue se imparten a la semana. Un profesor del centro puede impartir varias asignaturas, pero una asignatura sólo es impartida por un 0nico profesor. "e cada una de las asignaturas se desea almacenar tambi+n la nota !ue saca el alumno y las incidencias !ue puedan darse con +l. 1dems, se desea llevar un control de los cursos !ue se imparten en el centro de ense*ana. "e cada curso se guardar el código y el nombre. n un curso se imparten varias asignaturas, y una asignatura sólo puede ser impartida en un 0nico curso.
as asignaturas se imparten en diferentes aulas del centro. "e cada aula se !uiere almacenar el código, piso del centro en el !ue se encuentra y n0mero de pupitres de !ue dispone. Una asignatura se puede dar en diferentes aulas, y en un aula se pueden impartir varias asignaturas. Se desea llevar un registro de las asignaturas !ue se imparten en cada aula. 2ara ello se anotar el mes, día y hora en el !ue se imparten cada una de las asignaturas en las distintas aulas. a dirección del centro tambi+n designa a varios profesores como tutores en cada uno de los cursos. Un profesor es tutor tan sólo de un curso. Un curso tiene un 0nico tutor. Se habr de tener en cuenta !ue puede !ue haya profesores !ue no sean tutores de ning0n curso.
EJ11
“Una empresa necesita organiar la siguiente información referente a su organiación interna. a empresa est organiada en una serie de departamentos. Cada departamento tiene un código, nombre y presupuesto anual. Cada departamento est ubicado en un centro de traba6o. a información !ue se desea guardar del centro de traba6o es el código de centro, nombre, población y dirección del centro. a empresa tiene una serie de empleados. Cada empleado tiene un tel+fono, fecha de alta en la empresa, #$% y nombre. "e cada empleado tambi+n interesa saber el n0mero de hi6os !ue tiene y el salario de cada empleado. 1 esta empresa tambi+n le interesa tener guardada información sobre los hi6os de los empleados. Cada hi6o de un empleado tendr un código, nombre y fecha de nacimiento.
Se desea mantener tambi+n información sobre las habilidades de los empleados (por e6emplo, mercadotecnia, trato con el cliente, fresador, operador de telefonía, etc?). Cada habilidad tendr una descripción y un código&. Sobre este supuesto dise*ar el modelo ;4 teniendo en cuenta los siguientes aspectos. @ Un empleado est asignado a un 0nico departamento. Un departamento estar compuesto por uno o ms empleados. Cada departamento se ubica en un 0nico centro de traba6o. stos se componen de uno o ms departamentos. Un empleado puede tener varios hi6os. Un empleado puede tener varias habilidades, y una misma habilidad puede ser poseída por empleados diferentes. Un centro de traba6o es dirigido por un empleado. Un mismo empleado puede dirigir centros de traba6o distintos. •
• •
•
EJ12
Se trata de realiar el dise*o de la base de datos en el modelo ;4 para una cadena de hoteles.
“Cada hotel (del !ue interesa almacenar su nombre, dirección, tel+fono, a*o de construcción, etc.) se encuentra clasificado obligatoriamente en una categoría (por e6emplo, tres estrellas) pudiendo ba6ar o aumentar de categoría. Cada categoría tiene asociada diversas informaciones, como, por e6emplo, el tipo de $>1 !ue le corresponde y la descripción. os hoteles tiene diferentes clases de habitaciones (suites, dobles, individuales, etc.), !ue se numeran de forma !ue se pueda identificar fcilmente la planta en la !ue se encuentran. 1sí pues, de cada habitación se desea guardar el código y el tipo de habitación. os particulares pueden realiar reservas de las habitaciones de los hoteles. n la reserva de los particulares figurarn el nombre, la dirección y el tel+fono. as agencias de via6e tambi+n pueden realiar reservas de las habitaciones. n caso de !ue la reserva la realia una agencia de via6es, se necesitarn los mismos datos !ue para los particulares, adems del nombre de la persona para !uien la agencia de via6es est realiando la reserva. n los dos casos anteriores tambi+n se debe almacenar el precio de la reserva, la fecha de inicio y la fecha de fin de la reserva&.
EJ13
$magina !ue una agencia de seguros de tu municipio te ha solicitado una base de datos mediante la cual llevar un control de los accidentes y las multas. 3ras una serie de entrevistas, has tomado las siguientes notas/ “Se desean registrar todas las personas !ue tienen un vehículo. s necesario guardar los datos personales de cada persona (nombre, apellidos, dirección, población, tel+fono y "#$).
"e cada vehículo se desea almacenar la matrícula, la marca y el modelo. Una persona puede tener varios vehículos, y puede darse el caso de un vehículo perteneca a varias personas a la ve. 3ambi+n se desea incorporar la información destinada a gestionar los accidentes del municipio. Cada accidente posee un n0mero de referencia correlativo seg0n orden de entrada a la base de datos. Se desea conocer la fecha, lugar y hora en !ue ha tenido lugar cada accidente. Se debe tener en cuenta !ue un accidente puede involucrar a varias personas y varios vehículos. Se desea llevar tambi+n un registro de las multas !ue se aplican. Cada multa tendr asignado un n0mero de referencia correlativo. 1dems, deber registrarse la fecha, hora, lugar de infracción e importe de la misma. Una multa solo se aplicar a un conductor e involucra a un solo vehículo.&
EJ14
Una agencia de via6es desea informatiar toda la gestión de los via6eros !ue acuden a la agencia y los via6es !ue estos realian. 3ras ponernos en contacto con la agencia, +sta nos proporciona la siguiente información.
“a agencia desea guardar la siguiente información de los via6eros/ dni, nombre, dirección y tel+fono. "e cada uno de los via6es !ue mane6a la agencia interesa guardar el código de via6e, n0mero de plaas, fecha en la !ue se realia el via6e y otros datos. Un via6ero puede realiar tantos via6es como desee con la agencia. Un via6e determinado sólo puede ser cubierto por un via6ero. Cada via6e realiado tiene un destino y un lugar de origen. "e cada uno de ellos se !uiere almacenar el código, nombre y otros datos !ue puedan ser de inter+s. Un via6e tiene un 0nico lugar de destino y un 0nico lugar de origen&.
EJ15
Una empresa desea dise*ar una base de datos para almacenar en ella toda la información generada en cada uno de los proyectos !ue +sta realia. “"e cada uno de los proyectos realiados interesa almacenar el código, descripción, cuantía del proyecto, fecha de inicio y fecha de fin. os proyectos son realiados por clientes de los !ue se desea guardar el código, tel+fono, domicilio y raón social. Un cliente puede realiar varios proyectos, pero un solo proyecto es realiado por un 0nico cliente. n los proyectos participan colaboradores de los !ue se dispone la siguiente información/ nif, nombre, domicilio, tel+fono, banco y n0mero de cuenta. Un colaborador puede participar en varios proyectos. os proyectos son realiados por uno o ms colaboradores. os colaboradores de los proyectos reciben pagos. "e los pagos realiados se !uiere guardar el n0mero de pago, concepto, cantidad y fecha de pago. 3ambi+n interesa almacenar los diferentes tipos de pagos !ue puede realiar la empresa. "e cada uno de los tipos de pagos se desea guardar el código y descripción. Un tipo de pago puede pertenecer a varios pagos&.