ejercicios modelo entidad relación

Anuncio
UNIVERSIDAD SALESIANA DE BOLIVIA
CARRERA DE INGENIERIA DE SISTEMAS
BASE DE DATOS I
EJERCICIOS MODELO ENTIDAD RELACIÓN
De los siguientes ejercicios realizar un diagrama entidad relación con la información relevante según el
enunciado, describiendo brevemente cada entidad y enumerando los atributos (tanto de entidades como de
relaciones). Marcar claramente los atributos clave
1)
Una revista nueva que acaba de salir al mercado desea tener la información de sus suscriptores en
una base de datos. Cada suscriptor realiza un contrato por un año (12 números) que puede comenzar en
cualquier número. Los contratos se van renovando de año en año. Se desea un listado mensual de los
lectores que les toca recibir la revista y de los que deben renovar la suscripción el mes que viene.
2)
Una compañía de líneas aérea quiere construir una base de datos a la que se pueda acceder a través
de ventanillas abiertas al público mediante terminales. En particular, interesa mantener información sobre
los vuelos genéricos ( número de vuelo, ciudad de origen y ciudad de destino ) y sobre el estado de las
reservas de plazas (número de plazas libres ). Todos los vuelos son diarios y sin escalas. En un día no puede
haber dos vuelos con el mismo número. Puede haber más de un vuelo diario entre las mismas ciudades con
diferente horario. Las consultas típicas serán:
a)
Dadas las ciudades de origen y destino, mostrar todos los vuelos entre ellas.
b)
Dado un número de vuelo y una fecha, listar el número de plazas libres.
3)
Una empresa que se dedica al desarrollo de software, tiene una serie de departamentos que están
especializados en diferentes áreas ( así tiene el departamento de animación gráfica, el de bases de datos, el
de programación científica, ...). Dentro de cada área hay una serie de empleados con una determinada
categoría (analista, programador, operador, ...). La empresa tiene en marcha una serie de proyectos de
desarrollo. En cada proyecto pueden intervenir más de un departamento. Se quiere diseñar una base de
datos para almacenar toda esta información, de manera que los programadores puedan introducir unos
partes de trabajo, en donde especifiquen la fecha, las horas dedicadas, el proyecto en el que han trabajado y
qué tarea han realizado ( programación en Pascal, análisis de la situación actual de una empresa, instalación
de un producto, diseño de un modelo entidad-relación, ...). Una consulta muy importante para el gerente de
la empresa es saber exactamente las horas dedicadas a cada proyecto desglosadas por departamentos.
4)
Consideremos una universidad, con estudios formados por asignaturas. Una asignatura puede
aparecer en diferentes estudios y en diferentes cursos. Supongamos que los alumnos se matriculan en una
serie de asignaturas y que cada asignatura sólo la da un profesor. Además de toda esta información,
queremos registrar en la base de datos todos los horarios de las asignaturas, con el aula, profesor, día y
hora. Supongamos que cada alumno tiene una única calificación para cada asignatura de la que se
matricula.
- 1 -
UNIVERSIDAD SALESIANA DE BOLIVIA
CARRERA DE INGENIERIA DE SISTEMAS
5)
BASE DE DATOS I
El nuevo hospital de Palma va a ser el más moderno de Europa; por ello se requiere diseñar una
base de datos que contenga información de los médicos y de los pacientes. Cada paciente tiene asignado un
único médico de cabecera que debe tener acceso al historial clínico del paciente. Dicho historial debe
registrar todas las enfermedades diagnosticadas; y de cada enfermedad, indicar el tratamiento seguido, las
intervenciones realizadas y los análisis. Es interesante incorporar información de alergias o
contraindicaciones que sufre cada paciente.
6)
Un celler del Pla de Mallorca se dedica a producir, importar y distribuir vino. Como el negocio va
bien i esto de los ordenadores parece que es la solución a todos los dolores de cabeza, han decidido
comprarse uno. Junto con el ordenador compraron una contabilidad que ya tienen en marcha y ahora
quieren informatizar el resto; pero lo más urgente es el control de clientes, pedidos y facturación.
El funcionamiento de esta parte es el siguiente: tienen un conjunto de clientes, con todos sus datos
particulares; entre los cuales destacan: el tipo de cliente ( si es mayorista o minorista ) y el descuento que
se le aplica ( si es que tiene ).
Estos clientes hacen una serie de pedidos, en los cuales hay líneas de pedidos para cada producto diferente
que piden. De cada uno de estos pedidos se debe tener bien claro la fecha en la que se realizaron.
Para cuestiones de existencias, puede ser que no se pueda servir un pedido entero. Si es así, se servirá
únicamente la parte que se puede y el resto quedará pendiente de servir. Lo que sí debe estar completo es la
línea de pedido; es decir, que nunca se divide una línea de pedido: o se sirve entera o se deja pendiente.
De vez en cuando ( esta periodicidad depende o bien del cliente, que lo pide, o bien del propio celler, que
considera que ya es hora de hacerlo ), se factura todo lo que se ha servido de un determinado cliente. Por
esto una factura no tiene porque coincidir con un pedido determinado, sino que está formado por las líneas
de pedido servidas hasta el momento.
Se realiza la factura con los datos normales ( número de factura, fecha, tipo de pago, etc... ) y se guarda en
la base de datos hasta que se cobra. Una vez que ya se tiene el dinero, toda la información asociada a dicha
factura puede desaparecer de la base de datos.
Los diferentes productos que vende el celler son por ejemplo: botellas de ¾ de litro de vino negro, rosado y
blanco; garrafas de 5 litros de vino negro y rosado; y vino negro y rosado a granel.
El problema surge si se sirve vino a granel, ya que éste se sirve en barriles. Estos barriles se llevan al cliente
y éste se los queda hasta que los ha podido vaciar. El celler tiene unos 500 barriles, de los cuales siempre
hay bastantes repartidos por los clientes. Quieren controlar que cliente tiene cada uno de los barriles y
desde cuando lo tiene, ya que cuando lo devuelva le cobran un alquiler.
- 2 -
UNIVERSIDAD SALESIANA DE BOLIVIA
CARRERA DE INGENIERIA DE SISTEMAS
7)
BASE DE DATOS I
Un científico chiflado nos ha encargado la ardua tarea de informatizar su caos. El verdadero
problema es poner orden en su laboratorio, porque cuando le interesa saber los resultados de los
experimentos realizados con un determinado elemento no es capaz de encontrarlo entre el maremágnum de
papeles que hay en su laboratorio.
Por suerte, nuestro amigo tiene a su cargo un equipo de investigadores algo más ordenados que él y siempre
conservan una copia de todos los informes que redactan; cada uno de estos colaboradores suyos está
especializado en un área, aunque en la práctica suelen trabajar en cualquier proyecto de investigación tanto
si es de su área como si no.
Lo habitual es que un proyecto de investigación esté liderado por una persona, la cual planifica el proyecto
y determina una serie de objetivos a demostrar con el proyecto. Para ello se suelen llevar a cabo
experimentos y son en estos experimentos donde participan aisladamente los colaboradores. Típicamente
un proyecto consta de 3 ó 4 experimentos (aunque podrían ser más); y para cada experimento
habitualmente se requieren varios científicos de múltiples áreas.
En un experimento intervienen muchos elementos, aunque algunos sólo son secundarios. Lo ideal es que se
pudiera definir el grado de importancia de cada elemento. El experiemento tiene una descripción, una fecha
de realización y un resultado.
Hasta aquí todo parece normal, pero nuestro amigo es muy original, y le gusta hablar de los papeles que
interpreta cada investigador en un experimento. Suele haber un director del experimento, un asesor técnico,
un responsable de la seguridad, un secretario (que redacta el informe), etc… Por tanto, en cada experimento
tendremos una especie de reparto donde consta quien es el director, el asesor técnico, …
Al final del proyecto se determinan qué objetivos se han cumplido y cuáles no. Todo ello aparece en el
informe que redacta el líder del proyecto.
Vuestro trabajo es diseñar un modelo de datos (diagrama entidad-relación) que recoja toda su problemática.
Con dicho modelo de datos se tiene que poder responder a su pregunta: ¿Qué investigadores han
participado en algún experimento donde intervenga el elemento “Plutonio X25 alterado según receta
aleatoria H345” con un grado de importancia superior al 30%?
Es de suponer que no lograremos poner orden en su laboratorio, pero si encuentra el ordenador, al menos
sabrá a qué investigadores debe pedirle el informe del experimento.
8)
LLIBRESA es una cadena de librerías que quiere informatizarse. Generalmente funciona como
una librería normal; es decir, tienen una serie de libros en cada tienda; aparece un comprador anónimo y
compra un libro. Les interesa poder registrar el estoc real e ideal para cada tienda ( esto último significa
poder registrar los libros que idealmente debería haber en la tienda ) y periódicamente generar los pedidos
- 3 -
UNIVERSIDAD SALESIANA DE BOLIVIA
CARRERA DE INGENIERIA DE SISTEMAS
BASE DE DATOS I
necesarios para reponer las existencias vendidas y tener de nuevo el estoc ideal. Evidentemente este estoc
ideal puede modificarse puesto que, por ejemplo, los best-seller sólo los tendrán mientras estén de moda;
después no vuelven a comprar más.
Cuando un determinado libro no lo tienen en la tienda, deben poder consultar en que tiendas quedan
unidades en estoc para poder informar al cliente dónde dirigirse para comprarlo.
Cada libro lo suministra un único proveedor ( ya que estos proveedores son siempre directamente las
editoriales ). La gestión de pedidos y albaranes no es preocupante. El sistema únicamente debe ser capaz de
imprimir los pedidos para enviarlos a las editoriales; pero no interesa hacer un seguimiento posterior de
estos pedido y subsiguientes albaranes.
Una peculiaridad de esta librería es que periódicamente organiza subastas multitudinarias de libros. Con
ello obtiene más beneficios ya que en unas ocasiones consigue liquidar existencias antiguas que no se
venden normalmente; y en otras ocasiones vende libros muy cotizados por ser ediciones especiales.
Para organizar la subasta, por un lado es necesario seleccionar los libros que van a participar; para ello se
intenta escoger un catálogo de libros que abarque múltiples temas; será habitual que para esta tarea, se
necesite consultar editoriales que en ocasiones anteriores nos han suministrado libros de temas i/o autores
determinados, para ponerse en contacto con ellas. Para cada libro, se establece a priori el precio de salida en
la subasta.
Por otro lado, la organización de la subasta, también implica seleccionar un conjunto de clientes que les
puede interesar la subasta; para ello no sólo se almacenarán los clientes que han participado en alguna
subasta sino que será necesario tener los temas que más les interesan. De esta forma se escogerán los
clientes que se adapten mejor al perfil de la subasta para enviarles una invitación.
Durante la celebración de la subasta asistirán los clientes invitados previamente o no; ello quiere decir que
se puede presentar un cliente que no ha asistido previamente a ninguna subasta. A cada participante de la
subasta se le da un cartel con un número, de manera que cuando uno quiere licitar por un libro debe alzar el
cartel y decir la cantidad. Esto implica controlar qué cliente tiene un determinado número.
El sistema debe ser capaz de facturar al cliente que compra en una subasta todos los libros que ha comprado
y realizar una liquidación de la subasta ( libros vendidos, precios de coste y precios de venta ).
9)
Compañía de capacitación
"Soy el administrador de una compañía de capacitación que provee cursos en técnicas de administración.
Enseñamos muchos cursos, cada uno de los cuales tiene un código, un nombre y un precio. Introducción a
Internet y Programación Java son dos de nuestros más populares cursos. Cursos se dictan entre uno a cuatro
días. Un instructor puede enseñar varios cursos. Nosotros registramos el nombre y número de teléfono de
- 4 -
UNIVERSIDAD SALESIANA DE BOLIVIA
CARRERA DE INGENIERIA DE SISTEMAS
BASE DE DATOS I
los profesores. Cada curso es enseñado por sólo un instructor. Creamos un curso y luego le asignamos un
profesor. Los estudiantes pueden tomar varios cursos a la vez, y muchos de ellos lo hacen. También
registramos el nombre y teléfono de cada estudiante. Algunos de nuestros estudiantes e instructores no nos
dan sus números telefónicos."
10)
Cadena de negocios
“Mire, hace cinco años que Mamá y yo empezamos esta pequeña tienda de alimentos naturales, y ahora vea
¡tenemos cinco! ¡Y en tres estados diferentes!
“Bueno, como se puede imaginar, se nos está haciendo un gran problema el controlar las cosas. Siempre
ocurre que en una de las tiendas se acaba algún ítem, mientras que en la otra rebalsamos del mismo ítem.
“¡Y los empleados!. Antes éramos Mamá y yo, Ahora tenemos otros seis, y ni siquiera podemos recordar
quien trabaja donde.
“Una cosa que definitivamente necesitamos saber es la cantidad disponible de cada ítem en cada tienda. La
cantidad que se ha perdido también sería útil. También tenemos que imprimir una lista de precios con todos
los ítems que cada tienda vende, para saber por cuanto venderlos - nos gusta mantener los precios iguales
en todas las tiendas.
“Tenemos que mantener un registro de los nombres y números de teléfono de los empleados, también, y
necesitamos saber en que estado viven para poder calcular sus impuestos correctamente. (ejemplo de USA,
con impuestos diferentes por estado)“y tenemos que mantener un registro del numero total de los diferentes
ítems, el numero de tiendas en cada estado, el numero de empleados en cada tienda, y el numero total de
empleados, para así poder imprimir todo esto en el informe anual
FECHA DE PRESENTACIÓN : VIERNES 26 DE OCTUBRE
PRACTICA POR: 2,5 Puntos para 3º parcial
PRESENTAR EN GRUPOS DE 3
- 5 -
Descargar