FUNDAMENTOS DE BASES DE DATOS. Examen Febrero Solución

Documentos relacionados
Primer Parcial de Fundamentos de Base de Datos

Primer Parcial de Fundamentos de Base de Datos

FUNDAMENTOS DE BASES DE DATOS Examen Febrero 2018 Solución

FUNDAMENTOS DE BASES DE DATOS. Examen Diciembre 2003

FUNDAMENTOS DE BASES DE DATOS. Examen Julio SOLUCION

Ficheros y Bases de Datos Curso Ingeniería Técnica de Informática Primer Parcial. 3-Septiembre Nombre:

FUNDAMENTOS DE BASES DE DATOS. Examen Febrero Solución

FUNDAMENTOS DE BASES DE DATOS Examen Febrero 2017 Solución

FUNDAMENTOS DE BASES DE DATOS. Solución Examen Julio Parte 1. Modelo Entidad-Relación

Segundo Parcial de Fundamentos de Bases de Datos. Noviembre 2016

Ficheros y Bases de Datos Curso Ingeniería Técnica de Informática Primer Parcial. 10-Feb Nombre:

Ficheros y Bases de Datos Curso Ingeniería Técnica de Informática Primer Parcial. 28-Junio Nombre:

FUNDAMENTOS DE BASES DE DATOS. Examen Julio 2008

Ejercicio 1 (20 pts).

EXAMEN DE ESTRUCTURAS DE LA INFORMACIÓN (Junio de 2008)

FUNDAMENTOS DE BASES DE DATOS. Examen Febrero 2010 Solución

álgebra relacional 2

FUNDAMENTOS DE BASES DE DATOS. Solución Diciembre 2006

FUNDAMENTOS DE BASES DE DATOS. Diciembre Solución

Ficheros y Bases de Datos Curso Ingeniería Técnica de Informática Primer Parcial. 1-Junio Nombre:

FUNDAMENTOS DE BASES DE DATOS. Examen Diciembre 2003

FICHEROS Y BASES DE DATOS 2º ITIG 19/12/2000 NOMBRE

TEMA: CONSULTAS (ALGEBRA RELACIONAL Y SQL)

Segundo Parcial de Fundamentos de Base de Datos

Formas Normales. Normalización. Introducción

Departamento de Lenguajes y Sistemas Informáticos. Avda Reina Mercedes s/n Sevilla Tlf/Fax

FUNDAMENTOS DE BASES DE DATOS. Examen Diciembre SOLUCION

Tarea 1 - Modelado Conceptual Solución propuesta por los docentes

Álgebra Relacional. Carlos A. Olarte BDI

Práctico 5 Diseño Relacional-Dependencias Funcionales

Ficheros y Bases de Datos Curso Primer Parcial. 7 de FEBRERO de Nombre:

Formas Normales. - Facultad de Ingeniería Curso : Fundamentos de Bases de Datos Tema 1. Introducción y Conceptos Generales 1

Primer Parcial de Fundamentos de Base de Datos

Bases de datos 1. Teórico: Normalización

FICHEROS Y BASES DE DATOS 2º ITIG 8/9/2001 NOMBRE

Optimización. Bibliografía: Fundamentos de bases de datos Korth, Silberschatz

Tarea 2 - Consultas en SQL Solución propuesta por los docentes

Bases de datos 1. Teórico: Normalización

Bases de Datos Curso Grado en Ingeniería del Software Examen Junio. Nombre:

FUNDAMENTOS DE BASES DE DATOS. Examen Julio Solución

FUNDAMENTOS DE BASES DE DATOS. Examen Febrero SOLUCIONES. Parte 1. Modelo Entidad-Relación

FICHEROS Y BASES DE DATOS 2º ITIG 26/6/99. (2.5 puntos)

Normalización. Carlos A. Olarte Bases de Datos I

FICHEROS Y BASES DE DATOS 2º ITIG 13/7/2001 NOMBRE

Primer Parcial de Fundamentos de Base de Datos

Dep. Multivaluadas y Cuarta F.N.

TEST (10 preguntas, respuesta única, 2.0 puntos, aciertos +0.20, fallos 0.05)

1º) Consulta que pida mes y año y muestre los datos completos de los obreros que han trabajado sin repeticiones. C11

Nombre: Se debe entregar esta hoja

EXAMEN DE ESTRUCTURAS DE LA INFORMACIÓN (Junio 2010)

Examen de Bases de Datos Curso Grado en Ingeniería del Software Convocatoria de Septiembre. Nombre:

Sistemas de Datos Curso: Ernesto Chinkes. SQL Básico Algebra Relacional

Examen de Ficheros y bases de datos (cód. 520) Ingeniería Técnica en Informática de Gestión Convocatoria de junio I PARCIAL

FUNDAMENTOS DE BASES DE DATOS. Examen Febrero SOLUCION

Solución Examen Febrero 2012

Bases de Datos 2. Teórico

Primer Parcial de Fundamentos de Base de Datos

Guía de estudio para el examen. Sean tres atributos A, B y C. Indique, para cada par de transacciones T1 y T2, si se garantiza que A+B+C no cambia.

Unidad 3. Álgebra Relacional y Cálculo Relacional

FUNDAMENTOS DE BASES DE DATOS. Examen Marzo 2003

SQL: Lenguaje de Interrogación Estructurado

Bases de Datos 1. Teórico: Structured Query Language

Bases de Datos. Práctica 7 WinRDBI. Consultas en cálculo relacional y SQL

Apartado A (3 puntos):

Universidad de Valladolid Departamento de Informática

CC42A: Bases de Datos Auxiliar: Optimizacion Consultas SQL

Normalización. Tecnólogo en Informática, sede Paysandú Bases de Datos 1

TEMA 7 TEORÍA DE LA NORMALIZACIÓN EJERCICIOS PROPUESTOS

Bases de Datos y Sistemas de Información Curso Ingeniería Superior Primer Parcial.

TEMA 6.- LENGUAJES DE CONSULTA FORMALES.

Algebra Relacional Curso Bases de Datos

Primer Parcial de Fundamentos de Base de Datos

Solución Práctico 4 SQL

Apartado A (5 puntos):

BASES DE DATOS I ALTERNATIVA DE SOLUCIÓN AL TALLER 2: SQL ( ) Persona( doc_id, nombre, direccion ) Vehiculo( numero_licencia, año, marca )

BASES DE DATOS I CONSULTA DE DATOS

Examen de Bases de datos Grado de Ingeniería en Informática 3 de septiembre, 2015

EXAMEN DE BASES DE DATOS 11/06/04 Esquema de trabajo

- PARTIDO (nomequipo1, nomequipo2, año, estadio, fecha, goleseq1, goleseq2)

6.1 Introducción. Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 1

En la terminal de micros de Retiro se cuenta con un sistema con el siguiente esquema de base de datos:

Procesamiento y Optimización de Consultas

Procesamiento y Optimización de Consultas

FINAL ÁLGEBRA Y GEOMETRÍA ANALÍTICA. Apellido y nombres del alumno:.legajo Nº.. Corrigió: Calificación final

Apellidos:... Nombre:... Ejercicio 1 (Cuestiones) [2 puntos] Responder a las siguientes cuestiones de manera clara y concisa:

Examen de Bases de datos Grado de Ingeniería en Informática, Febrero, 2015

Buses Concepción Modelamiento de Datos

Diseño de Base de Datos Relacional. Diseño de Base de Datos Relacional

Diseño de Base de Datos Relacional

Práctico 1 Modelo Entidad Relación

Programación Inicial. Requisitos previos. Objetivos. Próximos Inicios. Modalidad a Distancia. Costo y formas de pago. Resumen de Contenidos

Práctico 1 Diseño conceptual

Organización y acceso a los datos (continuación)

INDICE Parte I. Conceptos Básicos Capitulo 1. Sistema de información y Bases de Datos Capitulo 2. El Sistema de Gestión de la Base de Datos

FUNDAMENTOS DE BASES DE DATOS. Examen Julio 2002

Unidad 2. Bases de Datos Relacionales

FICHEROS Y BASES DE DATOS 2º ITIG 12/2/2001 NOMBRE. (0,05 puntos)

Apartado A (3 puntos):

Operadores. Además se pueden emplear en sentencias SET.

Transcripción:

FUDAMETOS DE BASES DE DATOS Examen Febrero 2011 - Solución La duración del examen es de 3 horas y ½. Presentar la resolución del examen: Con las hojas numeradas y escritas de un solo lado. Con la cantidad de hojas entregadas en la primer hoja. Con cédula de identidad y nombre en cada hoja. Escrita a lápiz y en forma prolija. Comenzando cada ejercicio en una nueva hoja Ejercicio 1 (25 puntos. Se desea modelar la realidad correspondiente a una compañía de buses. Dicha compañía cuenta con una flota de buses, donde cada uno de ellos es identificado por un número o por su matrícula, y además se registra la capacidad de los mismos. De los empleados de la compañía se conoce la CI, el nombre, teléfono y dirección, y cada uno de ellos puede ser administrativo, guarda o chofer. Algunos guardas ganan por día y otros por mes, por lo que interesa registrar el tipo de sueldo que tiene cada uno. De los administrativos interesa registrar los cursos de actualización que ha realizado hasta el momento. Los choferes están asignados a varios buses y un bus puede ser asignado a varios choferes. El horario de los choferes es muy variado, por lo que a la compañía le interesa registrar la hora de comienzo y fin de los días que un chofer es asignado a un bus. Además, un chofer puede tener varias asignaciones en un mismo día, incluso en un día puede ser reasignado a un mismo bus. La compañía de buses trabaja con un sistema de tarjetas que permite realizar el pago del boleto de una forma más ágil. Cada tarjeta tiene asignado un identificador y un monto de dinero. Las tarjetas están habilitadas para ser utilizadas en cualquier bus. Los clientes de la compañía son aquellos que han comprado tarjetas. De los clientes se registra su CI, su nombre y su teléfono. Los clientes pueden ser comunes, especiales o ambos. Los clientes especiales tienen descuentos en la compra de la tarjeta y pueden ser de tipo jubilado clase A, jubilado clase B, estudiantes, etc., por lo que interesa registrar el tipo y el descuento asociado. Un cliente especial puede comprar una única tarjeta y solo puede utilizarla para viajar en algunos buses. Porque, si bien las tarjetas están habilitadas para viajar en cualquier bus, el cliente especial solo puede tener descuento para viajar en algunos buses. Por otro lado, los pasajeros/clientes comunes pueden comprar todas las tarjetas que deseen y las mismas pueden ser utilizadas para viajar en cualquier bus. Los buses realizan diferentes recorridos, cada recorrido tiene un identificador y un nombre. Además, un recorrido tiene un conjunto de paradas y cada parada tiene asignado un identificador e interesa registrar la esquina (los nombres de las 2 calles que se cruzan, en la que se encuentra la misma. Un bus realiza un único recorrido, pero varios buses realizan un mismo recorrido. Se pide: Modelo Entidad Relación completo. 1/9

Solución RE: Clientes = Especiales Comunes Empleados = Administrativos Guardas Choferes Administrativos Guardas = Ø Administrativos Choferes = Ø Choferes Guardas = Ø 2/9

Ejercicio 2 (15 puntos. Considere el siguiente Esquema Entidad-Relación con sus restricciones no estructurales: matricula MOTOS marca modelo cant_exhib ID año lugar numero regalo CO_DUEÑO DE_PRUEBA ECUETROS 1 del ISCRIPCIO monto_dinero tienen exhiben organizan trucos* horas-com* CI nombre 1 MOTOCICLISTAS pertenecen 1 GRUPOS 1 ciudad año_fund nombre RE: registran - Con_Dueño De_Prueba = - Con_Dueño De_Prueba = Motos - Un motociclista no puede inscribirse más de una vez en un mismo Encuentro. a Realizar el pasaje a Modelo Relacional (no olvidar indicar claves primarias y dependencias de inclusión. Motos (matricula, marca, modelo Con-Dueño (matricula, ci De-Prueba (matricula, cant-exhib Motociclista (ci, nombre Grupos (nombre, ciudad, año-fund Encuentros (año, lugar Organizan (nombre, año, lugar, monto_dinero Inscripción (año, lugar, numero, regalo, ci Pertenecen (ci, nombre Exhiben-truco (matricula, nombre, año, lugar, truco Exhiben-hora (matricula, nombre, año, lugar, hora-com Dep. Inclusión: Π matricula (Con-Dueño Π matricula (Motos Π matricula (De-Prueba Π matricula (Motos Π matricula (Motos Π matricula (Con-Dueño Π matricula (De-Prueba Π nombre (Organizan Π nombre (Grupos Π año, lugar (Organizan Π año, lugar (Encuentros Π año, lugar (Inscripción Π año, lugar (Encuentros Π ci (Inscripción Π ci (Motociclista Π ci (Pertenecen Π ci (Motociclista Π nombre (Pertenecen Π nombre (Grupos 3/9

Π matricula (Exhiben-truco Π matricula (De-Prueba Π nombre, año, lugar (Exhiben-truco Π nombre, año, lugar (Organizan Π matricula (Exhiben-hora Π matricula (De-Prueba Π nombre, año, lugar (Exhiben-hora Π nombre, año, lugar (Organizan b Indicar las dependencias funcionales y multivaluadas que se cumplen en cada tabla. En Inscripción se cumple: ci, año, lugar numero, regalo c Indicar la máxima forma normal en que se encuentra el esquema, justificando. Se encuentra en BCF ya que en todas las tablas, todas las dfs tienen como lado izquierdo una superclave. Como no hay despendencias multivaluadas no triviales, el esquema también se encuentra en 4F. Ejercicio 3 (15 puntos. Dado el esquema R (A,B,C,D,E,G,W y el conjunto de dependencias funcionales F = {A->B, A->W, C->D, C->G, AC->E, G->C}, responder: a Hallar todas las claves de F e indicar en qué formal normal se encuentra, justificando su respuesta. b Sea una descomposición δ = (ABEG, ACDW sobre R. Verificar y justificar si δ preserva las dependencias funcionales. c Hallar una descomposición que se encuentre en BCF y que sea con JSP. Decir si la descomposición es con preservación de dependencias. Justifique. d Cambiar en F la dependencia funcional G C por la multivaluada G->>C. Con este cambio, La dependencia funcional G D se deduce de F? Justifique. Ejercicio 4 (25 puntos. Los organizadores de un festival de teatro mantienen la información del mismo en una base de datos con el siguiente esquema: IVITADOS (roinvit, ombre, Categoría, Origen Contiene información de las personas invitadas al festival. A cada persona se le asigna un nro de invitado que lo identifica y se conoce su nombre, su categoría (ej: prensa, crítica, etc. y su país de origen. TEATROS (CodTeat, ombre, Dirección, CantAsientos Contiene información de los teatros que participan del festival. De cada teatro se conoce la cantidad de asientos disponibles, los cuales condicionan la cantidad de reservas que se pueden realizar para el mismo. OBRAS (CodObra, ombreobra, Autor Contiene información de las obras exhibidas en el festival. EXHIBE (CodTeat,Fecha, CodObra Contiene información del calendario de obras a exhibirse durante el festival. RESERVAS (CodTeat, Fecha, roasiento, roinvit 4/9

Contiene información de las reservas realizadas para las exhibiciones del festival. En este esquema no existen tablas vacías y se cumplen las siguientes dependencias de inclusión. a. CodTeat (EXHIBE CodTeat (TEATROS b. CodObra (EXHIBE CodObra (OBRAS c. CodTeat,Fecha (RESERVAS CodTeat,Fecha (EXHIBE d. roinvit (RESERVAS roinvit (IVITADOS Resolver en álgebra relacional las siguientes consultas: 1 Obtener la categoría y origen de los invitados que solo realizan reservas en teatros que tienen menos de 40 asientos. ( σ CantAsient os< A = TEATROS* RESERVAS ( 40 roinvit CodTeat ro de los invitados que realizan reservas en teatros con menos de 40 asientos. ( σ CantAsient os B = TEATROS* RESERVAS SOL = ( 40 roinvit CodTeat ro de los invitados que realizan reservas en el resto de los teatros. Categoria, Origen (( A B* IVITADOS Resolver en cálculo relacional las siguientes consultas: 2 Obtener el nombre y la capacidad de los teatros que han exhibido todas las obras del autor Spregelburd. {t.ombre, t.cantasientos / TEATROS(t ( o(obras(o o.autor = Spregelburd. ( e(exhibe(e e.codobra = o.codobra e.codteat = t.codteat } 3 Obtener nombre de las obras para las cuales hay una exhibición que no tiene reservas para invitados de origen Italia. {o.ombreobra, / OBRAS(o ( e(exhibe(e e.codobra = o.codobra (( r(reservas(r r.codteat = e.codteat r.fecha=e.fecha ( i(ivitados(i r.roinvit = i.roinvit i.origen = ITALIA 5/9

} Resolver en SQL, sin utilizar vistas ni sub-consultas en el FROM, las siguientes consultas: 4 Obtener nombre de la obra, nombre del teatro y fecha tal que en esa fecha, en ese teatro se exhibe esa obra y la cantidad de las reservas realizadas es menor que la capacidad de la sala. select O.ombreObra, T.ombre, E.Fecha from (Teatros T natural join Exhibe E natural join Obras O where T.CantAsientos > (select count(* from Reservas R where R.CodTeat = T.CoddTeat and R.Fecha = E.Fecha ; 5 Obtener nombre de autor y nombre de teatro tal que en ese teatro se exhiben durante el festival al menos 10 obras distintas de ese autor. select distinct O1.Autor, T.ombre from Obras O1, Teatros T where (T.CodTeat, O1.Autor in (select E.CodTeat, O.Autor from Exhibe E natural join Obras O group by E.CodTeat, O.Autor having count(distinct O.CodObra >= 10 ; 6/9

Ejercicio 5 (20 puntos. El siguiente esquema de bases de datos representa un conjunto de ferias que funcionan todos los días de la semana: Ferias (nomferia, departamento, direccion, día En la tabla Ferias se registra el nombre de la feria, la ciudad en la que se realiza la feria y la dirección de la misma en dicho departamento. Puestos (nomferia, nropuesto, rubro En la tabla Puestos se almacenan los datos de los puestos de cada feria, el nombre del puesto y el rubro que maneja dicho puesto, por ejemplo, alimentos, vestimenta, muebles, etc. Feriantes (CIFeriante, nomferiante, genero La tabla Feriantes representa a los feriantes que atienden cada puesto. De cada feriante se conoce además su nombre completo y género (femenino, masculino. Trabaja (CIFeriante, nomferia, nropuesto La tabla Trabaja representa en qué puestos de ferias trabaja cada feriante. En este esquema se cumplen las siguientes restricciones de inclusión: nomferia (Puestos nomferia (Ferias CIFeriante (Trabaja CIFeriante (Feriantes nomferia, nropuesto (Trabaja nomferia, nropuesto (Puestos Los datos sobre las tablas de este esquema son: Cantidad Observaciones tuplas Ferias 190 Las ferias se distribuyen uniformemente en los 19 departamentos. Puestos 10000 Los puestos se distribuyen uniformemente en 5 rubros. Feriantes 10000 El 65% de los feriantes son hombres. Trabaja 30000 Además, se cuenta con la siguiente información: - en cada tabla existe un índice primario por la clave primaria correspondiente. - la tabla Ferias tiene un índice B+ secundario por departamento - la tabla Feriantes tiene un índice B+ secundario por genero. - La tabla Trabaja tiene un indice B+ secundario por nomferia Considere la siguiente consulta sobre el esquema dado: SELECT Fe.nomFeriante, F.nomFeria, F.direccion FROM Feriantes Fe, Trabaja T, Ferias F WHERE F.nomFeria = T.nomFeria AD F.departamento = Montevideo AD Fe.genero = femenino AD T.CIFeriante = Fe.CIFeriante Se pide: a Dibuje el árbol canónico para la consulta SQL dada. 7/9

Π Fe.nomFeriante, F.nomFeria, F.direccion σ F.nomFeria = T.nomFeria F.departamento = Montevideo Fe.genero = femenino T.CIFeriante = Fe.CIFeriante X X Feriantes Fe Trabaja T Ferias F b Dar un plan lógico utilizando las heurísticas vistas en clase. Π Fe.nomFeriante, F.nomFeria, F.direccion >< Fe.nomFeria = F.nomFeria >< Fe.CIFeriante= T.CIFeriante Π Fe.nomFeriante, Fe.nomFeria, Fe.CIFeriante Π T.nomFeria, T.CIFeriante Π F.nomFeria, F.direccion σ F.departamento = Montevideo σ Fe.genero = femenino Feriantes Fe Trabaja T Ferias F Realizando los cálculos correspondientes nos lleva a reordenar el árbol, para colocar a la izquierda las hojas que generen menor cantidad de tuplas pero sin generar productos cartesianos. 8/9

Π Fe.nomFeriante, F.nomFeria, F.direccion >< Fe.CIFeriante= T.CIFeriante >< Fe.nomFeria=T.nomFeria Π F.nomFeria, F.direccion Π T.nomFeria, T.CIFeriante Π Fe.nomFeriante, Fe.CIFeriante 10 30000 3500 σ F.departamento = Montevideo σ Fe.genero = femenino Ferias F Trabaja T Feriantes Fe c Dar un plan físico para el árbol presentado en la parte b. Loop Join Loop Join Selección por Índice sec. sobre genero Selección por Índice sec. en departamento Ferias F Trabaja T Feriantes Fe 9/9