EJERCICIOS BD PARCIAL FINAL.pdf

EJERCICIOS MODELAMIENTO CONCEPTUAL EJERCICIO 1.- SERVICIO MILITAR El Ministerio de Defensa desea diseñar una Base de Dat

Views 774 Downloads 4 File size 666KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

EJERCICIOS MODELAMIENTO CONCEPTUAL EJERCICIO 1.- SERVICIO MILITAR El Ministerio de Defensa desea diseñar una Base de Datos para llevar un cierto control de los soldados que realizan el servicio militar. Los datos significativos a tener en cuenta son: Un soldado se define por su código de soldado (único), su nombre y apellidos, y su graduación. Existen varios cuarteles, cada uno se define por su código de cuartel, nombre y ubicación. Hay que tener en cuenta que existen diferentes Cuerpos del Ejército (Infantería, Artillería, Armada, ....), y cada uno se define por un código de Cuerpo y denominación. Los soldados están agrupados en compañías, siendo significativa para cada una de éstas, el número de compañía y la actividad principal que realiza. Se desea controlar los servicios que realizan los soldados (guardias, imaginarias, cuarteleros, ...), y se definen por el código de servicio y descripción. Consideraciones de diseño: J Un soldado pertenece a un único cuerpo y a una única compañía, durante todo el servicio militar. A una compañía pueden pertenecer soldados de diferentes cuerpos, no habiendo relación directa entre compañías y cuerpos. E Los soldados de una misma compañía pueden estar destinados en diferentes cuarteles, es decir, una compañía puede estar ubicada en varios cuarteles, y en un cuartel puede haber varias compañías. Eso si, un soldado sólo esta en un cuartel. E Un soldado realiza varios servicios a lo largo de la mili. Un mismo servicio puede ser realizado por más de un soldado (con independencia de la compañía), siendo significativa la fecha de realización. EJERCICIO 2.- GESTIÓN DE TRABAJOS DE FIN DE CARRERA. Una Escuela de Computación quiere generar un sistema para tener controlado en una base de datos todo lo referente a los Trabajos Fin de Carrera (TFC): alumnos que los realizan, profesores que los dirigen, temas de los que tratan y tribunales que los corrigen. Por tanto, es de interés: J Que los alumnos se definan por su número de matrícula, DNI y nombre. Un alumno realiza, evidentemente, sólo un T.F.C. Que los T.F.C. se definen por su tema, por un número de orden y por la fecha de comienzo. Un T.F.C. determinado, no puede ser realizado por varios alumnos. E Que un profesor se define por su DNI, nombre y domicilio; y puesto que los T.F.C. son del área en el que trabaja, NO interesa conocer el T.F.C. que dirige sino a qué alumno se lo dirige. E Que un Comité está formado por varios profesores y los profesores pueden formar parte de varios Comités. Por otra parte, sí es de interés para el comité conocer qué alumno es el que se presenta, con qué T.F.C. y en qué fecha lo ha defendido. El comité se define por un número de tribunal, lugar de examen y por el número de componentes. E Al margen de esto, un alumno puede haber pertenecido a algún grupo de investigación del que haya surgido la idea del T.F.C. Dichos grupos se identifican por un número de grupo, su nombre y por su número de componentes. Un alumno no puede pertenecer a más

de un grupo y no es de interés saber si el grupo tiene algo que ver o no con el T.F.C. del alumno; sí siendo de interés la fecha de incorporación a dicho grupo. E Por otra parte, un profesor, al margen de dirigir el T.F.C. de algunos alumnos, puede haber colaborado con otros en la realización de dicho T.F.C. pero siendo otro profesor el que lo dirige. En este caso, sólo es interesante conocer qué profesor ha ayudado a qué alumno (a un alumno le pueden ayudar varios profesores). EJERCICIO 3.- AGENCIAS DE VIAJES Una cadena de agencias de viajes desea disponer de una Base de Datos que contemple información relativa al hospedaje y vuelos de los turistas que la contratan. Los datos a tener en cuenta son: La cadena de agencias está compuesta por un conjunto de sucursales. Cada sucursal viene definida por el código de sucursal, dirección y teléfono. E La cadena tiene contratados una serie de hoteles de forma exclusiva. Cada hotel estará definido por el código de hotel, nombre, dirección, ciudad, teléfono y número de plazas disponibles. De igual forma, la cadena tiene contratados una serie de vuelos regulares de forma exclusiva. Cada vuelo viene definido por el número de vuelo, fecha y hora, origen y destino, plazas totales y plazas de clase turista de las que dispone. E La información que se desea almacenar por cada turista es el código de turista, nombre y apellidos, dirección y teléfono. Por otra parte, hay que tener en cuenta la siguiente información: A la cadena de agencias le interesa conocer que sucursal ha contratado el turista. 8 l A la hora de viajar el turista puede elegir cualquiera de los vuelos que ofrece la cadena, y en que clase (turista o primera) desea viajar. “ l De igual manera, el turista se puede hospedar en cualquiera de los hoteles que ofrece la cadena, y elegir el régimen de hospedaje (media pensión o pensión completa). Siendo significativa la fecha de llegada y de partida. EJERCICIO 4.- GESTIÓN DE EXÁMENES Los profesores de la asignatura de Computación II de la Universidad de Chile deciden crear una base de datos que contenga la información de los resultados de los controles realizadas a los alumnos. Para realizar el diseño se sabe que: E Los alumnos están definidos por su n° de matrícula, nombre y el grupo al que asisten a clase. J Dichos alumnos realizan dos tipos de controles a lo largo del curso académico: 1. Controles escritos: cada alumno realiza varios a lo largo del curso, y se definen por el n° de control, el n° de preguntas de que consta y la fecha de realización (la misma para todos los alumnos que realizan el mismo control). Evidentemente, es importante almacenar la nota de cada alumno por control. 2. Prácticas: se realiza un n° indeterminado de ellas durante el curso académico, algunas serán en grupo y otras individuales. Se definen por un código de práctica, título y el grado de dificultad. En este caso los alumnos pueden examinarse de cualquier práctica cuando lo deseen, debiéndose almacenar la fecha y nota obtenida.

En cuanto a los profesores, únicamente interesa conocer (además de sus datos personales: DNI y nombre), quien es el qué ha diseñado cada práctica, sabiendo que en el diseño de una práctica puede colaborar más de uno, y que un profesor puede diseñar más de una práctica. Interesa, además, la fecha en que ha sido diseñada cada práctica por el profesor correspondiente. EJERCICIO 5.- CONCESIONARIO DE AUTOMÓVILES Un concesionario de automóviles desea informatizar su gestión de ventas de vehículos. En particular, se quiere tener almacenada la información referente a los clientes que compran en el concesionario, los vehículos vendidos, así como los vendedores que realizan las distintas ventas. Para ello se tendrá en cuenta que: E El concesionario dispone de un catálogo de vehículos definidos por su marca, modelo, cilindrada y precio. E Cada uno de los modelos dispondrá de unas opciones adicionales (aire acondicionado, pintura metalizada, etc.). Las opciones vienen definidas por un nombre y una descripción. Hay que tener en cuenta que una opción puede ser común para varios modelos variando sólo el precio en cada caso. En cuanto a los clientes, la información de interés es el nombre, DNI, dirección y teléfono, lo mismo que para los vendedores. Los clientes pueden ceder su vehículo usado en el momento de comprar un vehículo nuevo. El vehículo usado vendrá definido por su marca, modelo, matrícula y precio de tasación. Es importante conocer la fecha en la que el cliente realiza esta cesión. E Se desea saber qué vendedor ha vendido qué modelo a qué cliente. También la fecha de la venta y la matricula del nuevo vehículo. Es importante así mismo saber las opciones que el cliente ha elegido para el modelo que compra. EJERCICIO 6.- HOLDING EMPRESARIAL Un holding de empresas desea tener una base de datos referente a las empresas que posee, sus vendedores, así como los asesores que trabajan en el holding. La información está organizada de la siguiente forma: Los vendedores se organizan en una jerarquía de pirámide, es decir, cada vendedor puede captar otros vendedores para el holding, de manera que un vendedor tendrá a su cargo varios vendedores. Hay que tener en cuenta que un vendedor sólo podrá trabajar en una empresa y sólo podrá captar vendedores para la empresa en que trabaja; siendo importante almacenar la fecha en que se realiza la captación. Los datos de interés para los vendedores serán el código de vendedor, nombre y la dirección. E Las empresas cubrirán diferentes áreas del mercado y un mismo área puede ser cubierta por varias empresas. Es interesante conocer el nombre del área y una descripción de ésta. Las empresas pueden estar actuando en varios países y en un país pueden estar desarrollando actividades varias empresas. Sin embargo, cada empresa tendrá su sede en un único país, siendo importante la ciudad donde se localiza la sede. Por cuestiones fiscales, una empresa puede tener su sede en un país en el que no esté desarrollando actividad alguna. Los datos de interés para las empresas son el nombre, la fecha de entrada en el holding, la facturación anual y el número de vendedores que posee. E Los datos de interés de los países son: el nombre, el PIB (Producto Interno Bruto), el número de habitantes y la capital.

Los asesores entran en el holding para dar soporte en cada una de las áreas en las que actúa el holding. Un asesor puede cubrir varias áreas y un área puede ser cubierta por varios asesores. Un asesor puede asesorar a varias empresas y una empresa tener varios asesores. Es importante saber en qué fecha un asesor comienza a trabajar para una empresa en un área determinada. Los datos de interés de los asesores son el código de asesor, nombre, dirección y la titulación.

EJERCICIO 7 – FINCA GANADERA Una guardería desea controlar los gastos que cada uno de los niños realiza a través de su asistencia y de las comidas que consume. De cada niño se desea conocer los datos propios de su matrícula en el centro educativo, es decir, el número de matrícula, el nombre, la fecha de nacimiento y la fecha de ingreso en la guardería. Para aquellos niños que se hayan dado de baja, también se desea conocer la fecha de la baja. Ejercicios de Diseño de Bases de Datos Relacionales Curso 2001/2002 10 Los niños sólo pueden ser recogidos en la guardería por un conjunto de personas que suelen ser un familiar del niño o un conocido de sus familiares De éstos se desea conocer el DNI, el nombre, la dirección y al menos un número de teléfono de contacto. Además, debe de quedar constancia de cuál es la relación entre la persona autorizada y el niño. El coste mensual del niño en la guardería es abonado por una persona, de la que se desea conocer el DNI, el nombre, la dirección, el teléfono, y el número de la cuenta corriente en la que se realizará el cargo. Estas personas también pueden estar autorizadas para recoger al niño. En la guardería aparece un conjunto de menús, compuesto por una serie de platos concretos, cada uno de los cuales presentan unos ingredientes determinados. Cada menú se identifica por un número, mientras que los platos y los ingredientes se caracterizan por su nombre. Un niño puede ser alérgico a diferentes ingredientes, y por tanto no puede consumir los platos en los que aparece este ingrediente. Estas alergias deben de ser controladas para evitar posibles intoxicaciones en los niños. El cargo mensual de un niño se calcula como la suma de un coste fijo mensual y el coste de las comidas realizadas. Este último se obtiene a partir del número de días que el niño ha comido en la guardería, por lo que resulta necesario controlar dicho número. Además, se desea saber el menú que ha consumido cada niño cada día. EJERCICIO 8 – CINES La asociación de cines de una ciudad quiere crear un servicio telefónico en el que se pueda hacer cualquier tipo de consulta sobre las películas que se están proyectando actualmente: en qué cines hacen una determinada película y el horario de los pases, qué películas de dibujos animados se están proyectando y dónde, qué películas hay en un determinado cine, etc. Para ello debemos diseñar una base de datos relacional que contenga toda esta información. En concreto, para cada cine se debe dar el título de la película y el horario de los pases, además del nombre del director de la misma, el nombre de hasta tres de sus protagonistas, el género (comedia, intriga, etc.) y la clasificación (tolerada menores, mayores de 18 años, etc.). La base de datos también almacenará la calle y número donde está el cine, el teléfono y los distintos precios según el día (día del espectador, día del jubilado, festivos y vísperas, carnet de estudiante, etc.). Ejercicios de Diseño de Bases de Datos Relacionales Curso 2001/2002 5 Hay que tener en cuenta que algunos cines tienen varias salas en las que se pasan distintas películas y también que en un mismo cine se pueden pasar películas distintas en diferentes pases. A continuación, se muestra un ejemplo de la información que los cines proporcionarán al nuevo servicio telefónico.

EJERCICIO 9 – CONCESIONARIO Se desea diseñar una base de datos que sea de utilidad para concesionarios de automóviles. Un concesionario puede vender automóviles de varias marcas (por ejemplo, Audi y Volkswagen). Sobre los automóviles se desea mantener la siguiente información: marca, modelo, precio, descuento (si es que lo tiene) y los datos técnicos (potencia fiscal, cilindrada, etc.). Para cada modelo de automóvil se quiere conocer las características de su equipamiento de serie (por ejemplo: airbag conductor y cierre centralizado), así como los extras que se pueden incluir (aire acondicionado, airbag acompañante, pintura metalizada, etc.) y el precio de cada uno de ellos. Notar que, lo que son características del equipamiento de serie de algunos modelos, son extras para otros modelos. Por ejemplo, hay modelos que llevan el airbag de serie mientras que otros lo tienen como un posible extra. El concesionario tiene siempre automóviles de varios modelos en stock (cada uno se identifica por su número de bastidor). Éstos se pueden encontrar en su mismo local, o bien, en cualquiera de los servicios oficiales que dependen de él. Un servicio oficial es también una tienda de automóviles, pero depende de un concesionario que es el que le presta los automóviles para su exposición, y también se los vende. De cada servicio oficial se conoce el nombre, domicilio y NIF. Cuando se vende un automóvil se quiere saber quién lo ha vendido: puede ser uno de los vendedores del concesionario o bien un servicio oficial. También se desea saber el precio que se ha cobrado por él y el modo de pago: al contado o mediante financiera. También se guardará información sobre los extras que se han incluido, precio de cada uno, la fecha de entrega, matrícula y si era de stock o se ha tenido que encargar a fábrica. De los vendedores se almacenarán los datos personales (nombre, NIF, domicilio, etc.) y las ventas realizadas. EJERCICIO 10 – CLÍNICA

Se desea diseñar una base de datos para guardar la información sobre médicos, empleados y pacientes de un centro de salud. De los médicos se desea saber su nombre, dirección, teléfono, población, provincia, código postal, NIF, número de la seguridad social, número de colegiado y si es médico titular, médico interino o médico sustituto. Cada médico tiene un horario en el que pasa consulta, pudiendo ser diferente cada día de la semana. Los datos de los médicos sustitutos no desaparecen cuando finalizan una sustitución, se les da una fecha de baja. Así, cada sustituto puede tener varias fechas de alta y fechas de baja, dependiendo de las sustituciones que haya realizado. Si la última fecha de alta es posterior a la última fecha de baja, el médico está realizando una sustitución en la actualidad en el centro de salud. El resto de empleados son los ATS, ATS de zona, auxiliares de enfermería, celadores y administrativos. De todos ellos se desea conocer su nombre, dirección, teléfono, población, provincia, código postal, NIF y número de la seguridad social. De todos, médicos y empleados, se mantiene también información sobre los períodos de vacaciones que tienen planificados y de los que ya han disfrutado. Por último, de los pacientes se conoce su nombre, dirección, teléfono, código postal, NIF, número de la seguridad social y médico que les corresponde. EJERCICIO 11 – COMEDOR Una guardería desea controlar los gastos que cada uno de los niños realiza a través de su asistencia y de las comidas que consume. De cada niño se desea conocer los datos propios de su matrícula en el centro educativo, es decir, el número de matrícula, el nombre, la fecha de nacimiento y la fecha de ingreso en la guardería. Para aquellos niños que se hayan dado de baja, también se desea conocer la fecha de la baja. Ejercicios de Diseño de Bases de Datos Relacionales Curso 2001/2002 10 Los niños sólo pueden ser recogidos en la guardería por un conjunto de personas que suelen ser un familiar del niño o un conocido de sus familiares De éstos se desea conocer el DNI, el nombre, la dirección y al menos un número de teléfono de contacto. Además, debe de quedar constancia de cuál es la relación entre la persona autorizada y el niño. El coste mensual del niño en la guardería es abonado por una persona, de la que se desea conocer el DNI, el nombre, la dirección, el teléfono, y el número de la cuenta corriente en la que se realizará el cargo. Estas personas también pueden estar autorizadas para recoger al niño. En la guardería aparece un conjunto de menús, compuesto por una serie de platos concretos, cada uno de los cuales presentan unos ingredientes determinados. Cada menú se identifica por un número, mientras que los platos y los ingredientes se caracterizan por su nombre. Un niño puede ser alérgico a diferentes ingredientes, y por tanto no puede consumir los platos en los que aparece este ingrediente. Estas alergias deben de ser controladas para evitar posibles intoxicaciones en los niños. El cargo mensual de un niño se calcula como la suma de un coste fijo mensual y el coste de las comidas realizadas. Este último se obtiene a partir del número de días que el niño ha comido en la guardería, por lo que resulta necesario controlar dicho número. Además, se desea saber el menú que ha consumido cada niño cada día.

Los asesores entran en el holding para dar soporte en cada una de las áreas en las que actúa el holding. Un asesor puede cubrir varias áreas y un área puede ser cubierta por varios asesores. Un asesor puede asesorar a varias empresas y una empresa tener varios asesores. Es importante saber en qué fecha un asesor comienza a trabajar para una empresa en un área determinada. Los datos de interés de los asesores son el código de asesor, nombre, dirección y la titulación. EJERCICIO 12.- ZOOLOGICO Un zoológico necesita una aplicación informática para llevar su 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: E Especies: de las especies 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. 8 l 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. L l 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 una zona puede ser recorrida por diferentes itinerarios. ° l 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 zoológico. Interesa saber qué guías llevan qué 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 éstas un dato de interés. E 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. EJERCICIO 13.- TORNEO DE TENIS GRAND SLAM El sistema debe memorizar todos los encuentros que se han desarrollado desde que existe el torneo, así como las siguientes características de estos. Descripción: El Grand Slam se compone de cuatro torneos anuales que se celebran en Gran Bretaña, Estados Unidos, Francia y Australia. En cada país se pueden desarrollar en distintos lugares (p. ej., en EE. UU. Puede desarrollarse en Forest Hill o en Flashing Meadows). Cada partido tiene asociado un premio de consolación para el perdedor que dependerá de la fase en que se encuentre el torneo (p. ej., el perdedor de octavos de final puede ganar 5.000 dólares). El ganador de a final recibirá el premio correspondiente al torneo.

Cada torneo tiene cinco modalidades: Individual masculino, individual femenino, dobles masculino, dobles femenino y dobles mixtos. También hay que tener en cuenta la nacionalidad de un jugador, de forma que éste puede ser apátrida o tener varias nacionalidades. Resultados a considerar: El sistema debe dar respuesta a las siguientes preguntas: 1. Dado un año y un torneo, composición y resultado de los partidos. 2. Lista de árbitros que participaron en el torneo. 3. Ganancias percibidas en premios por un jugador a lo largo del torneo. 4. Lista de entrenadores que han entrenado a un jugador a lo largo del torneo y fechas en las que lo hizo. Ejemplos de acceso a la base de datos. 1. Connors gano Gerulaitis en Roland Garros en 1979 en cuartos de final en individuales masculinos por 6-3 4-6/7-5 6-0. 2. El señor Wilkinson arbitro ese partido. 3. Alemania ha ganado dos veces las individuales masculinas de Wimbledon. Borg ha ganado 2.000.000 de dólares a lo largo de su participación en el Grand Slam. 4. El ganado de Roland Garros de 1987 ganó 20.000 dólares. 5. Noah ha jugado cuatro veces en dobles mixtos con Mandlikova EJERCICIO 14.- SISTEMA DE VUELOS Obtener el diagrama E/R para un sistema de control de vuelos adaptado a las siguientes reglas de negocio (indicar las entidades, interrelaciones, etc., que se deducen de cada una de las reglas): a) De cada aeropuerto se conoce su código, nombre, ciudad y país. b) En cada aeropuerto pueden tomar tierra diversos modelos de aviones (el modelo de un avión determina su capacidad, es decir, el número de plazas. c) En cada aeropuerto existe una colección de programas de vuelo. En cada programa de vuelo se indica el número de vuelo, línea aérea y días de la semana en que existe dicho vuelo. d) Cada programa de vuelo despega de un aeropuerto y aterriza en otro. e) Los números de vuelo son únicos para todo el mundo. f) En cada aeropuerto hay múltiples aterrizajes y despegues. Todos los aeropuertos contemplados están en activo, es decir, tienen algún aterrizaje y algún despegue. g) Cada vuelo realizado pertenece a un cierto programa de vuelo. Para cada vuelo se quiere conocer su fecha, plazas vacías y el modelo de avión utilizado. h) Algunos programas de vuelo incorporan escalas técnicas intermedias entre los aeropuertos de salida y de llegada. Se entiende por escala técnica a un aterrizaje y despegue consecutivos sin altas ó bajas de pasajeros. i) De cada vuelo se quieren conocer las escalas técnicas ordenadas asignándole a cada una un número de orden. Por ejemplo, el programa de vuelo 555 de Iberia con vuelos los lunes y jueves despega de Barajas-

Madrid-España y aterriza en Caudell-Sydney-Australia teniendo las siguientes escalas técnicas: 1- Los Pradiños-Sao Paulo-Brasil, 2-El Emperador-Santiago-Chile y 3-Saint Kitts-Auckland-Nueva Zelanda. _ ¿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. EJERCICIO 15.- SITIO WEB 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. De cada película, se almacena una ficha con su título de distribución, su título original, su género, el idioma origina, si tiene subtítulos en español o no, los paises 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 en Santiago, 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. EJERCICIO 16.- ELECCIONES En las proximas elecciones de alcalde, en las comunas de Concepción, Talcahuano, San Pedro de la Paz y Chiguayante, un partido politico desea llevar una contabilidad paralela de los sufragios, además de manejar la información de los candidatos, mesas de votación, etc.

La información que debe manejar este sistema es: •

Candidatos por comuna: dni, nombre completo, partido que representa.



Locales de votación



Mesas: número, ubicación, si es de hombres o mujeres.



Número de votantes por mesa.



Número de votos emitidos en una mesa.



Vocales de cada mesa, identificando al presidente de mesa



Votos escrutados en cada mesa, indicando cantidad de votos para cada candidato



Apoderados del partido: rut, nombre completo, mesa(s) en la cual es apoderado.



Cada apoderado puede ser asignado a lo más a dos mesas, siempre que se encuentren en el mismo local de votación.



Los apoderados, una vez terminado el escrutinio de los votos de su mesa, registra los resultados y telefónicamente despacha la información a una central, donde se ingresa a la base de datos.



Interesa poder obtener los porcentajes de preferencias por candidato, desagregadas por mesa, local de votación y comuna. Además de otros antecedentes, como una lista de los apoderadios del partuido, lista de vocales de mesa, etc.

EJERCICIO 17.- TIO JUANITO La empresa "Tío Juanito" se dedica al transporte escolar y desea administrar mejor sus negocios para mejorar sus ingresos. Los aspectos más relevantes son los siguientes. • • •

• • • • •

La empresa cuenta actualmente con 10 minibuses amarillos especiales para transporte escolar. Además, se tiene contratado a 12 choferes, que se turnan, y a 10 asistentes, que van en los buses. Los apoderados de los niños contratan los servicios de Tío Juanito en alguna de las siguientes modalidades: sólo mañana, sólo mediodía, sólo tarde, mañana-mediodía, mañana-tarde, mediodía-tarde, dependiendo de la jornada de los niños y de la disponibilidad del apoderado (que a veces pueden ir a dejarlos y no a buscarlos, etc.) El servicio se contrata por un período mínimo de un mes, dependiendo si hay cupo para el recorrido del niño. Los recorridos se organizan por barrio, colegio y jornada, por ejemplo: colegio inglés - colon 9000 - mañana y mediodía (todos los niños de colon 9000 que van al colegio inglés en la mañana). Para cada niño se debe especificar su dirección, su colegio o jardín, la hora en que se lo pasa a buscar a la casa y la hora en que se lo va a dejar.

• • •



Los minibuses tienen una capacidad de 10 niños, más el chofer y un asistente. Las tarifas del servicio son variables, y se conversan con cada caso. Algunos criterios son mayor costo por mayor distancia, a más niños menos precio, a más tiempo del contrato, menor precio, etc. Los contratos se hacen con un adulto por uno o más niños, y ahí se especifican las características del servicio contratado. Todos los días hacen un registro del recorrido indicando hora de llegada al colegio y hora de retorno a la cochera por cada vehículo, indicando además los eventos que ocurrieron como papeletas, paradas del policía, cambio de rutas por reparación de vías. Asimismo apuntan el kilometraje al salir y al regresar de cada viaje.

EJERCICIO 18.- INFORDATA Una empresa dedicada a la venta de productos informáticos desea que diseñemos la bases de datos para la automatización de sus procesos. Para ello nos detalla que: Vende productos que pueden ser: CPU's, impresoras o monitores, entre otros. De su catálogo podemos decir: De las CPU's nos interesa un código, el modelo y la memoria principal. De las impresoras nos interesa el código, el modelo y la velocidad, mientras que para los monitores nos interesa el código, el modelo y la definición máxima. De cualquier otro producto nos interesa solamente el código y modelo. Todos los códigos son únicos y no se repiten ni para productos de diferentes tipos. Interesa conocer los proveedores de los productos, que se caracterizan por su NIF y dirección, así como es de interés conocer la fecha en que se les ha adquirido cada producto, teniendo en cuenta que un producto puede ser adquirido a diferentes proveedores y que un proveedor puede proporcionar más de un producto. Se necesita, también, conocer cuántos productos proporciona cada proveedor. Por otra parte, la empresa nos indica que dispone de una serie de productos para alquiler. De dichos productos, que en principio pueden ser solamente monitores o discos duros, interesa conocer el código de producto para alquiler y el precio por hora. Cualquiera de los monitores que tiene a la venta puede ser alquilado y por tanto interesa saber la resolución máxima, mientras que para los discos duros interesa la capacidad. No hay ningún otro tipo de producto que pueda ser alquilado. En otro orden de cosas, algunas CPU's y algunos discos duros son considerados como productos de alta tecnología y por tanto interesa conocer su país de origen y fecha de fabricación. De todos estos productos de alta tecnología se quiere conocer los datos de su empresa fabricante, que son nombre, dirección y número de empleados, sabiendo que uno de estos productos solamente lo fabrica una empresa, mientras que cada una de estas casas puede fabricar más de un producto. Algunas de estas empresas dan soporte técnico a los productos de alta tecnología fabricados por otras, lo cual resulta de interés, ya que se puede solicitar esos servicios y comparar precios del soporte para dichos productos. Por supuesto es de interés conocer el precio de cada empresa para el soporte a cada uno de los productos. Por último, y dado que nuestra empresa da servicio técnico exclusivamente a las personas que compran impresoras, se desea almacenar los datos de dichos clientes, que son DNI, teléfono y domicilio, además de la fecha en que ha comprado cada una de las impresoras que tenga además del detalle de los servicios técnicos que se dieron en cada vez, y el total facturado Se sabe que el precio de los servicios varìa con el tiempo.

EJERCICIO 19.- RESIDUOS PELIGROSOS Se desea construir un sistema de información para la gestión de los residuos sólidos y peligrosos producidos en una ciudad. La información a contemplar es la que corresponde desde que El residuo es producido hasta que llega a un lugar seguro y recibe un tratamiento especial. Esto incluye información de los residuos, sus productores, las empresas que los transportan a los lugares seguros y los traslados de los residuos. Las reglas de gestión a tener en cuenta son las siguientes: a) Un productor (empresa u organización) produce un número variable de residuos constituidos, a su vez, por un número variable de constituyentes químicos. b) Más de un productor puede producir residuos con iguales constituyentes químicos y con las mismas o distintas cantidades de dichos constituyentes. c) Los productores asignan un código único a los residuos que producen, lo que les permite diferenciar distintas producciones de los mismos productos. Además, más de un productor puede asignar el mismo código a los residuos que produce. d) Los residuos pueden ser trasladados en su totalidad (cantidad total del mismo) o en partes, o no ser trasladados nunca. e) En cada traslado de residuos la cantidad que se traslada de los mismos es enviada a un único destino. f) En cada traslado puede intervenir más de una empresa transportista usando el mismo o distinto transporte, por lo que resulta interesante conocer tanto el medio de transporte utilizado como los kilómetros realizados, así como el coste del trabajo. g) El residuo se traslada en un tipo de envase determinado por el productor y que no varía a lo largo de su traslado. h) Interesa conocer la fecha de llegada a destino y el tratamiento posterior a que se someten los residuos. i) Por seguridad, se considera que en un traslado sólo puede trasladarse un residuo de un productor. Obtener el diagrama E/R para el sistema anterior EJERCICIO 20.- TIENDA DE MUSICA Se quiere diseñar una Base de Datos para gestionar las existencias de CD’s (discos compactos) de una tienda de música. El análisis de requerimientos realizado nos ha permitido saber lo siguiente: a) Existen dos tipos de obras: los CD’s individuales y las colecciones. Las obras se identifican por su clave (parecida al ISBN de los libros) que es general para todo el mundo. También tienen un nombre. b) Cada CD se puede identificar también por un número asignado por la propia tienda (#cd). Tiene un precio venta al público (PVP). c) Cada CD incluye varias pistas, que están numeradas (1,2,3, …). De cada pista nos interesa el título de la canción que contiene y su duración. Dos o mas canciones de distintos CD’s pueden tener el mismo título. d) A cada colección pertenecen varios CD’s. Una colección tiene un promotor y un PVP (que se cobra al adquirirla entera), que suele ser mas bajo que la suma de los PVP’s de los CD’s que la forman. e) Cada CD ha sido realizado por uno o varios artistas. Los artistas se identifican por su nombre. También interesa conocer de ellos el país y el estilo musical (rock, country, flamenco, música española, etc).

f) Los artistas pueden ser personas individuales o grupos. Para los grupos interesa conocer también el número de componentes y sus nombres. g) Se quiere tener otro fichero con datos de las compañías discográficas: su nombre (que las identifica), su dirección en España (calle, número y código postal-cp-) y el país donde tienen la sede central. h) Cada compañía ha editado una o varias obras. Cada obra sólo la puede editar la compañía propietaria de sus derechos, pero estos derechos pueden cambiar a otra compañía con el tiempo (por compra, cesión, etc). De cada obra puede haber varias ediciones realizadas por la misma compañía (o por varias distintas si los derechos han cambiado). Por tanto, de cada edición de cada obra interesa conocer la compañía que la ha realizado, así como su fecha. i) Por último, se quiere saber para cada obra cual es la compañía propietaria actualmente de los derechos (se necesita para saber a quién pedir mas ejemplares de la obra en caso de necesidad).

EJERCICIO 22 – PUBLICIDAD las emisoras de radio en las que inserta la publicidad que tiene contratada. De las emisoras de radio se desea conocer el NIF, su nombre, la dirección postal, el nombre del director y la banda hertziana por la que emite, cuyo uso es exclusivo para la emisora dentro de la provincia en la que se encuentra. Las emisoras de radio pueden asociarse en cadenas de radio con el objeto de realizar de modo conjunto parte de la programación semanal. Cada cadena tiene un nombre representativo. La sede central de una cadena de radio es una de las emisoras de la cadena, aunque el director de la cadena no tiene por qué coincidir con el director de esta emisora. Las cadenas de radio se asocian a una empresa de medios de comunicación que puede controlar más de una cadena de radio. Estas empresas se caracterizan por el NIF, deseándose conocer también su nombre, el nombre de su director y su dirección postal. Un programa de radio se emite en una o más franjas horarias; cada franja se caracteriza por la hora de inicio, el día de la semana en el que se emite y la duración. Dicho programa puede emitirse en todas las emisoras de una cadena, o bien, pertenecer a la programación local de una emisora. Se desea conocer el nombre del programa, que es único, y su responsable. Un programa de radio puede emitir publicidad de diferentes patrocinadores. La duración de la publicidad se mide en segundos por semana, por lo que el coste de esta publicidad se calcula multiplicando dicho valor por el precio por segundo asociado al programa de radio. Un patrocinador se identifica por el número del contrato que tiene con la empresa de publicidad. Es necesario conocer el nombre del patrocinador, así como la duración y el importe del contrato.

EJERCICIO 23 – BIBLIOTECA Se desea diseñar la base de datos bibliográfica de un grupo de investigación de la universidad. En concreto, se quiere almacenar toda la información relativa a los artículos científicos sobre los temas en los que trabaja el grupo y de los cuales puede poseer alguna copia. Si se posee alguna copia, esta puede estar en las estanterías del laboratorio, o bien, en el despacho de alguno de los investigadores del grupo. De cada uno de estos artículos se desea saber el título, los autores, las palabras clave, la dirección de correo electrónico de contacto (si la hay), si se

tiene copia en el grupo y donde se guarda. Los artículos pueden haber sido publicados como informes técnicos, o bien en las actas de algún congreso o en una revista científica. De los informes técnicos se debe guardar el número y el centro en que se ha publicado, junto con el mes y año de publicación. Cuando el artículo aparece en las actas de un congreso, se debe guardar el nombre del congreso, la edición del mismo en la que se presentó el artículo, ciudad en que se celebró y fechas de inicio y finalización. Además se debe guardar el tipo de congreso que es (nacional o internacional) y la frecuencia con que se celebra (anual, etc.). Si el congreso es de tipo internacional, se debe guardar también el país en que tuvo lugar cuando se presentó el artículo. Además, se guardará el año en que el congreso se celebró por primera vez. Por último, si el artículo ha aparecido publicado en una revista científica, se quiere saber el nombre de la revista, el nombre del editor, el año en que empezó a publicarse, la frecuencia con que aparece (mensual, trimestral, etc.), los temas que trata la revista, el número de la revista en que apareció el artículo, las páginas ocupadas (por ejemplo 512-519) y el año. También se quiere guardar información adicional sobre los autores de los artículos y, en general, sobre otros investigadores, como el centro en el que trabajan y su dirección de correo electrónico. Además, si es posible, también se desea conocer los temas concretos en que trabajan EJERCICIO 23 – MATRICULA El servicio de estudiantes de la universidad proporciona información sobre las asignaturas de cada titulación e información sobre los profesores, mediante los tipos de informe que se muestran más adelante. Para ello, posee un fichero de asignaturas y un fichero de profesores, con los correspondientes programas que se encargan de gestionarlos y que generan dichos informes. Dados los problemas de inconsistencia de datos que el sistema de ficheros conlleva, se desea diseñar una base de datos relacional que lo sustituya. Algunas aclaraciones que el servicio de estudiantes nos ha hecho son las siguientes: en cada departamento hay varias áreas de conocimiento, cada una de las cuales imparte una serie de asignaturas distintas en una o varias titulaciones. Cada profesor pertenece a un única área de conocimiento de un departamento e imparte clases en una o varias asignaturas de ese área.

EJERCICIO 24 - EMPLEO Supongamos que se nos ha encargado el diseño de una base de datos que sirva de soporte a un servicio web de búsqueda de empleo (tipo infojobs.net o monster.es). Tras analizar detenidamente el problema, averiguamos que nuestro sistema debe cumplir los siguientes requisitos: • Los usuarios de nuestro sistema pueden ser demandantes de empleo (candidatos) o clientes corporativos (empresas) que usarán nuestro sistema para insertar ofertas de trabajo y realizar procesos de selección. • Una vez registrados, los candidatos introducirán sus datos de contacto (nombre, dirección, teléfono, e-mail) y podrán detallar su curriculum. • El curriculum de un candidato incluirá su experiencia profesional (puesto, empresa, descripción de

responsabilidades, fecha de inicio y fecha de finalización de cada una de las actividades profesionales que haya desempeñado) y su formación académica (título, especialidad, institución y fecha, para cada una de sus titulaciones oficiales), así como otros méritos que el candidato desee hacer constar. • Por su parte, las empresas serán las que podrán introducir nuevas ofertas de empleo en nuestro sistema. • Entre los datos de cada oferta de empleo se incluirán una descripción del puesto vacante, el número de vacantes que se ha de cubrir, la fecha de la oferta, su ubicación (población, provincia y país) y los requisitos del puesto, así como la duración del contrato, el horario de la jornada laboral y el salario asociado al puesto. • Los requisitos asociados a una oferta de trabajo pueden ser requisitos mínimos que han de cumplir los candidatos (nivel de estudios, experiencia previa, idiomas, etc.) o, simplemente, requisitos deseables para el puesto. Obviamente, pueden ser varios para una misma oferta. • Los candidatos, al ver una oferta de empleo de su interés, se inscribirán en ella para poder participar el proceso de selección correspondiente. • Las ofertas de empleo se clasificarán por categorías profesionales y estas categorías se organizarán de forma jerárquica para facilitar la búsqueda de ofertas por parte de los demandantes de empleo (p.ej. “Business Intelligence” como subcategoría de “Sistemas de Información” o “Estadística” como especialidad de “Matemáticas”). • Los candidatos podrán subscribirse a un servicio de notificaciones por correo electrónico de las ofertas de empleo correspondientes a las categorías que sean de su interés. EJERCICIO 25 – AGENCIA DE VIAJES Supongamos que se nos ha encargado el desarrollo de una aplicación que se encargue de gestionar la reserva de billetes de avión en una agencia de viajes. Tras analizar el problema con nuestros clientes hemos recopilado la siguiente lista de requisitos: · La agencia de viajes desea mantener información de contacto relativa a cada cliente que ha utilizado los servicios de reserva de billetes a través de la agencia. · Cuando un cliente hace una reserva, compra un billete para trasladarse de una ciudad a otra. El billete ha de incluir, aparte del nombre del viajero y las ciudades de origen y destino, su fecha de emisión y su precio total. · Los billetes pueden ser de distintas categorías (business, turista…). · Dado que no siempre hay vuelos directos entre dos ciudades, el trayecto realizado por el cliente puede estar formado por distintos tramos. Cada tramo corresponde a un vuelo concreto entre dos aeropuertos y viene definido por el

código de vuelo, la fecha y la hora de salida. En algunas ocasiones, la agencia es capaz de reservar un asiento concreto dentro del avión. · El código de cada vuelo está formado por el código de la compañía aérea y un número. Por ejemplo, el vuelo IB-365 es el vuelo número 365 de la compañía Iberia. · Cada vuelo oferta un número determinado de plazas para cada categoría y cada categoría tiene asociada una tarifa diferente para un mismo vuelo. · Los aeropuertos vienen identificados unívocamente por un código de tres letras (por ejemplo, GRX corresponde al aeropuerto de Granada). · En el caso de los billetes de ida y vuelta, lo único que tenemos que hacer es incluir los tramos que sean necesarios para realizar el recorrido completo.

EJERCICIO 26 – LABORATORIO Supongamos que se nos ha encargado el desarrollo de una aplicación que se encargue de gestionar los ensayos realizados en un laboratorio de control de calidad y emitir los informes pertinentes. Para realizar nuestra tarea, hemos de comenzar diseñando la base de datos que dará soporte a nuestra aplicación. REQUISITOS: · Nuestro laboratorio se encarga de hacerle controles de calidad a distintos productos. En concreto, la función del laboratorio consiste en realizar el control de calidad de muestras tomadas de un lote concreto del producto analizado. · En control de calidad viene avalado por la realización de uno o varios ensayos (experimentos de laboratorio que se realizan expresamente sobre muestras del producto para certificar la calidad del lote analizado). · Cada ensayo se realiza sobre una muestra del lote analizado del producto, la cual viene identificada por un código asignado por el jefe de laboratorio y, en ocasiones, puede reutilizarse para distintos ensayos. · Cada ensayo toma una serie de medidas de la muestra analizada. Dichas medidas serán las que aparezcan en el informe final de control de calidad. · Cuando los ensayos demuestren que el producto cumple con las exigencias de calidad establecidas por ley, nuestra aplicación se encargará de emitir un certificado que garantice la calidad del producto. Dicho certificado sólo tiene validez para el lote concreto analizado y deberá ir firmado por el director de laboratorio para que tenga validez. · Cada ensayo de los realizados en el laboratorio es de un tipo concreto (especificado por la normativa vigente) y su tipo determina cuáles son las condiciones mínimas exigibles a los resultados obtenidos en el laboratorio para poder emitir el certificado de calidad.

EJERCICIO 27 – PROYECTOS Supongamos que se nos ha encargado el diseño de una aplicación para facilitar la gestión de los proyectos de una empresa. Tras analizar detenidamente el problema, averiguamos que nuestra aplicación debe cumplir los siguientes requisitos: • Se ha de mantener un registro de los proyectos de la empresa (nombre en clave, denominación comercial, fecha de inicio, fecha de finalización, estado actual…) • Nuestra aplicación gestionará los recursos humanos de la empresa y le permitirá al usuario visualizar la ficha de cada empleado (DNI, nombre, apellidos, dirección, teléfono, correo electrónico, fecha de contratación…). • Cada proyecto tiene un promotor, que ha de ser uno de los empleados de la empresa y que ejercerá de jefe de proyecto durante la duración del mismo. • Cada proyecto se descompone en una serie de tareas (descripción, tipo, fecha de inicio estimada, fecha de inicio real, duración estimada, duración real…). • Los empleados de la empresa se adscriben a las distintas tareas en las que se descomponen los proyectos que en cada momento estén en marcha. • Asociados a cada tarea se genera una serie de documentos (p.ej. el documento de especificación de requisitos, el código fuente de un componente…). Cada documento viene caracterizado por su código (único dentro del ámbito del proyecto al que corresponde), una descripción y su tipo. • Nuestro sistema también se encarga de mantener almacenadas las distintas versiones de los documentos que se van generando a lo largo del proyecto. A cada versión de cada documento, que se almacena digitalizada en nuestro sistema, se le asocia también una descripción y una fecha. EJERCICIO 28 – CONGRESO Supongamos que se nos ha encargado el diseño de una aplicación que sirva de soporte a la organización de una reunión científica (congreso o seminario). Tras analizar detenidamente el problema, averiguamos que nuestra aplicación debe cumplir los siguientes requisitos: • Los congresistas (asistentes al congreso) se registran para poder asistir a las sesiones del congreso. Al registrarse, han de indicar su nombre y primer apellido (fuera de España no se usa el segundo apellido), la institución a la que pertenecen, una dirección de correo electrónico válida y, opcionalmente, un número de teléfono móvil en el que recibirá notificaciones vía SMS. • En el congreso se presentan trabajos remitidos por los propios congresistas. Cada trabajo tiene un título, un “abstract” (un resumen del trabajo presentado) y una lista de autores asociada.

NOTA: Al menos uno de los autores debe estar registrado como asistente al congreso. • En cada sesión del congreso se presenta un subconjunto de los trabajos aceptados para su publicación. Cada sesión tiene asignada una sala donde se realizan las presentaciones en el día y la hora establecidos por los organizadores del congreso. Cada trabajo se presenta en una única sesión. • Cada trabajo de los presentados en una sesión es defendido por un ponente, que ha de ser uno de los coautores del trabajo y debe aparecer registrado como asistente al congreso. • Cada sesión es moderada por el “chairman” de la sesión, que también es un asistente al congreso (usualmente, miembro del comité de organización del mismo). EJERCICIO 29 – RED SOCIAL Ejercicio de diseño de bases de datos Supongamos que se nos ha encargado el diseño de una aplicación que sirva de soporte al funcionamiento de una red social online (una comunidad de usuarios con intereses comunes que deciden ponerse en contacto e intercambiar opiniones e información acerca de sus temas de interés). Tras analizar detenidamente el problema, averiguamos que nuestra aplicación debe cumplir los siguientes requisitos: • Los usuarios de nuestra comunidad virtual se pueden registrar gratuitamente en nuestro sistema. Una vez registrados, para acceder al mismo han de usar su nombre de usuario o ‘nick’ y una contraseña que ellos mismos establecen al registrarse. El usuario también ha de indicar una dirección de correo electrónico válida y, opcionalmente, un número de teléfono móvil en el que recibirá notificaciones vía SMS. El perfil de un usuario puede incluir, opcionalmente, la URL de su página web personal, su lugar de residencia (ciudad y país), su fecha de nacimiento, una fotografía (o icono) y una breve descripción en la que el usuario podrá especificar sus aficiones o preferencias. • Los usuarios podrán subscribirse a distintos grupos, siendo cada grupo de usuarios gestionado por uno o varios moderadores que pueden decidir a quién aceptan y a quién rechazan en el grupo. Cualquier usuario puede crear nuevos grupos y solicitar su acceso a grupos ya existentes. Alguno de los moderadores deberá aceptar o rechazar las solicitudes de acceso. En cualquier momento, el moderador puede expulsar a alguien del grupo y el usuario puede darse de baja del grupo. • Los grupos estarán organizados jerárquicamente y se podrán dividir en subgrupos (p.ej. el grupo “reseñas” puede estar dividido en “reseñas de libros”, “críticas de películas” y “comentarios sobre videojuegos”). • Los usuarios del sistema pueden

enviar artículos a uno o varios grupos (textos con información de interés para los miembros del grupo, como reseñas de libros, críticas de productos, tutoriales técnicos de diversas materias, etc.). Cada artículo tendrá un identificador único, una fecha de creación, un usuario responsable (el creador del artículo), un resumen (como el “subject” de un e-mail) y un texto (el artículo en sí). También tendrá, para cada grupo al que ha sido enviado, un estado editorial asociado (“enviado”, “aprobado” o “rechazado”) que será controlado por los moderadores de cada grupo (para que puedan actuar como tales si fuese necesario). • Una vez publicado un artículo, los demás usuarios de los grupos en los que se publique el artículo podrán escribir comentarios sobre él. Cada comentario tendrá un firmante (un usuario del sistema), una fecha, un texto y un estado editorial asociado. • Los usuarios del sistema podrán enviar mensajes privados a otros usuarios del sistema (el sistema, automáticamente, notificará por e-mail al recipiente del mensaje). • Los usuarios también podrán publicar noticias de interés general que aparecerán en la página de bienvenida del sistema. Las noticias, que estarán moderadas por los administradores del sistema, llevarán una fecha asociada y caducarán automáticamente pasada esta fecha. • El sistema incluirá un servicio automático de notificaciones, por lo que deberá mantener información de contacto de cada usuario registrado (p.ej. e-mail o teléfono móvil para envío de SMSs), si bien esta información será privada y no se compartirá con los demás miembros de la comunidad salvo que así lo desee el usuario. • Cada usuario podrá mantener una lista de contactos personales (otros usuarios con los que nuestro usuario quiere mantenerse en contacto). El sistema enviará notificaciones a un usuario cada vez que alguien de su lista de contactos envíe algún artículo o escriba un comentario. • Un usuario también podrá añadir artículos concretos a su lista de marcadores (para poder acceder en cualquier momento a los artículos que considere especialmente relevantes). EJERCICIO 30 - SUBASTA DE ONLINE Supongamos que se nos ha encargado el diseño de una aplicación que sirva de soporte a un sistema de compraventa de artículos mediante subastas a través de Internet (tipo eBay). Tras analizar detenidamente el problema, averiguamos que nuestra aplicación debe cumplir los siguientes requisitos: • Para poder realizar una operación de compraventa, los usuarios deben registrarse en el sistema rellenando un formulario en el que han de especificar sus datos personales (nombre, apellidos, dirección, e-mail). • Cuando un usuario desea poner en venta

un artículo, ha de rellenar otro formulario en el que especifica los datos del artículo que se pone en venta (nombre y descripción), su estado (nuevo, usado…), su precio de salida y la fecha límite de la subasta. • Para facilitar la búsqueda de artículos en venta, los artículos se organizan en categorías. Cada categoría de artículos puede, a su vez, englobar otras categorías. Por ejemplo, la categoría “libros” puede incluir a categorías como “ficción” [obras literarias], “no ficción”, “primeras ediciones” o “libros firmados” y un libro concreto puede pertenecer a varias categorías (p.ej. un ejemplar de la primera edición de una novela firmado por el autor). • Los usuarios pujan por los artículos que desean comprar ofreciendo un precio mayor al ya ofrecido por otros usuarios. El sistema registra el momento en que se realiza cada puja, la identidad del postor y el precio que éste ofrece por el artículo subastado. • Finalmente, un artículo se adjudica al usuario que, llegada la fecha límite de la subasta, haya realizado una puja mayor. Si la puja mayor no alcanza el precio de salida del artículo, el propietario del artículo tiene la posibilidad de declarar nula la subasta. Si no es así, tiene la obligación de vender el artículo al precio ofrecido por el mejor postor. EJERCICIO 31 – NOMINA Supongamos que se nos ha encargado el diseño de una base de datos que sirva de soporte al sistema de gestión de las nóminas de una empresa. Tras analizar detenidamente el problema, averiguamos que nuestro sistema debe cumplir los siguientes requisitos: • La empresa tiene un conjunto de empleados trabajando con contrato (un empleado puede firmar varios contratos a lo largo de su carrera profesional). • Para cada empleado, el sistema almacena sus datos personales (DNI, nombre, apellidos, teléfono, dirección) y el número de su cuenta corriente para realizar las transferencias correspondientes a las nóminas. • Cada contrato firmado por un empleado tiene una fecha de alta, una fecha de baja (nula si el contrato es indefinido), una categoría asociada y un puesto de destino. • El sueldo base de un empleado depende de su categoría. • En función del puesto de destino del empleado, el empleado puede recibir uno o varios complementos, que se sumarán al sueldo base del empleado. • Además, por su antigüedad en la empresa, el empleado cobrará trienios (cuyo importe depende de la categoría de su contrato actual). • Por último, el empleado también cobrará complementos por los cargos que desempeñe (durante la duración de su ocupación del cargo, que no tiene por qué coincidir

con la de su contrato). • De las percepciones salariales indicadas en los puntos anteriores, la nómina de cada empleado incluirá una serie de deducciones (p.ej. aportaciones a la S.S., desempleo, formación profesional e I.R.P.F.). • Algunas de estas deducciones se calculan mediante un porcentaje fijo (p.ej. 4.7% de contingencias comunes), mientras que otras se calculan por tramos (p.ej. IRPF: 24% de 45k$ a 17k$, 28% de 17k$ a 32k$, 37% de 32k$ a 52k$, 43% a partir de 52k$). • El sistema debe almacenar todas las nóminas emitidas mensualmente e incluir automáticamente tanto los distintos conceptos correspondientes a percepciones salariales del empleado como los distintos tipos de deducciones a los que está sujeta su nómina.

e. Cada partido involucra a 2 equipos. f. Es obligatorio en todo momento que un jugador pertenezca a un equipo determinado y no podrá cambiar de equipo a lo largo del mundial. EJERCICIO 32 Educando S.A. En la Empresa "Educando S.A." se lleva control de sus Bienes y Servicios. El interés primario es poder hacer que los Bienes se manejen de forma rápida y con el menor grado de error. 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, ALMACEN, INVENTARIO. El área de Compras funciona de la siguiente forma: o Recibe las solicitudes de compras de las diferentes áreas de la empresa. o Cada solicitud tiene un responsable. o Cada solicitud es autorizada por el jefe del área y posteriormente por el Director Financiero. o Quien realiza una solicitud puede ser responsable de uno o varios centros de costos, con la salvedad de que él como empleado solo está adscrito a uno. o De la solicitud se debe diligenciar la siguiente información: Número de la solicitud (consecutivo), Fecha, Responsable (nombre y cédula), Centro de Costos, Rubro presupuestal del cual se descargará la com pra. En cada solicitud se pueden discriminar uno o muchos ítems con la siguiente información: ítem, nombre del bien, cantidad solicitada, unidad de medida del bien, valor unitario y valor total. Cada solicitud debe ser totalizada. o Cada bien es identificado por un código universal que es único y es de carácter devolutivo (suministro) o un bien inmueble. o Una vez diligenciada la solicitud es remitida al área de compras para realizar su correspondiente cotización. o Las cotizaciones son realizadas con uno o varios proveedores de los bienes solicitados. o Una vez la cotización de.nitiva está lista, se crea una orden contractual que maneja la siguiente información: Número de la orden contractual, nit y nombre del proveedor al cual se le va a realizar la compra, fecha de la orden, monto total de la orden, fecha de entrega. Cada orden puede tener asociado uno o varios ítems de la solicitud o solicitudes que van a ser despachadas. Cada ítem tiene la siguiente información: nombre del bien, cantidad solicitada, cantidad despachada, unidad de medida del bien, valor unitario y valor total. o La orden de compra es aprobada por el Director Financiero para que sea enviada al proveedor elegido. 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. o Cuando llega un proveedor mercancía, este hace una entrega física de los bienes, los cuales son comparados con la factura que este entrega y con la orden de compra correspondiente. Si esta acción es correcta se registra una entrada de almacén por cada factura relacionada, con la siguiente información: Número de Entrada, Fecha, Número de factura, Proveedor, Total Bienes, Valor Total (los totales deben coincidir con los de la

factura). Adjunto a esta se discriminan los ítems recibidos con la siguiente información: nombre del bien, cantidad entregada. o Cuando el almacén decide despachar los bienes a las diferentes áreas solicitantes, registra cada una de las entregas en Salidas de Almacén con la siguiente información: Número de Salida, Empleado responsable del bien a entregar, fecha de salida, fecha de entrega. Por cada entrega se detalla cada uno de los ítems con la siguiente información: nombre del bien, cantidad entregada. o Una entrada de almacén puede generarmuchas salidas de almacén, por ejemplo: Pueden ingresar 500 pacas de papel higiénico, pero como se debe repartir entre varias áreas, cada una requiere de una salida de almacén. 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, 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. o La ubicación del bien se identi.ca por la siguiente información: responsable del bien, fecha de entrega, dirección del bien (ubicación). EJERCICIOS PROPUESTOS PARA MERE EJERCICIO 33 PROGRAMACIÓN Una empresa le solicita a Ud. que diseñe una base de datos para llevar encuestas sobre la programación radial. Lo que sigue es el resultado del relevamiento realizado por los analistas de la empresa. Existe un conjunto de radios, de las que se conoce su característica (que las identifica), un nombre, la frecuencia en la que transmite y el tipo de transmisión (AM.FM). Cada radio, emite programas que están identificados por un nombre y de los que se conoce un género (periodístico, deportivo, musical, cultural, variedades). Cada programa puede ser emitido por diferentes radios. Es importante destacar que cada radio puede realizar más de una emisión de cada programa, registrando para cada emisión la fecha,la hora de comienzo, la duración y si es una repetición o no. A veces, para una emisión de un programa, se realiza una encuesta en la que se registran los siguientes datos: la cantidad total de encuestados, la cantidad de aprobaciones, la cantidad de rechazos y la cantidad de indiferencias. Obviamente, la empresa espera que estas cantidades cierren correctamente. Los programas, además, pueden ser programas de resumen en cuyo caso interesa saber de qué otros programas toma las notas. Cada programa es producido por un único consorcio compuesto por una de las radios que lo emite y una compañía productora. De las compañías productoras se conoce su nro. del Registro Federal de Contribuyentes (RFC), un nombre y sus teléfonos. No se admite que dos productoras puedan tener igual nombre. En cada productora, trabajan personas relacionadas directamente con los programas, de las que se conoce su cédula de identidad y su nombre. Estas personas pueden ser Conductores, Operadores o Productores. Las productoras no permiten que una persona trabaje en más de una de ellas. Interesa registrar para cada programa, quiénes son los conductores, los

operadores y los productores. Los productores, en cada programa en el que trabajan, pueden realizar producción periodística o comercial. Por otra parte, hay algunos conductores que tienen preferencia por trabajar con algunos operadores. Es claro que todos los programas tienen al menos un conductor, un productor y un operador, aunque podrían tener varias personas para cada función. EJERCICIO 34 CENSO Para realizar el diseño de la Base de Datos del censo de población se dispone de la siguiente especificación de requerimientos: - Se almacenarán datos de personas y datos de lugares. - Cada persona tiene un nombre, apellidos, fecha_de_nacimiento, lugar_de_nacimiento, edad, estatura, sexo y nivel_de_estudios. Para los hombres también interesa conocer su situación_militar. Para las personas mayores de 16 años también se debe considerar el DNI. - Cada lugar corresponde a un municipio, teniendo como datos propios el nombre y el código (número secuencial del municipio según orden alfabético en cada provincia). Por ejemplo, Ciudad Real capital es el municipio “13034”, ya que el código de la provincia es el “13”. - Todas las personas están censadas (población de derecho) en un municipio en una dirección (calle y número). Interesa conocer la fecha en que se registró dicha situación. - Además, cada persona es residente (población de hecho) en un municipio en una dirección ó en un país extranjero. En ambos casos queremos conocer también la fecha de inicio. - Una persona puede ser residente en el mismo municipio en el que está censada o en otro diferente (o en otro país). - De cada municipio y de cada provincia interesa conocer su población de derecho (censada) y de hecho (residente realmente). Se pide: a) Obtener el diagrama E/R correspondiente. b) Proponer una forma lo más sencilla posible de transformar el anterior diagrama para que la dirección (calle y nº) donde está censada una persona, nos permita conocer el distrito al que pertenece dentro del municipio. El distrito es una subdivisión del municipio compuesta por un conjunto de manzanas (una manzana no puede dividirse para pertenecer a dos distritos). Una manzana es un conjunto de casas físicamente unidas, separadas de las demás por calles. Cada lado de la manzana incluye una serie de números consecutivos (pares o impares) de una calle. EJERCICIO 35 CARRETERA 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 de un país, sabiendo que se deben cumplir las siguientes especificaciones: Las carreteras se encuentran divididas en varias categorías (locales, comarcales, 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 varios municipios, interesando conocer el km de la carretera y el municipio 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 municipio.

EJERCICIO 36 BANCO Se conocen las siguientes reglas de negocio de un banco: a) El 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. b) Los clientes tiene un nombre, una dirección y se identifican por su código. 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 organización (empresa, institución pública, etc.), un representante y un nº de empleados. c) Cada cuenta se identifica por un código-cuenta-cliente (CCC), formado por el identificador del banco, de la sucursal y el nº de la cuenta (dentro de dicha sucursal). d) Todas las cuentas tienen un saldo actual y un saldo medio, pero el tipo de amortización sólo lo tienen las cuentas de ahorro (que sólo suponen el 5% del total de cuentas existentes). e) Cada sucursal se identifica por su número. Además tiene una dirección, un código postal y una ciudad. f) Los empleados del banco se identifican por su DNI. También interesa conocer su nombre, fecha-nacimiento, sexo y la sucursal en la que trabajan (aunque hay empleados que no trabajan en ninguna sucursal). Se pide: 1. Representar mediante diagramas E/R cada regla por separado. 2. Integrar las vistas conceptuales obtenidas en el apartado anterior en un único esquema conceptual, eliminando las redundancias encontradas. 3. Entre las preguntas siguientes, señale cuáles no se podrían responder con el esquema obtenido en el apartado anterior, explique por qué no y proponga el cambio necesario en el esquema para poder responderlas: - ¿Cuál es el saldo medio de las empresas con más de 500 trabajadores? - ¿Cuántos directores de sucursal tienen cuenta de ahorro? - ¿Cuántos titulares de cuentas corrientes son empleados del banco? - ¿Cuál es la antigüedad media de las cuentas con saldo mayor de 100000 pesetas? NOTA: No realizar ninguna suposición innecesaria. Si considera que para realizar el ejercicio es necesario realizar alguna, indique de manera expresa la regla de negocio correspondiente. EJERCICIO 37 CASTINGS Se desea diseñar una Base de Datos para gestionar una Agencia de Castings dedicada a proporcionar a sus clientes los modelos y actores para sus trabajos de publicidad y cine. Los supuestos semánticos que se van a contemplar son: La agencia dispone de varios clientes de dos tipos (empresas de moda y empresas de publicidad y cine) los cuales contratan castings para seleccionar actores y modelos para trabajar de entre todos los candidatos existentes. Los clientes se identifican por un código de cliente y se caracterizan por un nombre, una dirección, un teléfono, una persona de contacto y un tipo de actividad (o bien publicidad y cine, o bien moda). Un casting se identifica por un código de casting y además contiene un nombre, una descripción y una fecha de contratación. Un casting es contratado por un único cliente y tiene un determinado coste. Existen dos tipos de casting: los casting pueden ser presenciales o bien on-line. Para los presenciales se almacena el número de personas que el cliente

quiere. Un casting presencial puede constar de varias fases (al menos una), cada una de ellas identificada por un número dentro de cada casting y caracterizadas por una fecha de inicio. Así mismo, cada fase se divide en varias pruebas individuales que se realizan a cada uno de los candidatos, también identificadas por un número dentro de cada fase. De cada prueba individual se almacena además la fecha y sala de celebración de la prueba y una descripción. Cada casting presencial es dirigido por un agente de casting del que se desea almacenar el número de empleado, el DNI, el nombre y la dirección. Los candidatos que existen en la base de datos se identifican por un código y se caracterizan por un nombre, una dirección, un teléfono de contacto, una fecha de nacimiento, una fotografía y se le hace corresponder un perfil (identificado por un código de perfil) en el que se almacenará la provincia, el sexo, un rango altura, un rango de edad, el color de pelo y color de ojos así como la especialidad (modelo o actor) y si tiene experiencia o no. Interesa distinguir entre dos tipos de candidatos: adultos y niños. Para los adultos se guardará el DNI y para los niños el nombre del tutor, padre o madre. Algunos candidatos tienen un representante que lleva a cabo todas las gestiones (NIF, nombre, teléfono y dirección) y sobre los que también se desea guardar información. Cuando un cliente contrata un casting se almacenan las necesidades en cuanto al perfil que requieren para las personas. A un casting podría corresponderle varios perfiles. A los candidatos que se correspondan con los perfiles que requiere el cliente se les realizarán pruebas individuales y se almacenará el resultado de la prueba (si es válido o no). Se informará al cliente de todos los candidatos que hayan superado las pruebas del casting presencial con el fin de que seleccione los que le interesan. Una vez el cliente haya seleccionado a los actores o modelos definitivos, se almacenará esta información en la base de datos para poder gestionar un posterior contrato que ya no es objeto de este ejercicio.