You are on page 1of 6

Guı́a de ejercicios # 2:

Modelo Relacional
Versión del 22/03/2010

Introducción a las bases de datos


UNQ

En todos los ejercicios que se pide aplicar el Modelo Relacional, se trata de


construir un esquema lógico relacional, utilizando las reglas de transformación
y especificando: claves primarias (PK), claves foráneas (FK), y las restricciones
(supuestos semánticos) pertinentes en lenguaje natural.

1. Modelo Entidad-Relación incompleto


Se desea mantener una base de datos para una cadena de farmacias distribuida
en diferentes ciudades. Cada farmacia tiene sus empleados propios. Por cada
ciudad existe un único farmacéutico; esto es, en las ciudades en las que hubiere
más de una farmacia, el mismo farmacéutico estará afectado a todas las farmacias
de esa ciudad. De cada empleado queremos saber la fecha de ingreso y las
enfermedades que tuvo (alcanza con el nombre de cada enfermedad).
Cada farmacia tiene a su vez su stock de cada medicamento que vende. De
cada medicamento se conocen la o las monodrogas que lo componen, la cantidad
de cada monodroga, su presentación (por ejemplo ampollas de 5 unidades, jarabe
de 100ml,inyecciones por 10 unidades, etc.), el laboratorio que lo comercializa,
y su acción terapéutica (analgésico, antibiótico, etc.); se identifican por nombre
y presentación. Por cada medicamento se mantienen: su precio (que es el mismo
para todas las farmacias), y la cantidad en existencia en cada farmacia.
El sistema deberá permitir consultar la base de datos de diferentes alternativas
para medicamentos compuestos por una monodroga, medicamentos de un laboratorio,
medicamentos con el mismo nombre y distinta presentación, entre otras.
El siguiente modelo ER supuestamente deberı́a representar lo anterior, sin
embargo está incompleto, porque le faltan todos los atributos.

1
Obtenga el esquema del Modelo Relacional correspondiente a este problema,
siguiendo la idea del modelado de cada caracterı́stica de un Modelo Entidad-Relación
y definiendo los atributos necesarios.

2. Modelo Entidad-Relación a Modelo Relacional

En cada caso, indicar (en lenguaje natural cuando sea necesario)


como se representó cada elemento del Modelo Entidad-Relación:
cada entidad, cada relación, cada atributo compuesto, cada atributo
multivaluado.

2.1 Traducir los esquemas de los ejercicios 2.2 y 2.4 de la guı́a sobre Modelo
Entidad-Relación al Modelo Relacional.
2.2 Traducir el esquema del ejercicio 3.3 de la guı́a sobre Modelo Entidad-Relación
al Modelo Relacional.
2.3 Modelar, usando Modelo Relacional, los ejercicios 4.2 y 4.4 de la guı́a sobre
Modelo Entidad-Relación.

3. Interpretación de esquemas
Representar el escenario descripto por los siguiente esquemas Modelo Entidad-Relación
mediante el Modelo Relacional. Si hace falta especificar supuestos semánticos.

2
3.1. Biblioteca

Traducir este modelo al Modelo Relacional, y responder las siguientes preguntas


a. El modelo tiene una restricción respecto de los préstamos que tal vez no es
deseable; o sea, hay una situación respecto de los préstamos que es razonable
querer representar y este modelo no permite.
Describir esta restricción, e indicar, tanto para el Modelo Entidad-Relación
como para el Modelo Relacional, qué agregar y/o modificar para evitarla.
b. ¿Qué problema de consistencia aparecerı́a si Autor fuera un atributo de Libro,
en lugar de ser una entidad separada?
c. ¿Cómo representarı́as en el modelo la relación de maestro-discı́pulo entre
autores? ¿Qué relación tiene esto con la decisión de cómo modelar los autores
discutida en la pregunta anterior?
d. ¿Qué quiere decir, explicado en castellano, que la participación de las dos
entidades en la relación Escribe es total? Indicar cuál es el cambio en los
supuestos semánticos que provocarı́a que la participación del lado del autor
cambiara de total a parcial.
e. ¿Qué diferencia hay entre las traducciones al modelo relacional de las relaciones
Tiene y Escribe? ¿A qué se debe esta diferencia?

3
3.2. Modelo genérico

Traducir este modelo al Modelo Relacional.

4. Modelo Relacional a partir de especificaciones


4.1 Construir un esquema usando Modelo Entidad-Relación y, a partir de él, el
Modelo Relacional que refleje toda la información necesaria para almacenar
la información relativa a algunos aspectos del campeonato mundial de fútbol
considerando los supuestos semánticos siguientes:
Un jugador pertenece a un único equipo y no hay dos jugadores con el
mismo nombre.
Un jugador puede actuar en varios puestos distintos, pero en un determinado
partido sólo puede jugar en un puesto.
En cada partido intervienen varios árbitros.
Un árbitro puede realizar una función en un partido y otra distinta en
otro partido.
Es obligatorio en todo momento que un jugador pertenezca a un equipo
determinado y no podrá cambiar de equipo a lo largo del mundial.
4.2 Diseñar el esquema del Modelo Entidad-Relación para un entorno de apoyo
a la programación, y luego pasar al Modelo Relacional.
En este entorno los programadores escriben programas en determinados
lenguajes de programación. Cada programa es escrito por un programador,
puede llamar a otros programas y puede ser utilizado por determinados
usuarios.
Tanto los programadores como los usuarios se identifican por un nombre de
usuario. Los programadores, además, tienen cada uno un código numérico
de 5 cifras que los identifica.
El nombre de cada programa se compone de: un nombre propio descriptivo,
una extensión, y el código del programador que lo escribió. Para cada
programa puede haber varias versiones, de cada una nos interesa su número
de versión, la fecha de instalación, y una descripción breve; algunos programas
interactúan con una o varias bases de datos.
Cada base de datos mantiene datos almacenados en forma de relaciones;
cada relación incluye varios atributos y una clave primaria que está compuesta

4
por algunos de esos atributos. Cada base de datos la define un administrador
de base de datos, que es un programador especializado en la administración
de datos.
4.3 Diseñar el esquema del Modelo Entidad-Relación para el sistema de delivery
de “La Flauta Dulce”, y luego pasar al Modelo Relacional.
La panaderı́a y confiterı́a “La Flauta Dulce” está organizando el delivery
a sus clientes. Cada repartidor tiene asignada una zona (puede haber más
de un repartidor por zona). Los repartidores tienen asignados clientes; cada
cliente puede ser atendido or más de un repartidor, o por ninguno.
De cada repartidor queremos saber la cilindrada, marca, modelo y velocidad
máxima de su moto, y los horarios (dı́a de la semana, rango de horas) en
los que trabaja. De cada cliente queremos saber la dirección, el nombre, y
la fecha de nacimiento. De cada zona, el nombre y el tamaño en km2 .
En caso de que alguna información incluida en el enunciado no pueda ser
descripta en un Modelo Entidad-Relación, adjuntar al modelo su explicación
en lenguaje natural.

5. Trabajo a partir de una BD en modelo relacional


5.1 Tenemos una BD cuyo esquema consta de estos esquemas de relación:
factura <fact-sucursal, fact-numero, cliente-cod, fecha>
recibo <rec-sucursal, rec-numero, cliente-cod, fecha>
producto <prod-nombre, stkMinimo>
precioProducto <prod-nombre, fecha-desde, fecha-hasta, precio>
cliente <cliente-cod, nombre, prov-nombre>
provincia <prov-nombre, alicuotaIngresosBrutos>
itemFactura <fact-sucursal, fact-numero, prod-nombre, cantidad>
itemRecibo <rec-sucursal, rec-numero, fact-sucursal, fact-numero,
importe>

con las siguientes FK:


cliente-cod en factura es FK a cliente.
cliente-cod en recibo es FK a cliente.
prod-nombre en precioProducto es FK a producto.
fact-sucursal y fact-numero en itemFactura son FK a factura.
rec-sucursal y rec-numero en itemRecibo son FK a recibo.
fact-sucursal y fact-numero en itemFactura son FK a factura.
Tenemos una instancia de BD que corresponde a este esquema, cuyas instancias
de tabla para provincia, producto y cliente son las siguientes:
provincia
prov-nombre alicuotaIngrBrutos
La Rioja 2
San Juan 3
San Luis 3.5

5
producto
prod-nombre stkMinimo
Susik 20
Menganol 30
Bolimas 28
Pertanim 1
Sapiko 3
cliente
cliente-cod nombre prov-nombre
323 Pepe La Rioja
325 Jorge San Juan
328 Anita La Rioja
342 Ursula San Juan
Se pide
a. Construir un Modelo Entidad-Relación correspondiente al modelo relacional
planteado.
b. Si unimos la siguiente instancia de la tabla factura a las tres descriptas
anteriormente, aparecen en factura las cuatro anomalı́as de integridad,
al menos una vez cada una. Indicar todas las anomalı́as que encuentre.
factura
fact-sucursal fact-numero cliente-cod fecha
null null 348 Catamarca
1 222 325 15/03/2008
2 222 801 15/03/2008
1 222 12/08/2001 84
1 225 323 null
1 226 323 18/04/2004
c. Para cada una de las cuatro anomalı́as de integridad, describir una posible
fila de la tabla cliente que, de agregarse a las que están en la instancia
planteada, generarı́an la anomalı́a.
d. Para cada una de las cuatro anomalı́as de integridad, describir una posible
operación (agregar, modificar, eliminar fila/s) de la tabla producto
que, de hacerse sobre la instancia planteada, generarı́an la anomalı́a. En
un caso la operación no puede ser de agregar fila/s, cuál de las cuatro
anomalı́as es esta, y por qué no se puede generar agregando filas en esta
tabla.