Está en la página 1de 30

Cuaderno Álgebra Relacional Base de Datos

Cuaderno Álgebra Relacional Base de Datos 1


6.6 4
SQL 4
6.7 4
SQL 4
6.8 5
SQL 5
6.9 6
SQL 6
6.10 6
SQL 6
6.11 7
SQL 7
6.15 8
reunion natural 8
SQL 8
6.16 8
6.17 8
6.18 8
6.19 8
6.20 9
6.21 9
6.22 9
6.23/6.24 9
6.25 9
6.26 9
6.27 9
7.17 9
SQL 9
7.18 10
SQL 10
SQL 10
7.20 11
SQL 11
7.21 11
SQL 11
7.22 12
SQL 12
7.23 12
7.24 13
SQL 13
7.25 13
SQL 13
7.26 13
SQL 14
7.27 14
SQL 15
7.28 15
SQL 16
7.29 16
SQL 17
7.30 17
SQL 18
7.31 18
SQL 19
7.32 19
SQL 20
7.33 20
SQL 21
7.41 22
6.15 22
SQL 22
6.16 22
SQL 22
6.17 23
SQL 23
6.18 24
SQL 24
6.19 24
SQL: 24
6.20 25
SQL 25
6.21 26
reunión natural 26
SQL 26
6.22 26
reunión natural 26
SQL 26
6.23/6.24 27
6.25 27
6.26 27
6.27 27
6.29 28
uso de reunion natural 28
SQL 28
6.30 28
Uso de reunión natural 28
SQL 29
6.31 29
Uso de reunión natural 29
SQL 29
6.6
Algebra
σcod_dep= ‘BD’(PROFESORESpertenece)

SQL

SELECT cod_dep FROM PROFESORESpertenece WHERE cod=’SIS’;;

6.7
Algebra
πnom_prof,NRP(σ(categoria≠ ‘titular’) ^(area = ‘Programacion 🇻 area = ‘Base de datos)(PROFESORESpertenece)

SQL
SELECT nombre_prof,NRP FROM PROFESORpertenece WHERE
categoria<>'Titular' AND area='Base de Datos' OR area='Programacion';
6.8
Algebra

πarea (σ(categoria=’Titular’ 🇻 categoria=’Auxiliar’))(Profesores)

SQL
SELECT area FROM PROFESORpertenece WHERE categoria=’Titular’ OR
categoria=’Auxiliar’;
6.9
Algebra

πnombre,Fecha_nac(σ(provincia=’Buenos Aires’))(Alumnos)

SQL
SELECT nombre_alumn,fecha_nac FROM ALUMNO WHERE provinicia='Buenos
Aires';

6.10

Algebra
πDNI,NOMBRE_ALUMNO(σ(fecha_nac < ‘1-1-80)) (ALUMNO)

SQL
SELECT DNI, nombre_alumn FROM ALUMNO WHERE fecha_nac<'1-1-1980';
6.11

Algebra
πprovincia(σ beca=’Si’(alumno))

SQL
SELECT provinicia FROM alumno WHERE beca='Si';
6.15

π NRP,nombre_dep,nombre_prof(σcod_dep.DEPARTAMENTO == cod.dep.PROFESOR)(DEPARTAMENTO x profesor)

reunion natural
π NRP,nombre_dep,nombre_prof(DEPARTAMENTO x profesor)

SQL
SELECT NRP,nombre_dep, nombre_prof
2 FROM (SELECT * FROM PROFESORpertenece)
3 NATURAL JOIN (SELECT * FROM DEPARTAMENTOSdirige);

6.16
πDNI,nombre(σDNI.matricula == DNI.alumno (σcod_asig=’BD’(matricula) x (σbeca=’Si (alumno)’))

6.17

πNRP, nombre(σNRP.profesores == NRP. GRUPO ((PROFESOR) x (σcod_asig==’BD’ (GRUPO))))

6.18
πcod_asig (σDNI.ALUMNOS == DNI.matricula (matricula) x (σnombre==’Luis Martinez Perez’ (alumnos) ))

6.19
πNRP, nombre(σcod_dep.PROFESOR == cod.dep.DEPARTAMENTO (σcategoria=’cu’ ៴ categoria =’TU’(profesores) x
σnombre_dep=’Electronica’ (DEPARTAMENTO)))
6.20

πnombre_asig ((σalumno.DNI== matricula.DNI (σcod_asig.matricula=cod_asig.asignatura)(matrícula)) x (σnombre_alumno=’Luis


Martínez Pérez’(alumno )) x (asignatura)

6.21
πnom_prof, NRP( σNRP.profesores == NRP.grupo)(profesores )x(σtipo=’Practicas’^ cod_asig=’BD’ (grupo))

6.22

πnombre , DNI(σDNI.alumno=DNI.matricula (σprovinvia=’Almeria’(alumno)x (σcod_asig.matricula==cod_asig.asignatura (matricula)


x (σcurso=1(asignatura)))

6.23/6.24
ρ (alumnos) = (al)
πnombre,DNI (σprovincia.alumnos == provincia.al(σnombre=’Luis Marinez Perez’ (alumnos) ) x (al))

6.25
ρ (profesor) = (profl)

πDNI, nombre (σarea.prof==area.profesor (prof) x σnombre_prof=’Maria Lopez Ruiz ‘(profesor))

6.26
ρ (alumnos) = (al)

πDNI ,nombre(σedad.alu >= edad.alumnos (al x σnombre=’Luis Martinez Perez’(alumnos)))

6.27
ρ (asignaturas) = (asig)

πcod_asig, nombre(σcurso.asig > curso.asignatura( σcaracter=’optativo’(asig)) x (σnombre=’Base de Datos’(asignatura))))

7.17
Algebra
πnombre_prof,NRP,categoria(profesores)

SQL
SELECT NRP,nombre_prof,categoria FROM PROFESORpertenece;
7.18
Algebra
πcod_aula, capacidad(AULA)

SQL
SELECT * FROM AULA;

7.19
Algebra
πNRP,nombre_prof(σcategoria=’Titular’)(PROFESOR)

SQL
SELECT NRP,nombre_prof FROM PROFESORpertenece WHERE
categoria='Titular';
7.20
Algebra
πNRP,nombre_prof (σcategoria!=’Titular ៱ area=’TSENAL’ 🇻 area = ‘Entornos’)(Profesor)

SQL
SELECT NRP,nombre_prof FROM PROFESORpertenece WHERE
(categoria='Auxiliar' AND (area='TSENAL' OR area='COMPT'));

7.21
Algebra
πcod_aula, capacidad(σ(capacidad >= 30 )(AULA)
៱ capacidad <= 50 )
SQL
SELECT cod_aula, capacidad FROM AULA WHERE capacidad >=30 AND capacidad<=80;

7.22
Algebra
πnombre_alum, DNI(σ(provinicia=’Jujuy’ )(ALUMNO)
៱ provincia=’Tucuman’

SQL
SELECT nombre_alumn, DNI FROM ALUMNO WHERE (provinicia='Jujuy' OR
provinicia='Tucuman');
7.23
Algebra
πnombre_alum, DNI(σnombre_alumn < Javier ) (ALUMNO)

7.24
Algebra
πnombre_alum, DNI(σnombre_alumn=’H’) (alumno)

SQL
SELECT DNI,nombre_alumn FROM ALUMNO WHERE nombre_alumn LIKE 'M%';

7.25
Algebra
πnombre_alum, DNI(σnombre_alumn = ‘a’)(alumno)

SQL
SELECT DNI,nombre_alumn FROM ALUMNO WHERE nombre_alumn LIKE '%a%';
7.26
Algebra
πnombre_alum, DNI(σnombre_alumno =’h’)(Alumno )

SQL
SELECT DNI,nombre_alumn FROM ALUMNO WHERE nombre_alumn LIKE '_e%';
7.27
Algebra
πnomb_asig,cod_asig, crédito(σcreditos= creditos *12.45)(Asignatura)

SQL
SELECT creditos*12.45, nombre_asig, cod_asig FROM ASIGNATURA ;
7.28
Algebra
πnomb_asig,cod_asig, creditos (σcreditos >= 7 ៱ creditos <=9) (asignaturas)

SQL
SELECT cod_asig,nombre_asig, creditos FROM ASIGNATURA WHERE creditos>=1 AND
creditos<=4;
7.29
Algebra
πnomb_asig,cod_asig,creditos (σcreditos==NULL) (asignatura)

SQL
SELECT cod_asig,nombre_asig,creditos FROM ASIGNATURA WHERE (creditos IS NULL);
7.30
Algebra
πprovincia(Alumno)

SQL
SELECT provincia FROM ALUMNO;
7.31
Algebra
πDNI, nombre_alum, beca (σbeca=’Si’)(Alumno)

SQL
SELECT DNI,nombre_alumn,beca FROM ALUMNO WHERE beca='Si' ORDER BY
nombre_alumn DESC;
7.32
Algebra
πDNI, nombre_alum, provincia (σprovincia < ‘z’ ៱ (Alumno )
nombre_alum < ‘z’)

SQL
SELECT DNI,nombre_alumn,provinicia FROM ALUMNO ORDER BY
provinicia,nombre_alumn DESC;
7.33
πNRP,nombre_prof(σdepartamento.NRP=profesor.NRP((departamento) x (profesor)))

SQL
SELECT p.NRP, p.nombre_prof
FROM PROFESORpertenece p, DEPARTAMENTOSdirige d
WHERE d.NRP=p.NRP;
7.41
πnombre_asig, creditos(σasig.cod_asig=c.cod_asig(asignatura )x (σc.cod_aula=a.cod_aula(clase x (σcapacidad >100(aula)))))

6.15
Algebra
πnombre_dep, NRP(σcod_dep.DEPARTAMENTO == cod.dep.PROFESOR)(DEPARTAMENTO x profesor)

SQL
SELECT p.NRP, p.nombre_prof, d.cod_dep FROM PROFESORpertenece p,
DEPARTAMENTOSdirige d WHERE d.cod_dep=p.cod_dep;

6.16
πDNI,nombre(σDNI.matricula == DNI.alumno (σcod_asig=’BD’(matricula)x(σbeca=’Si (alumno)’))

SQL
SELECT a.DNI,a.nombre_alumn
FROM ALUMNO a, matricula m
WHERE a.beca='Si' AND m.DNI=a.DNI AND m.cod_asig='BD';
6.17

πNRP, nombre(σNRP.profesores == NRP. GRUPO ) (PROFESOR x (σcod_asig==’BD’ (GRUPO))

(en sql se agrega el tipo de grupo para diferenciar entre los 2 Guillermos que
imparten BD)

SQL
SELECT p.NRP, p.nombre_prof,g.Tipo
FROM PROFESORpertenece p, GRUPO g
WHERE g.NRP=p.NRP AND g.cod_asig='BD';
6.18
πcod_asig (σDNI.ALUMNOS == DNI.matricula (matricula) x (σnombre==’Luis Martinez Perez’ (alumnos) ))

SQL
SELECT m.cod_asig, a.DNI,a.nombre_alumn
FROM matricula m, ALUMNO a
WHERE a.nombre_alumn='Maitena' AND m.DNI=a.DNI;

6.19
πNRP, nombre(σcod_dep.PROFESOR == cod.dep.DEPARTAMENTO (σcategoria=’Auxiliar’ ៴ categoria

(profesores) x σnombre_dep=’’ (DEPARTAMENTO)))


=’Titular’

SQL:

SELECT p.NRP, p.nombre_prof,d.cod_dep


FROM PROFESORpertenece p, DEPARTAMENTOSdirige d
WHERE (p.categoria='Auxiliar' OR p.categoria='Titular') AND (d.cod_dep=p.cod_dep AND
d.cod_dep='SIS');

6.20

πcod_asig,nombre_asig ((σalumno.DNI== matricula.DNI (σcod_asig.matricula=cod_asig.asignatura)(matrícula)) x


(σnombre_alumno=’Luis Martínez Pérez’(alumno )) x (asignatura)

πcod_asig,nombre_asig((matrícula) x (σnombre_alumno=’Luis Martínez Pérez’(alumno )) x (asignatura)


)

SQL
SELECT asig.cod_asig, asig.nombre_asig
FROM ALUMNO a, ASIGNATURA asig, matricula m
WHERE ((a.nombre_alumn='Maitena') AND (m.DNI=a.DNI) AND
(m.cod_asig=asig.cod_asig));
6.21
πnom_prof, NRP( σNRP.profesores == NRP.grupo(profesores )x(σtipo=’Practicas’^cod_asig=’BD’ (grupo))

reunión natural
πnom_prof, NRP( (profesores )x(σtipo=’Practicas’^cod_asig=’BD’ (grupo))

SQL
SELECT p.NRP , p.nombre_prof
FROM PROFESORpertenece p, GRUPO g
WHERE ((g.Tipo='Practica') AND (g.cod_asig='BD') AND (g.NRP=p.NRP));

6.22

πnombre , DNI(σDNI.alumno=DNI.matricula (σprovinvia=’Almeria’(alumno) x πm.DNI( (σcod_asig.matricula==cod_asig.asignatura


(matricula) xπcod_asig( (σcurso=1(asignatura)))))

reunión natural

πnombre , DNI(σprovinvia=’Almeria’(alumno) x (matricula) x (σcurso=1(asignatura)))


SQL

SELECT a.DNI, a.nombre_alumn


FROM ALUMNO a, matricula m, ASIGNATURA asig
WHERE ((asig.curso='1') AND (m.cod_asig=asig.cod_asig) AND (a.provincia='Tucuman'));

6.23/6.24
ρ (alumnos) = (al)
πnombre,DNI (σprovincia.alumnos == provincia.al(σnombre=’Luis Marinez Perez’ (alumnos) ) x (al))

6.25
ρ (profesor) = (profl)

πnombre (σarea.prof==area.profesor (prof) x σnombre_prof=’Maria Lopez Ruiz ‘(profesor))

6.26
ρ (alumnos) = (al)

πnombre,DNI (σedad.alu >= edad.alumnos (al x σnombre=’Luis Martinez Perez’(alumnos)))


6.27
ρ (asignaturas) = (asig)

πcod_asig, nombre(σcurso.asig > curso.asignatura( σcaracter=’optativo’(asig)) x (σnombre=’Base de Datos’(asignatura))))

6.29

ρ (alumno) = (a)
ρ (matrícula) = (m)

πDNI,nombre(σm.DNI=a.DNI(σcod_asig=’BD’(matricula) x (σbeca=’si’(alumno))))

uso de reunion natural

πDNI,nombre((σbeca=’Si’(alumno))⋈ σcod_asig(matricula))

SQL
SELECT DNI,nombre_alumn
2 FROM (SELECT * FROM ALUMNO WHERE beca='Si')
3 NATURAL JOIN (SELECT * FROM matricula WHERE cod_asig='BD');

6.30
πNRP,nombre(σp.NRP=g.NRP((profesor) x (σcod_asig=’BD’(grupo))))

Uso de reunión natural

πNRP,nombre((profesor) ⋈ (σcod_asig=’BD’(grupo)))

SELECT NRP, nombre_prof


2 FROM (SELECT * FROM PROFESORpertenece)
3 NATURAL JOIN (SELECT cod_asig FROM GRUPO WHERE cod_asig='BD');

SQL

6.31
ρ (asignatura) = (a)
ρ (profesor) = (p)

πNRP,nombre(σg.NRP=P.NRP((profesor) x (σa.cod_asig=g.cod_asig(σnombre=’Base de Datos’(asignatura) x


(σcod_asig=’BD’(σtipo=’Prácticas’ (grupo)))))))

Uso de reunión natural

πNRP,nombre(profesor ⋈ (σnombre=’Base de Datos’(asignatura) ⋈ (σtipo=’Práctica’(grupo))))

SQL
SELECT NRP,nombre_prof
2 FROM (SELECT tipo FROM GRUPO WHERE tipo='Practica'), (SELECT nombre_asig
FROM ASIGNATURA WHERE nombre_asig='Base de Datos')
3 NATURAL JOIN (SELECT * FROM PROFESORpertenece);

También podría gustarte