presentacion ALGEBRA RELACIONAL
Problema #1
Supongamos que se nos ha encargado el diseño de una biblioteca digital. Para
realizar nuestra tarea, hemos de comenzar diseñando la base de datos que dará soporte a las
distintas aplicaciones que posteriormente se irán implementando. En principio, la única
información de la que disponemos es la siguiente:
· Nuestra biblioteca digital ha de almacenar información bibliográfica (título, autor, edición,
ISBN…) de distintos títulos.
· Cada título de nuestra biblioteca digital se encuentra almacenado en una o varias URLs
alternativas.
· Además, cada título se encuentra catalogado: un título puede corresponder a una o más
categorías diferentes. Dichas categorías, por su parte, se encuentran organizadas de forma
jerárquica (una categoría puede tener varias subcategorías, si bien sólo puede estar
englobada por una supercategoría).
· Los usuarios del sistema han de identificarse para poder utilizar nuestra biblioteca digital,
que utilizará las técnicas más avanzadas de protección de datos.
· Al estilo de algunas librerías de Internet como Amazon, los usuarios del sistema podrán
evaluar y escribir comentarios acerca de los títulos albergados en la biblioteca. La
evaluación se hará clasificando los títulos de 1 a 5 estrellas en función de las preferencias
del usuario y el conjunto de las evaluaciones realizadas por los distintos usuarios servirá
para recomendar unos títulos frente a otros.
Diseñar una base de datos relacional que nos permita almacenar toda la información relativa a
nuestra biblioteca digital:
a) Identificar las entidades de nuestro modelo y los atributos correspondientes a cada una de
tales entidades.
b) Analizar las relaciones existentes entre las distintas entidades y determinar su cardinalidad
(uno a uno, uno a muchos, muchos a muchos).
c) Dibujar 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.
d) A partir del diagrama, obtener el conjunto de tablas que nos permitirá implementar nuestro
modelo en un sistema gestor de bases de datos relacionales.
problema #2
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 seguro social, impuesto sobre la renta )
• 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.
problema #3
Problema de diseño de bases de datos
Supongamos que se nos ha encargado el desarrollo de un sistema de información para
una galería de arte. Tras analizar el problema, hemos obtenido la siguiente lista de requisitos:
• El sistema ofrecerá información acerca de las distintas exposiciones que estén programadas
(título, descripción, fecha de inauguración y fecha de clausura).
• En cada exposición se expondrán obras de distintos artistas. Cada obra vendrá identificada
por un número de registro. El sistema informará acerca del título, artista, estilo y precio de
salida de cada una de las obras de arte expuestas en las exposiciones.
• Cada obra tiene un propietario, que suele ser el artista que la creó, aunque esto no es
necesariamente así.
• Las obras expuestas se pueden comprar haciéndole ofertas a sus propietarios. Al término de
la exposición, el propietario de una obra puede vender la obra a la persona que haya
realizado la mejor oferta.
NOTA: Es esencial que en la base de datos no se almacenen datos de forma redundante, para lo
cual hemos de tener en cuenta que una misma persona puede ser propietaria de una obra de arte
y realizar ofertas para comprar otras obras de arte. De hecho, incluso puede ser responsable de
la creación de alguna de las obras expuestas.
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ícita mente 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.
d) A partir del diagrama, obtenga el conjunto de tablas que nos permita implementar nuestro
modelo en un sistema gestor de bases de datos relacionales, indicando las claves primarias
de todas y cada una de las tablas de nuestra base de datos.
No hay comentarios.:
Publicar un comentario