Está en la página 1de 6

EJERCICIO 7.

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.
Diseñe una base de datos relacional para el problema planteando siguiendo los
siguientes pasos:
a) Identifique las entidades de nuestro modelo y los atributos correspondientes a
cada una de tales entidades, indicando explícitamente cuáles de esos atributos
forman las claves primarias de las distintas entidades.
b) Analice las relaciones existentes entre las distintas entidades y determinar su
cardinalidad (uno a uno, uno a muchos, muchos a muchos). Cuando resulte necesario,
especificar los atributos que puedan corresponder a las relaciones obtenidas.
c) Dibuje un diagrama entidad/relación que represente el esquema lógico
correspondiente al modelo de datos definido por las entidades y relaciones
obtenidas en los apartados anteriores.
EJERCICIO 8.
Supongamos que se nos ha encargado el desarrollo de una aplicación que se encargue
de gestionar la flota de autobuses de una empresa de transporte urbano. El objetivo
de la aplicación es analizar el funcionamiento de las distintas líneas de autobús urbano
para decidir cómo se podrían modificar dichas líneas y prestar un mejor servicio al
ciudadano. Para comparar distintas alternativas, no sólo hemos de tener en cuenta los
beneficios que las modificaciones podrían suponer, sino también los costes asociados
que pueden conllevar. Tras analizar el problema, hemos obtenido la siguiente lista de
requisitos:
 La compañía tiene una flota de autobuses de distintas características. Según el
modelo de autobús, éste tiene mayor o menor capacidad y su consumo de
combustible es diferente.
 Para cada autobús se ha de mantener un parte de incidencias en el que queden
registradas las revisiones y reparaciones a las que ha sido sometido. En el parte
han de figurar fecha, coste y descripción, tanto de las revisiones y reparaciones.
 Cada línea de autobús consta de una serie de paradas. Las paradas están
identificadas por el nombre de la calle donde están situadas y un número (p.ej.
Gran Vía 3).
 Cada día, los autobuses realizan varias veces los recorridos marcados por las
distintas líneas, para las cuales existe un horario oficial (el cual,
desgraciadamente, no suele cumplirse).
 En los autobuses se instalarán los dispositivos necesarios que permitan contar el
número de viajeros que suben y bajan en cada parada, así como controlar el
cumplimiento de los horarios.
Diseñe una base de datos relacional para el problema planteado:
a) Identifique las entidades y los atributos correspondientes a cada una de las
entidades, indicando explícitamente cuáles serán las claves primarias de las
distintas entidades.
b) Analice las relaciones existentes entre las distintas entidades y determine su
cardinalidad.
c) Dibuje un diagrama entidad/relación que represente el modelo de datos definido
por las entidades y las relaciones identificadas en los apartados anteriores.
EJERCICIO 9.
Supongamos que se nos ha encargado el desarrollo de una aplicación que se encargue
de gestionar reservas de billetes de tren. Tras analizar el problema, hemos obtenido
la siguiente lista de requisitos:
 RENFE tiene una serie de trenes que hacen rutas fijas todos los días. Los trenes
se identifican por el código asociado a su locomotora y tienen una capacidad
máxima de pasajeros que viene determinada por el número y tipo de sus vagones.
 Las rutas realizadas por los trenes están compuestas por tramos que conectan
ciudades. Los tramos se identifican por las ciudades que conectan y la hora de
salida de la ciudad origen. Además, para poder automatizar la realización de
reservas, también se mantiene información acerca de la duración del trayecto
asociado a cada tramo.
 Los pasajeros hacen sus reservas para ir de una ciudad a otra a través de un
sistema informatizado que les ofrece distintas rutas alternativas. Cada reserva
tiene asociado un localizador único, una fecha de emisión, una ciudad de origen y
una ciudad de destino.
 El trayecto asociado a la reserva de un pasajero está compuesto por un conjunto
de tramos, que corresponden a los tramos efectuados diariamente por los
ferrocarriles de RENFE. Para cada tramo, el viajero tiene reservado un asiento
que viene determinado el número del vagón en el convoy, la fila del asiento en el
vagón y una letra que identifica la posición del asiento dentro de la fila.
 Cuando un viajero efectúa su reserva, puede que todo el trayecto no se realice en
el mismo tren. Esto es, el pasajero puede que tenga que hacer transbordos.
 Para viajar de Granada a Zaragoza, el viajero hace una reserva de un billete que
incluye una plaza para el TALGO Granada-Madrid y otra plaza para el tren Madrid-
Zaragoza.
Diseñe una base de datos relacional para el problema planteado:
a) Identifique las entidades y los atributos correspondientes a cada una de las
entidades,
b) indicando explícitamente cuáles serán las claves primarias de las distintas
entidades.
c) Analice las relaciones existentes entre las distintas entidades y determine su
cardinalidad.
d) Dibuje un diagrama entidad/relación que represente el modelo de datos definido
por las entidades y las relaciones identificadas en los apartados anteriores.
EJERCICIO 10.
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).
Diseñe una base de datos para el problema planteado:
a) Identifique los conjuntos de entidades y los atributos correspondientes a cada uno
de los conjuntos de entidades, indicando explícitamente cuáles se seleccionarán
como claves primarias de los distintos conjuntos de entidades.
b) Analice las relaciones existentes entre los distintos conjuntos de entidades,
determine su cardinalidad e identifique los atributos propios de las relaciones (si
los hubiera).
c) Dibuje un diagrama entidad/relación que represente el modelo de datos definido
por los conjuntos de entidades y las relaciones identificadas en los apartados
anteriores.
EJERCICIO 11.
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.
Diseñe una base de datos para el problema planteado:
a) Identifique los conjuntos de entidades y los atributos correspondientes a cada uno
de los conjuntos de entidades, indicando explícitamente qué atributos se utilizarán
como claves primarias de los distintos conjuntos de entidades identificados.
b) Analice las relaciones existentes entre los distintos conjuntos de entidades,
determine su cardinalidad e identifique los atributos propios de las relaciones (si
los hubiera).
c) Dibuje un diagrama entidad/relación que represente el modelo de datos definido
por los conjuntos de entidades y las relaciones identificadas en los apartados
anteriores.

También podría gustarte