guia2_modelo-relacional

6

Click here to load reader

Upload: abraham-gonzalez

Post on 29-Jun-2015

278 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Guia2_Modelo-Relacional

Guıa de ejercicios # 2:

Modelo Relacional

Version del 22/03/2010

Introduccion a las bases de datos

UNQ

En todos los ejercicios que se pide aplicar el Modelo Relacional, se trata deconstruir un esquema logico relacional, utilizando las reglas de transformaciony especificando: claves primarias (PK), claves foraneas (FK), y las restricciones(supuestos semanticos) pertinentes en lenguaje natural.

1. Modelo Entidad-Relacion incompleto

Se desea mantener una base de datos para una cadena de farmacias distribuidaen diferentes ciudades. Cada farmacia tiene sus empleados propios. Por cadaciudad existe un unico farmaceutico; esto es, en las ciudades en las que hubieremas de una farmacia, el mismo farmaceutico estara afectado a todas las farmaciasde esa ciudad. De cada empleado queremos saber la fecha de ingreso y lasenfermedades que tuvo (alcanza con el nombre de cada enfermedad).

Cada farmacia tiene a su vez su stock de cada medicamento que vende. Decada medicamento se conocen la o las monodrogas que lo componen, la cantidadde cada monodroga, su presentacion (por ejemplo ampollas de 5 unidades, jarabede 100ml,inyecciones por 10 unidades, etc.), el laboratorio que lo comercializa,y su accion terapeutica (analgesico, antibiotico, etc.); se identifican por nombrey presentacion. Por cada medicamento se mantienen: su precio (que es el mismopara todas las farmacias), y la cantidad en existencia en cada farmacia.

El sistema debera permitir consultar la base de datos de diferentes alternativaspara medicamentos compuestos por una monodroga, medicamentos de un laboratorio,medicamentos con el mismo nombre y distinta presentacion, entre otras.

El siguiente modelo ER supuestamente deberıa representar lo anterior, sinembargo esta incompleto, porque le faltan todos los atributos.

1

Page 2: Guia2_Modelo-Relacional

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

2. Modelo Entidad-Relacion a Modelo Relacional

En cada caso, indicar (en lenguaje natural cuando sea necesario)como se represento cada elemento del Modelo Entidad-Relacion:cada entidad, cada relacion, cada atributo compuesto, cada atributomultivaluado.

2.1 Traducir los esquemas de los ejercicios 2.2 y 2.4 de la guıa sobre ModeloEntidad-Relacion al Modelo Relacional.

2.2 Traducir el esquema del ejercicio 3.3 de la guıa sobre Modelo Entidad-Relacional Modelo Relacional.

2.3 Modelar, usando Modelo Relacional, los ejercicios 4.2 y 4.4 de la guıa sobreModelo Entidad-Relacion.

3. Interpretacion de esquemas

Representar el escenario descripto por los siguiente esquemas Modelo Entidad-Relacionmediante el Modelo Relacional. Si hace falta especificar supuestos semanticos.

2

Page 3: Guia2_Modelo-Relacional

3.1. Biblioteca

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

a. El modelo tiene una restriccion respecto de los prestamos que tal vez no esdeseable; o sea, hay una situacion respecto de los prestamos que es razonablequerer representar y este modelo no permite.Describir esta restriccion, e indicar, tanto para el Modelo Entidad-Relacioncomo para el Modelo Relacional, que agregar y/o modificar para evitarla.

b. ¿Que problema de consistencia aparecerıa si Autor fuera un atributo de Libro,en lugar de ser una entidad separada?

c. ¿Como representarıas en el modelo la relacion de maestro-discıpulo entreautores? ¿Que relacion tiene esto con la decision de como modelar los autoresdiscutida en la pregunta anterior?

d. ¿Que quiere decir, explicado en castellano, que la participacion de las dosentidades en la relacion Escribe es total? Indicar cual es el cambio en lossupuestos semanticos que provocarıa que la participacion del lado del autorcambiara de total a parcial.

e. ¿Que diferencia hay entre las traducciones al modelo relacional de las relacionesTiene y Escribe? ¿A que se debe esta diferencia?

3

Page 4: Guia2_Modelo-Relacional

3.2. Modelo generico

Traducir este modelo al Modelo Relacional.

4. Modelo Relacional a partir de especificaciones

4.1 Construir un esquema usando Modelo Entidad-Relacion y, a partir de el, elModelo Relacional que refleje toda la informacion necesaria para almacenarla informacion relativa a algunos aspectos del campeonato mundial de futbolconsiderando los supuestos semanticos siguientes:

Un jugador pertenece a un unico equipo y no hay dos jugadores con elmismo nombre.Un jugador puede actuar en varios puestos distintos, pero en un determinadopartido solo puede jugar en un puesto.En cada partido intervienen varios arbitros.Un arbitro puede realizar una funcion en un partido y otra distinta enotro partido.Es obligatorio en todo momento que un jugador pertenezca a un equipodeterminado y no podra cambiar de equipo a lo largo del mundial.

4.2 Disenar el esquema del Modelo Entidad-Relacion para un entorno de apoyoa la programacion, y luego pasar al Modelo Relacional.

En este entorno los programadores escriben programas en determinadoslenguajes de programacion. Cada programa es escrito por un programador,puede llamar a otros programas y puede ser utilizado por determinadosusuarios.

Tanto los programadores como los usuarios se identifican por un nombre deusuario. Los programadores, ademas, tienen cada uno un codigo numericode 5 cifras que los identifica.

El nombre de cada programa se compone de: un nombre propio descriptivo,una extension, y el codigo del programador que lo escribio. Para cadaprograma puede haber varias versiones, de cada una nos interesa su numerode version, la fecha de instalacion, y una descripcion breve; algunos programasinteractuan con una o varias bases de datos.

Cada base de datos mantiene datos almacenados en forma de relaciones;cada relacion incluye varios atributos y una clave primaria que esta compuesta

4

Page 5: Guia2_Modelo-Relacional

por algunos de esos atributos. Cada base de datos la define un administradorde base de datos, que es un programador especializado en la administracionde datos.

4.3 Disenar el esquema del Modelo Entidad-Relacion para el sistema de deliveryde “La Flauta Dulce”, y luego pasar al Modelo Relacional.

La panaderıa y confiterıa “La Flauta Dulce” esta organizando el deliverya sus clientes. Cada repartidor tiene asignada una zona (puede haber masde un repartidor por zona). Los repartidores tienen asignados clientes; cadacliente puede ser atendido or mas de un repartidor, o por ninguno.

De cada repartidor queremos saber la cilindrada, marca, modelo y velocidadmaxima de su moto, y los horarios (dıa de la semana, rango de horas) enlos que trabaja. De cada cliente queremos saber la direccion, el nombre, yla fecha de nacimiento. De cada zona, el nombre y el tamano en km2.

En caso de que alguna informacion incluida en el enunciado no pueda serdescripta en un Modelo Entidad-Relacion, adjuntar al modelo su explicacionen lenguaje natural.

5. Trabajo a partir de una BD en modelo relacional

5.1 Tenemos una BD cuyo esquema consta de estos esquemas de relacion:

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 instanciasde tabla para provincia, producto y cliente son las siguientes:

provinciaprov-nombre alicuotaIngrBrutosLa Rioja 2San Juan 3San Luis 3.5

5

Page 6: Guia2_Modelo-Relacional

productoprod-nombre stkMinimoSusik 20Menganol 30Bolimas 28Pertanim 1Sapiko 3

clientecliente-cod nombre prov-nombre323 Pepe La Rioja325 Jorge San Juan328 Anita La Rioja342 Ursula San Juan

Se pide

a. Construir un Modelo Entidad-Relacion correspondiente al modelo relacionalplanteado.

b. Si unimos la siguiente instancia de la tabla factura a las tres descriptasanteriormente, aparecen en factura las cuatro anomalıas de integridad,al menos una vez cada una. Indicar todas las anomalıas que encuentre.facturafact-sucursal fact-numero cliente-cod fechanull null 348 Catamarca1 222 325 15/03/20082 222 801 15/03/20081 222 12/08/2001 841 225 323 null1 226 323 18/04/2004

c. Para cada una de las cuatro anomalıas de integridad, describir una posiblefila de la tabla cliente que, de agregarse a las que estan en la instanciaplanteada, generarıan la anomalıa.

d. Para cada una de las cuatro anomalıas de integridad, describir una posibleoperacion (agregar, modificar, eliminar fila/s) de la tabla productoque, de hacerse sobre la instancia planteada, generarıan la anomalıa. Enun caso la operacion no puede ser de agregar fila/s, cual de las cuatroanomalıas es esta, y por que no se puede generar agregando filas en estatabla.

6