Download auxiliar 4
Transcript
CC42A - BASES DE DATOS Profesores. Gonzalo Navarro, Claudio Gutiérrez Auxiliar. Renzo Angles AUXILIAR 4 ÁLGEBRA RELACIONAL 19 de abril del 2004 1. ÁLGEBRA RELACIONAL Operaciones básicas: Selección (V<condición de selección>R): Selecciona las tuplas de una relación R que satisfacen la condición de la selección. Proyección (S<lista de atributos>R): Produce una relación con los atributos especificados en la lista de atributos. Renombrar (U[R’](<atributos>)R): Permite cambiar el nombre del esquema ó de los atributos. Teoría de conjunto: Las relaciones participantes deben tener los mismos atributos. Unión (R S): Produce un relación que incluye las tuplas de R mas las tuplas de S. Intersección (R S): Produce un relación que incluye las tuplas que aparecen tanto en R como en S. Diferencia (R-S): Produce un relación que incluye todas la tuplas de R que no aparecen en S. Producto cartesiano o producto cruz (RuS): Produce una relación que incluye los atributos de R y S e incluye como tuplas todas las combinaciones posibles de tuplas entre R y S. Reunión (JOIN): Reunión theta (R <condición de reunión>S): Produce todas las combinaciones de la tuplas R y S que satisfacen la condición de reunión. Equireunión: Es una reunión theta donde la condición es de igualdad entre atributos. Reunión natural (R*S): La condición de reunión se aplica automáticamente para los atributos comunes de R y S. División (RyS) : R(Z)÷S(X) = T(Y), X Z, Y=Z-X Funciones agregadas y de agrupación: Suma, promedio, máximo, mínimo, cuenta. <atributos de agrupación> <lista de funciones>(R). Reunión externa: izquierda, derecha, completa. Unión externa: Efectuará la unión de tuplas de 2 relaciones parcialmente compatibles. 2.PROBLEMAS 2.1 Considere las siguientes relaciones: R A 1 2 3 B b1 b2 b3 C c1 c2 c3 S A 1 1 2 2 2 3 3 3 3 X x1 x2 x1 x2 x3 x1 x2 x3 x4 Y y1 y2 y1 y2 y3 y1 y2 y3 y4 Indique el resultado de las siguientes operaciones: a) (σA=2 R) R.A=S.A S b) (σA=2 R)*S c) S÷ (πA R) 2.2 Suponga que las siguientes tres tablas pertenecen a la base de datos del departamento de computación: ALUMNO(NroAlumno, Nombre, Dirección, CursosTomados) PROFESOR(Nombre, Sueldo, CursosDictados, AlumnosMemoristas) CURSOS(NombreCurso, NombreProfesor, NroAlumno, NotaFinal) a) ¿Cómo mejoraría este esquema de base de datos?. Describa los nuevos esquemas de relación y las restricciones de integridad entre estos. b) Especifique la siguiente consulta en álgebra relacional: Lista de nombres de los alumnos que han tomado cursos con todos los profesores del departamento, su promedio de notas y el nombre de su profesor guía (en caso de estar haciendo o haber hecho la memoria) Solución prob. 2.1 a) A 2 2 2 B b2 b2 b2 C c2 c2 c2 A 2 2 2 X x1 x2 x3 A 2 2 2 B b2 b2 b2 C c2 c2 c2 X x1 x2 x3 Y y1 y2 y3 X x1 x2 Y y1 y2 Y y1 y2 y3 b) c) Solución prob. 2.2 a) ALUMNO(NroAlumno, Nombre, Dirección) PROFESOR(Nombre, Sueldo) CURSOS(NombreCurso, ...) INTANCIA_CURSO(CodInstancia,NomCurso,Semestre,Sección,NomProf) ALUMNO_CURSO(NroAlumno, CodInstancia, NotaFinal) MEMORISTA(NroAlumno, NomProf) b) R1= U(NomProf)(S(Nombre)PROFESOR) R2=S(NroAlumno,NomProf,NotaFinal)(ALUMNO_CURSO*INTANCIA_CURSO) R3=R2yR1 R4= U(NroAlumno,Promedio)( (NroAlumno) PROMEDIO(NotaFinal) R3) R5=S(Nombre,Promedio,NomProf)(R4*ALUMNO*MEMORISTA)