Ejercicios e R Base de Datos Final
Ejercicios e R Base de Datos Final
Ejercicios e R Base de Datos Final
COMPONENTES ELECTRÓNICOS
Una tienda especializada en componentes electrónicos compra sus existencias a una
serie de proveedores, vendiéndolas posteriormente a sus clientes a la vez que lleva a
cabo el control de almacén adecuado para controlar sus existencias en todo momento.
EJERCICIO 2. PELÍCULAS
Se desea crear un sitio web con información referente a las películas en cartel en las
salas de un 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, 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 y la película que
exhibe. De cada sala se sabe el nombre, un número que la identifica dentro del cine y la
cantidad de butacas que posee. De cada cine se conoce el nombre que lo identifica, su
dirección y teléfono para consultas.
Algunos cines cuentan con promociones. Estas promociones dependen de la función. (Ej.
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, le fecha en que registró 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.
Los clientes de frigorífico, que son carnicerías o mayoristas, realizan pedidos. El frigorífico
conoce el nombre, dirección y RUC de sus clientes. También conoce la lista de los
empleados de los mayoristas que están autorizados a recibir las entregas directamente.
Los pedidos, que están numerados y fechados, consisten en una lista de varios cortes de
productos cárnicos, en la que, por cada corte, se indica el número de piezas y el peso
total aproximado. Los cortes reciben nombres identificatorios y se sabe que un corte
puede formar parte de otros así como contener a otros cortes.
Los distribuidores son intermediarios entre el frigorífico y los clientes (sean carnicerías o
mayoristas). De ellos se conoce el nombre, la dirección y la lista de receptores
autorizados a recibir entregas. Los distribuidores pueden atender a varios clientes y a su
vez, un cliente puede ser atendido por varios distribuidores.
EJERCICIO 5. DEPARTAMENTOS
“Una empresa necesita organizar la siguiente información referente a su organización
interna.
La empresa tiene una serie de empleados. Cada empleado tiene un teléfono, fecha de
alta en la empresa, NIF y nombre. De cada empleado también interesa saber el número
de hijos que tiene y el salario de cada empleado.
A esta empresa también le interesa tener guardada información sobre los hijos de los
empleados. Cada hijo 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
ejemplo, 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 E/R, teniendo en cuenta los siguientes aspectos.
EJERCICIO 6. BIBLIOTECA
Se trata de gestionar los préstamos de libros de una biblioteca en la que se va a estudiar
exclusivamente el funcionamiento de las peticiones y devoluciones de libros.
PETICIÓN DE LIBROS
Un usuario puede realizar una petición de uno o más libros a la biblioteca. Para ello, es
necesario presentar el carné de usuario de la biblioteca y una ficha en la que se detallan
los libros pedidos. Puede haber varios tipos de préstamo (préstamo de sala,
colaborador, proyecto fin carrera, doctorado) en función de los cuales el usuario puede
disponer de los ejemplares durante un período de tiempo específico, como se indica en
la siguiente tabla:
DEVOLUCIONES DE LIBROS
Un usuario no puede realizar más peticiones hasta que no haya efectuado todas las
devoluciones de la petición anterior. El usuario, para hacer la petición, necesita el carné,
que no se le entrega hasta que no haya devuelto todos los libros. Sí puede hacer una
devolución parcial de los libros. Cuando un usuario realice una devolución, el sistema
actualizará el stock de libros y comprobará la fecha de devolución de cada ejemplar para
estudiar, en el caso de que la devolución se haga fuera de tiempo, la imposición de una
sanción que tiene un coste de 20 pesos por cada ejemplar y días de retraso en la
devolución. En este caso, la sanción se emite cuando el usuario entrega el último
ejemplar.
NOTA: una vez dado de alta un paciente se traslada toda la información relativa a
éste a un archivo histórico.
EJERCICIO 9. “ZOOLÓGICO”
Un Zoológico necesita una aplicación informática para llevar una organización
respecto a las especies que posee, los empleados (cuidadores y guías), y los
distintos itinerarios de visita que ofrece. La información está estructurada de la
siguiente manera:
Especies, de las especies se interesa saber el nombre en español, el nombre
científico y una descripción general. Hay que tener en cuenta que una especie puede
vivir en diferentes hábitats naturales y que un hábitat puede ser ocupado por
diferentes especies. Las especies se encuentran en distintas zonas del parque de
manera que cada especie está en una zona y en una zona hay varias especies.
Hábitats, los diferentes hábitats naturales vienen definidos por el nombre, el clima
y el tipo de vegetación predominantes, así como el continente o continentes en los
que se encuentran.
Zonas, las zonas del parque en las que se encuentran las distintas especies
vienen definidas por el nombre y la extensión que ocupan.
Itinerarios, los itinerarios discurren por distintas zonas del parque. La información
de interés para los itinerarios es código de itinerario, la duración del recorrido, la
longitud del itinerario, el máximo número de visitantes autorizado y el número de
distintas especies que visita. Hay que tener en cuenta que un itinerario recorre
distintas zonas del parque y que en una zona puede ser recorrida por diferentes
itinerarios.
Guías, los guías del parque vienen definidos por el nombre, dirección, teléfono y
fecha en la que comenzaron a trabajar en el zoo. Interesa saber que guías llevan
itinerarios, teniendo en cuenta que un guía puede llevar varios itinerarios y que un
itinerario puede ser asignado a diferentes guías en diferentes horas, siendo estás un
dato de interés.
Cuidadores, los cuidadores vienen definidos por el nombre, dirección, teléfono y fecha de
ingreso en el parque. Hay que tener en cuenta que un cuidador puede estar a cargo de varias
especies y que una especie puede ser atendida por varios cuidadores, siendo de interés la
fecha en la que un cuidador se hace cargo de una especie.
Cada nómina consta de varias líneas (al menos una de ingresos) y cada línea se
identifica por un número de línea dentro de la correspondiente nómina.
Una línea puede corresponder a un ingreso o a un descuento. En ambos casos, se
recoge la cantidad que corresponde a la línea (en positivo si se trata de un ingreso o
en negativo si se trata de un descuento); en el caso de los descuentos, se recoge la
base sobre la cual se aplica y el porcentaje que se aplica para el cálculo de éstos.
Una comunidad autónoma (CA) puede tener varios parques naturales. En toda
comunidad autónoma existe uno y sólo un organismo responsable de los parques. Un
parque puede estar compartido por más de una comunidad.
Un parque natural se identifica por un nombre, fue declarado en una fecha, se
compone de varias áreas identificadas por un nombre y caracterizadas por una
determinada extensión. Por motivos de eficiencia se desea favorecer las consultas
referentes al número de parques existentes en cada comunidad y la superficie total
declarada parque natural en cada CA.
En cada área forzosamente residen especies que pueden ser de tres tipos: vegetales,
animales y minerales. Cada especie tiene una denominación científica, una
denominación vulgar y un número inventariado de individuos por área. De las
especies vegetales se desea saber si tienen floración y en qué periodo se produce
ésta; de las animales se desea saber su tipo de alimentación (herbívora, carnívora u
omnívora) y sus periodos de celo; de las minerales se desea saber si se trata de
cristales o de rocas.
Además, interesa registrar qué especies sirven de alimento a otras especies,
teniendo en cuenta que ninguna especie mineral se considera alimento de cualquier
otra especie y que una especie vegetal no se alimenta de ninguna otra especie.
Del personal del parque se guarda el DNI, número de seguridad social, nombre,
dirección, teléfonos (domicilio, móvil) y sueldo. Se distinguen los siguientes tipos de
personal:
Personal de gestión: registra los datos de los visitantes del parque y están destinados
en una entrada del parque (las entradas se identifican por un número).
Personal de vigilancia: vigila un área determinada del parque que recorre en un
vehículo (tipo y matrícula).
Se almacenan los trabajadores y se almacenan los mismos datos. Ocurre además que un
trabajador puede ser un cliente (porque puede alquilar o comprar mediante la inmobiliaria)
a veces.
Los clientes pueden comprar pisos, locales o garajes. En los tres casos se almacena un
código de inmueble (único para cada inmueble), los metros que tienen, una descripción y
su dirección.
Los pisos tienen un código especial de piso que es distinto para cada piso.
En los locales se indica el uso que puede tener y si tienen servicio o no.
La empresa prevé que podría haber inmuebles que podrían no ser ni locales, ni garajes, ni
pisos
Los inmuebles se pueden comprar. Incluso varias veces. Se asigna un código de compra
cada vez que se haga, la fecha y el valor de la compra. La compra puede tener varios
titulares.
Cada inmueble se puede alquilar y en ese caso se asigna un número de alquiler por cada
inmueble. Ese número se puede repetir en distintos inmuebles (es decir puede haber
alquiler nº 18 para el inmueble 40 y el 35). Pero no se repite para el mismo inmueble.
Al alquilar queremos saber el nombre del agente de la empresa que gestionó el alquiler
así como a qué persona (solo una) estamos alquilando el inmueble.
Cada pago de cada alquiler será almacenado en la base de datos, llevando el año, el mes
y el valor del mismo.
Las asignaturas tienen un nombre, un código interno del centro y un código europeo. La
misma asignatura se puede impartir en dos ciclos distintos y en ese caso tendría el mismo
código europeo y nombre, pero el código interno sería distinto. Hace falta saber en qué
curso del ciclo se imparte la asignatura
Los ciclos tienen un nombre, pueden ser de grado superior,de grado medio o de iniciación
profesional; además tienen otro código interno en el centro.
Las asignaturas en cada momento ocupan un aula, del que tenemos que almacenar un
código de aula, un nombre (que no se repite), un número de aula (que tampoco se repite)
y los metros que tiene. A una hora concreta de la semana, el aula puede estar vacia o
bien ocuparse, pero sólo se puede ocupar por una asignatura
Necesitamos saber y anotar en la base de datos si una asignatura requiere que antes se
hayan aprobado otras, para poder matricularse en ella. Por ejemplo, Ampliación de
Matemáticas de 2º a lo mejor requiere aprobar Matemáticas de 1º. Puede requerirse
terminar más de una asignatura previamente para poder matricularse de una concreta.
Se entiende que la asignatura sólo la puede impartir un profesor en todo el año, siempre
será uno en todo momento el titular
Siendo más realistas, nos damos cuenta de que en un curso escolar, puede haber varios
profesores responsables de una asignatura (por bajas, ceses, etc.); por lo que anotamos
cuándo empezó a impartir dicho profesor la asignatura y cuando terminó (si no ha
terminado, se dejaría vacío)
Asegurar que podemos averiguar gracias al diseño, que si buscamos a un profesor un día
concreto (por ejemplo el 13 de Mayo de 2012) a una hora concreta (sexta hora),
podríamos saber en qué aula va a estar.
Hay empleados/as que son pinches. De los y las pinches anotamos su fecha de
nacimiento.
En la base de datos figura cada plato (su nombre como “pollo a la carloteña”, “bacalo al
pil-pil”,…), el precio del plato junto con los ingredientes que lleva. Anotamos también si
cada plato es un entrante, un primer plato, segundo plato o postre
Cada estante en el almacén se identifica con dos letras y un tamaño en centímetros. Dos
almacenes distintos pueden tener dos estantes con las mismas letras.
Necesitamos también saber qué cocineros son capaces de preparar cada plato.
En cada local existen varios consultorios que se identifican por un número dentro del
local y en cada consultorio existe cierto equipamiento. El equipamiento se identifica
globalmente mediante un número de serie, se conoce el tipo (torno, laser, etc.) e
interesa mantener registro de la última fecha en que se le realizó mantenimiento.
Para cada afiliado se mantiene una cuenta corriente donde se incluyen los costos de
todos los tratamientos que han sido finalizados. Esta cuenta corriente es global a la
clínica.
Cada asociación tiene varias colonias, pero cada colonia pertenece a una única
asociación. De cada asociación se conoce su nombre, que la identifica, la dirección y un
teléfono de referencia. De las colonias se conoce su código y ubicación; el código puede
repetirse para las distintas asociaciones.
En las colonias trabajan varios líderes de grupos, de los cuales se conoce su C.I., nombre
y teléfono. Cada líder puede trabajar para varias colonias. Todos los líderes deben tener
una certificación que los acredita como tales, interesa la fecha, el grado y la asociación
que emitió el certificado.
En caso de tener más de un certificado interesa sólo el más reciente.
Cada líder en una colonia coordina exactamente una actividad, pero puede ayudar en
otras. Las actividades a su vez son desarrolladas (coordinación y ayuda) por varios
líderes de colonias. De las actividades se conoce su identificador y una breve descripción
de la misma.
Estas pueden ser de los siguientes tipos: campamentos, deportes y juegos. De los
campamentos interesa la ubicación y la duración en días, de los deportes interesa el tipo,
los accesorios necesarios y la cantidad de horas semanales de entrenamiento, de los
juegos interesa el tipo de juego, una descripción de las características y la cantidad de
participantes.
Cada colonia atiende a un conjunto de clientes, algunos de ellos asisten a más de una
colonia. Nos interesa el número de cliente que lo identifica, nombre, C.I., teléfono y edad.
Los clientes realizan diversas actividades, interesando la antigüedad con que las realizan.
En el caso de los deportes, interesan también las fechas en las que el cliente participó en
competencias. Los clientes sólo realizan actividades de las disponibles en su colonia.