Ejercicios 20
Ejercicios 20
Ejercicios 20
y 3FN:
1.- El museo Dreyer, requiere implementar una base de datos para gestionar las visitas guiadas
según los siguientes detalles:
Los grupos pueden solicitar reservas de los recorridos que ofrece el Museo Dreyer. Cada grupo
de visitantes que desee una visita guiada elegirá el recorrido, la fecha y el número de personas
del grupo. El museo les asignará un identificador de reserva y uno de los guías que pueden
descubrir el recorrido solicitado. De cada guía se conoce su nombre y los idiomas que habla.
Un recorrido, identificado mediante una referencia y con una duración determinada, consiste
en una visita a un conjunto de salas de museo en un orden predeterminado. Cada guía cubre al
menos un recorrido y como mucho tres. Todos los recorridos tienen asignado al menos un
guía.
3.- Una colección incluye grabaciones de obras clásicas de varios compositores. Las obras se
diferencian, bien por su intérprete, o bien por su director. De los compositores (cuando son
conocidos) y de los directores desea guardar su nombre, y si es posible, el año de nacimiento y
su nacionalidad. Los intérpretes desea clasificarlos por nombre, nacionalidad y tipo (solista de
piano, cuarteto, orquesta, etc.). Finalmente, las obras se clasificarán por su título, por su tipo
(sonata, fuga, sinfonía, etc.), y por su tonalidad y modo (fa-menor, do sostenido-mayor, etc.). Una
obra es compuesta solo por un compositor, mientras que una obra es grabada por uno o varios
intérpretes o un intérprete puede grabar uno o más obras. Un director puede dirigir varias obras.
4.- Una tienda de abarrotes desea diseñar una Base de Datos para llevar el control de ventas.
Para esto se tiene que los productos tienen un código, una descripción, una unidad de venta y un
precio unitario. Los clientes se registran con N° de DNI, apellidos, nombre, correo electrónico. Por
las ventas deben generar una factura/boleta de venta que se identifica con un número de
factura/boleta de venta y la fecha; se anotar también la forma de pago en efectivo o yape. Se debe
registrar el número de unidades de cada producto que se asocia a la factura. Un cliente puede
tener muchas facturas de sus compras y que una factura solo es para un solo cliente
(Natural/jurídica).
Pasos de diseño:
Identificar entidades:
• Producto (codProducto, descripción, unidadVta, precioUnit) • Clientes (cedula, apellido, nombre,
correo) • Factura (numFactura, fecha, formaPago)
Identificar relaciones: • Un cliente se asocia con una o más facturas. • Una factura se asocia con
un único cliente. • A una factura se puede asociar muchos productos.
4.- Se desea gestionar una empresa de transportes que reparte paquetes por todo el
departamento de Puno. Los encargados de llevar los paquetes son los camioneros, de los que
se quiere guardar el dni, nombre, teléfono, dirección, salario y población en la que vive.
De los paquetes transportados interesa conocer el código de paquete, descripción, destinatario y
dirección del destinatario. Un camionero distribuye muchos paquetes, y un paquete sólo puede
ser distribuido por un camionero. De las provincias a las que llegan los paquetes interesa
guardar el código de provincia y el nombre. Un paquete sólo puede llegar a una provincia. Sin
embargo, a una provincia pueden llegar varios paquetes. De los camiones que 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.
5.- Se desea diseñar la base de datos de un Instituto. En la base de datos se desea guardar
los datos de los profesores del Instituto (DNI, nombre, dirección y teléfono). Los 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. De cada alumno se desea guardar el nº de expediente, nombre, apellidos y
fecha de nacimiento. Los 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.
6.- 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:
La empresa dispone de una serie de automóviles para su venta. Se necesita conocer la matrícula,
marca y modelo, el color y el precio de venta de cada coche. Los datos que interesa conocer de
cada cliente son el DNI, nombre, dirección, ciudad y número de teléfono: además, los clientes se
diferencian por un código interno de la empresa que se incrementa automáticamente cuando un
cliente se da de alta en ella. Un cliente puede comprar tantos automóviles como desee a la
empresa. Un coche determinado solo puede ser comprado por un único cliente.
El concesionario también se encarga de llevar a cabo las revisiones que se realizan a cada coche.
Cada revisión tiene asociado un código que se incrementa automáticamente por cada revisión que
se haga. De 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. Los automóviles pueden pasar varias revisiones
en el concesionario.
7.- En la biblioteca del centro se manejan fichas de autores y libros. En la ficha de cada autor se
tiene el código de autor y el nombre. De cada libro se guarda el código, título, ISBN, editorial y
número de página. Un autor puede escribir varios libros, y un libro puede ser escrito por varios
autores. Un libro está formado por ejemplares. Cada ejemplar tiene un código y una localización.
Un libro tiene muchos ejemplares y un ejemplar pertenece sólo a un libro.
Los usuarios de la biblioteca del centro también disponen de ficha en la biblioteca y sacan
ejemplares de ella. De cada usuario se guarda el código, nombre, dirección y teléfono. Los
ejemplares son prestados a los usuarios. Un usuario puede tomar prestados varios ejemplares, y
un ejemplar puede ser prestado a varios usuarios. De cada préstamo interesa guardar la fecha de
préstamo y la fecha de devolución.
8.- A un concesionario de coches llegan clientes para comprar automóviles. 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 tardado en arreglar
cada automóvil.
9.- La liga de fútbol profesional, desea gestionar la información de los partidos que se juegan en
la liga. Se desea guardar en primer lugar los datos de los jugadores. De cada jugador se quiere
guardar el nombre, fecha de nacimiento y posición en la que juega (portero, defensa,
centrocampista…). Cada jugador tiene un código de jugador que lo identifica de manera
única.
De cada uno de los equipos de la liga es necesario registrar el nombre del equipo, nombre del
estadio en el que juega, el aforo que tiene, el año de fundación del equipo y la ciudad de la que es
el equipo. Cada equipo también tiene un código que lo identifica de manera única. Un jugador solo
puede pertenecer a un único equipo.
De cada partido que los equipos de la liga juegan hay que registrar la fecha en la que se juega el
partido, los goles que ha metido el equipo de casa y los goles que ha metido el equipo de fuera.
Cada partido tendrá un código numérico para identificar el partido.
También se quiere llevar un recuento de los goles que hay en cada partido. Se quiere almacenar
el minuto en el que se realizar el gol y la descripción del gol. Un partido tiene varios goles y un
jugador puede meter varios goles en un partido.
Por último se quiere almacenar, en la base de datos, los datos de los presidentes de los equipos
de fútbol (dni, nombre, apellidos, fecha de nacimiento, equipo del que es presidente y año en el
que fue elegido presidente). Un equipo de fútbol tan sólo puede tener un presidente, y una persona
sólo puede ser presidente de un equipo de la liga.
Pasar el modelo entidad-relación resultante al modelo relacional. Diseñar las tablas en Access,
realizar las relaciones oportunas entre tablas e insertar cinco registros en cada una de las tablas.
10.- Cada hotel (del que interesa almacenar su nombre, dirección, teléfono, año de construcción,
etc.) se encuentra clasificado obligatoriamente en una categoría (por ejemplo, tres estrellas)
pudiendo bajar o aumentar de categoría. Cada categoría tiene asociada diversas informaciones.
Los hoteles tienen diferentes clases de habitaciones (suites, dobles, individuales, etc.), que se
numeran de forma que se pueda identificar fácilmente la planta en la que se encuentran. Así pues,
de cada habitación se desea guardar el código y el tipo de
habitación.
Los particulares pueden realizar reservas de las habitaciones de los hoteles. En la reserva de los
particulares figurarán el nombre, la dirección y el teléfono. Las agencias de viaje también pueden
realizar reservas de las habitaciones. En caso de que la reserva la realiza una agencia de viajes,
se necesitarán los mismos datos que para los particulares, además del nombre de la persona para
quien la agencia de viajes está realizando la reserva. En 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”.
11.- Se desean registrar todas las personas que tienen un vehículo. Es necesario guardar los
datos personales de cada persona (nombre, apellidos, dirección, población, teléfono y DNI).
De 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 pertenezca a varias personas a la
vez.
También se desea incorporar la información destinada a gestionar los accidentes del municipio.
Cada accidente posee un número de referencia correlativo según orden de entrada a la base de
datos. Se desea conocer la fecha, lugar y hora en que ha tenido lugar cada accidente. Se debe
tener en cuenta que un accidente puede involucrar a varias personas y varios vehículos.
Se desea llevar también un registro de las multas que se aplican. Cada multa tendrá asignado un
número de referencia correlativo. Además, 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.”
12.- La agencia desea guardar la siguiente información de los viajeros: dni, nombre, dirección
y teléfono.
De cada uno de los viajes que maneja la agencia interesa guardar el código de viaje, número de
plazas, fecha en la que se realiza el viaje y otros datos. Un viajero puede realizar tantos viajes
como desee con la agencia. Un viaje determinado sólo puede ser cubierto por un viajero.
Cada viaje realizado tiene un destino y un lugar de origen. De cada uno de ellos se quiere
almacenar el código, nombre y otros datos que puedan ser de interés. Un viaje tiene un único lugar
de destino y un único lugar de origen.
13.- Una empresa desea diseñar una base de datos para almacenar en ella toda la información
generada en cada uno de los proyectos que ésta realiza.
“De cada uno de los proyectos realizados interesa almacenar el código, descripción, cuantía del
proyecto, fecha de inicio y fecha de fin. Los proyectos son realizados por clientes de los que se
desea guardar el código, teléfono, domicilio y razón social. Un cliente puede realizar varios
proyectos, pero un solo proyecto es realizado por un único cliente.
En los proyectos participan colaboradores de los que se dispone la siguiente información:
nif, nombre, domicilio, teléfono, banco y número de cuenta. Un colaborador puede participar en
varios proyectos. Los proyectos son realizados por uno o más colaboradores. Los colaboradores
de los proyectos reciben pagos. De los pagos realizados se quiere guardar el número de pago,
concepto, cantidad y fecha de pago. También interesa almacenar los diferentes tipos de pagos
que puede realizar la empresa. De 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.
14.- El colegio LOS INGENIEROS es un Institución Educativa que pertenece a la UGEL Juliaca.
En la institución laboran muchos docentes, que se encuentran en constante rotación, sea por que
renuncian a su labor o por que la secretaría de educación lo envía a otra institución educativa. De
los docentes es importante saber en todo momento: documento de identificación, nombre, titulo y
dirección.
Dentro de la institución, los docentes se encargan de impartir los módulos que se dictan a los
estudiantes. Los cursos de la institución siempre se identifican con código. Además, es importante
llevar un registro de las temáticas que tiene cada curso, con el fin de tener un plan de estudio que
puedan conocer los integrantes de la institución.
Otro elemento importante son los alumnos que pertenecen a la institución educativa. De los
alumnos es pertinente conocer la siguiente información: número de expediente, nombre completo,
fecha de nacimiento y la edad. Los alumnos son organizados en grupos, de los cuales se tiene un
código de grupo y una letra, con la cual identifican el grupo. Por último, los alumnos se vuelven
tutores de otros estudiantes, para brindarles asesoría en dudas que puedan tener sobre temas de
estudio.
También se debe tener inventario de las aulas que son usadas por cada grupo, es decir, que un
grupo sólo puede ocupar una única aula y un aula no será ocupada por más de un grupo. De las
aulas se debe saber: cuantos equipos de cómputo que se entregan, el número de pupitres
disponibles y un código del aula que asigna la institución educativa.
La secretaria ha notado que, en la institución educativa, los estudiantes de último grado están
adquiriendo becas, por lo cual se requiere tener información sobre dichas becas. Por ser de
estudiantes de último grado, solo hay posibilidad de adquirir una beca por estudiante. De las becas
se conoce la fecha en que inicia la beca, el presupuesto o valor de la beca y el nombre de la
institución donde se utilizara la beca por parte del estudiante.
15.- La Universidad necesita una Base de Datos con información acerca de su organización
docente, sabiendo que: La Universidad está estructurada en Departamentos, cada uno de los
cuales integra una o más Áreas de Conocimiento. Evidentemente, no puede haber Áreas de
Conocimiento que pertenezcan a Departamentos diferentes. Todo profesor está adscrito a una
única Área de Conocimiento, pudiendo suceder que un Área no tenga profesores. Cada una de
las diferentes titulaciones ofertadas por la Universidad consta de una serie de asignaturas,
dándose algunos casos de asignaturas comunes a varias titulaciones. La impartición de cada una
de ellas es encargada a una de las Áreas de Conocimiento. El Departamento establece las
asignaturas que debe impartir cada profesor, siendo frecuente que en la impartición de una
asignatura participen dos profesores. No obstante, hay algunos casos extraordinarios en los que
intervienen 3 o más profesores. Tanto los Departamentos como las áreas, titulaciones, asignaturas
y profesores tienen asignados códigos identificativos específicos,: codDpto, codArea, codTitulo,
codAsign, y codProf. No obstante, para evitar el efecto negativo de los cambios de código por parte
del Ministerio y la ausencia de códigos en determinadas asignaturas nuevas, etc., se opta por
utilizar un código numérico interno propio. De momento, sólo se pretende representar la
información esencial. Esto significa que, además de los códigos y los nombres de los elementos
representados, sólo es preciso reflejar las horas de teoría y prácticas de cada asignatura, y las
horas de teoría y prácticas impartidas por cada profesor en cada una de las asignaturas en que
participa.
15.- Proveedores Tenemos que diseñar una base de datos sobre proveedores y disponemos de
la siguiente información: De cada proveedor conocemos su nombre, dirección, ciudad, provincia y
un código de proveedor que será único para cada uno de ellos. Nos interesa llevar un control de
las piezas que nos suministra cada proveedor. Es importante conocer la cantidad de las diferentes
piezas que nos suministra y en qué fecha lo hace. Tenga en cuenta que un mismo proveedor nos
puede suministrar una pieza con el mismo código en diferentes fechas. El diseño de la base de
datos debe permitir almacenar un histórico con todas las fechas y las cantidades que nos ha
proporcionado un proveedor. Una misma pieza puede ser suministrada por diferentes
proveedores. De cada pieza conocemos un código que será único, nombre, color, precio y
categoría. Pueden existir varias categorías y para cada categoría hay un nombre y un código de
categoría único. Una pieza sólo puede pertenecer a una categoría.
16.- Tenemos esta información sobre una cadena editorial: La editorial tiene varias sucursales,
con su domicilio, teléfono y un código de sucursal. Cada sucursal tiene varios empleados, de los
cuales tendremos su nombre, apellidos, DNI y teléfono. Un empleado trabaja en una única
sucursal. En cada sucursal se publican varias revistas, de las que almacenaremos su título,
número de registro, periodicidad y tipo. Una revista puede ser publicada por varias sucursales.
La editorial tiene periodistas (que no trabajan en las sucursales) que pueden escribir artículos para
varias revistas. Almacenaremos los mismos datos que para los empleados, añadiendo su
especialidad. También es necesario guardar las secciones fijas que tiene cada revista, que constan
de un título y una extensión. Para cada revista, almacenaremos información de cada ejemplar, que
incluirá la fecha, número de páginas y el número de ejemplares vendidos.
17.- Agencia de viajes Tenemos que diseñar una base de datos para gestionar las reservas de
hoteles y vuelos que realizan los clientes de una agencia de viajes:
La agencia de viajes está compuesta por un conjunto de sucursales. Cada sucursal está definida
por el identificador de sucursal, dirección, ciudad, provincia y teléfono. Un cliente puede contratar
vuelos y estancias en hoteles a través de alguna de las sucursales que tiene la agencia de viajes.
Cada vuelo está definido por un identificador, fecha/hora de salida, fecha/hora de llegada, origen,
destino y número de plazas totales. Cada hotel está definido por el identificador del hotel, nombre,
dirección, ciudad, provincia, teléfono y número de estrellas.
La información que se desea almacenar para cada cliente es un DNI, nombre, apellidos, teléfono
y email. A la agencia de viajes le interesa conocer a través de qué sucursal ha contratado cada
cliente los servicios de vuelo y alojamiento. A la hora de reservar un vuelo el cliente puede elegir
cualquiera de los vuelos que ofrece la agencia y en qué clase (turista o primera) desea viajar.
El cliente se puede hospedar en cualquiera de los hoteles que ofrece la agencia, y elegir el régimen
de hospedaje (media pensión o pensión completa). Siendo significativa la fecha de entrada y de
salida.
18.- Los profesores del módulo de Bases de Datos deciden crear una base datos que contenga la
información de los resultados de las pruebas realizadas por los alumnos: Los alumnos están
definidos por un identificador único, DNI, nombre, apellidos y el grupo al que asisten a clase. Los
grupos se identifican con una letra mayúscula que puede estar entre la A y la Z.
Dichos alumnos realizan dos tipos de pruebas a lo largo del curso académico:
Exámenes teóricos. Cada alumno realiza varios a lo largo del curso y se definen por un
identificador único, un título, el número de preguntas y la fecha de realización (será la misma para
todos los alumnos que realizan el mismo examen). Habrá que almacenar la nota de cada alumno
por examen.
Prácticas. Se realiza un número indeterminado de prácticas durante el curso académico. Se
definen por un identificador, un título y el grado de dificultad. Los posibles grados de dificultad que
pueden aparecer son: Baja, Media y Alta. En este caso los alumnos pueden examinarse de
cualquier práctica cuando lo deseen, debiéndose almacenar la fecha y la nota obtenida.
De los profesores vamos a almacenar un identificador, DNI, nombre y apellidos.
Nos interesa saber qué profesor o profesores han participado en el diseño de una práctica. Tenga
en cuenta que en el diseño de una práctica puede colaborar más de un profesor y que un profesor
puede diseñar más de una práctica. También interesa almacenar la fecha en la que cada profesor
ha participado en el diseño de la práctica. En el caso de que un profesor participe en el diseño de
una misma práctica en fechas distintas sólo guardaremos la última fecha en la que participó.
Los exámenes teóricos son diseñados por un solo profesor y un profesor puede diseñar varios
exámenes teóricos a lo largo del curso.
19.- La policía quiere crear una base de datos sobre la seguridad en algunas entidades bancarias.
Para ello tiene en cuenta que: Cada entidad bancaria se caracteriza por un código y por el domicilio
de su central. Cada entidad bancaria tiene más de una sucursal que también se caracteriza por
un código y por el domicilio, así como por el número de empleados de dicha sucursal.
Cada sucursal puede contratar a varios vigilantes jurados, que se caracterizan por su código de
vigilante y su edad. Un vigilante puede ser contratado por diferentes sucursales (incluso de
diferentes entidades) en diferentes fechas. También es necesario almacenar si se ha contratado
con arma o no.
La policía está interesada en controlar las personas que han sido detenidas por atracar sucursales.
Estas personas se identifican por un DNI y su nombre completo. Algunos de estos atracadores
están integrados en algunas bandas organizadas y por ello se desea saber a qué banda
pertenecen, sin ser de interés si la banda ha participado en el delito o no. Las bandas se definen
por un código de banda y por el número de miembros. Es necesario saber qué juez ha estado
encargado de cada caso, sabiendo que un atracador puede ser juzgado por diferentes jueces en
diferentes delitos. Es necesario almacenar si en cada delito la persona detenida ha sido condenada
o no, y de haberlo sido cuánto tiempo pasará en la cárcel. Un juez se caracteriza por una clave
interna del juzgado, su nombre y los años de servicio.
En ningún caso interesa saber si un vigilante ha participado en la detención de un atracador.
20.- Una empresa que vende productos para jardinería necesita una base de datos para gestionar
los pedidos que realizan sus clientes. Los requisitos de esta base de datos son los que se detallan
a continuación.
Es necesario almacenar información de los empleados que trabajan en la empresa. La información
que se guarda de cada empleado es un identificador único, nombre, apellidos, email, teléfono y el
puesto que desempeña dentro de la empresa. Los empleados trabajan en oficinas y las oficinas
están repartidas por todo el país. De cada oficina se almacena un identificador único, dirección,
teléfono, ciudad y provincia. Un empleado sólo puede trabajar en una única oficina, pero en una
oficina pueden trabajar varios empleados.
Es necesario almacenar quién es el jefe de cada empleado. Tenga en cuenta que un empleado
puede ser jefe de varios empleados, pero un empleado sólo puede tener un único jefe.
La información que se almacena de cada cliente es un identificador único, nombre, apellidos,
teléfono y dirección. Un cliente tendrá asociado un único empleado que será su representante de
ventas. Sin embargo un empleado puede ser el representante de ventas de muchos clientes.
A la empresa le interesa almacenar los pedidos que realizan los clientes. De cada pedido se
almacena un identificador único, fecha de pedido, fecha prevista de entrega, fecha de entrega,
estado del pedido y comentarios. Cada pedido consta de varias líneas de pedido, donde cada línea
de pedido se corresponde con cada uno de los diferentes productos que ha comprado el cliente.
Cada línea de pedido incluye el producto que se ha comprado, el número de unidades que ha
comprado y el precio de cada unidad.
La información que se quiere almacenar de cada producto es un identificador único, una imagen
del producto, nombre, descripción, el precio de venta, el número de unidades que hay en stock y
la gama del producto. De cada gama se almacena un identifiador único, un nombre y una
descripción.