taller álgebra relacional
ÁLGEBRA RELACIONAL
Considerando la base de datos compuesta por las siguientes relaciones:
Tabla Profesor Tabla Asistencia Tabla Asignatura Tabla Clases
Se pide dar soluciones algebraicas a las siguientes consultas:
1) Obtener todos los datos de todas las clases.
2) Obtener todos los datos de todas las clases ubicadas en el primer piso.
3) Obtener los profesores que asisten a la clase 'C1'.
4) Obtener los valores de PISO y BLOQUE para las clases a las que asiste el profesor 'P1'.
5) Obtener los valores de P# para los profesores que asisten a la clase 'C1' impartiendo la asignatura de 'FISICA'.
6) Obtener los valores de P# para los profesores …ver más…
SELECT NOMBRE FROM papelerias P, elp T, editoriales E WHERE E.CIUDAD = 'MADRID' and E.`E#` = T.`E#` AND P.`P#` = T.`P#`;
Π{NOMBRE}(σ{ E.CIUDAD = 'MADRID' ∧ editoriales.`E#` = elp.`E#` ∧ papelerias.`P#` = elp.`P#` }(papelerias × elp x editoriales) )
b) Obtener los valores de E# para las editoriales que suministran a las papelerías P1 y P3 libros publicados en el año 1960.
SELECT DISTINCT `E#` FROM elp join libros using(`L#`) where `P#` in ('P1','P3') and AÑO = '1960'; ρΠ{E# }(σ{ `P#` in ('P1','P3') ∧ AÑO = '1960' }(elp ⋈ libros))
c) Obtener los valores de P# de las papelerías abastecidas completamente por la editorial E1.
SELECT `P#` FROM elp WHERE `E#` = 'E1';
Π{P#}(σ{ `E#` = 'E1'}(elp))
d) Obtener los valores de L# para los libros suministrados para todas las papelerías que no sean de "Madrid".
SELECT DISTINCT `L#` FROM papelerias , elp WHERE CIUDAD 'MADRID';
Π{L#}(σ{ CIUDAD 'MADRID'}( papelerias x elp ))
2.- Dada la base de datos compuesta por las siguientes relaciones:
PROGRAMAS (P#, MEMORIA, S.O, DISTRIBUIDOR)
USUARIOS (U#, EDAD, SEXO )
ORDENADORES (O#, MODELO, S.O, CAPACIDAD)
USOS (U#, P#, O#, TIEMPO)
Se pide expresar en términos de álgebra relacional la secuencia de operaciones necesaria para efectuar las siguientes consultas a la Base de Datos:
a) Obtener los usuarios (U#) que usan al menos todos los programas