Download auxiliar 4

Document related concepts

Cálculo relacional basado en tuplas wikipedia , lookup

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)