Download Álgebra Relacional

Document related concepts

Cálculo relacional wikipedia , lookup

Transcript
Álgebra Relacional
Andrés Moreno S.
1
Álgebra Relacional
Permite manipular el modelo relacional, a
través de reglas.
Se dividen en dos grupos:
Conjunto tradicional de operadores: unión,
intersección, diferencia y producto.
Operadores relacionales especiales: restringir,
proyectar, combinación (juntar) y dividir.
2
Álgebra Relacional, Unión
Regresa una relación que contiene todas las
tuplas que aparecen en una o en las dos
relaciones especificadas.
Alumno U Ayudante
3
1
Álgebra Relacional, Intersección
Regresa una relación que contiene todas las
tuplas que aparecen en las dos relaciones
especificadas, en ambas, no en una o la
otra.
Alumno
Ayudante
4
Álgebra Relacional, Diferencia
Regresa una relación que contiene todas las
tuplas que aparecen en la primera relación,
pero no en la segunda relación.
Alumno - Ayudante
5
Álgebra Relacional, Producto
Regresa una relación que contiene todas las
tuplas posibles formada por una
combinación de dos tuplas, una de cada
una de dos relaciones.
Producto
a x
Curso X Alumno
a
x
b
y
c
a y
b x
b y
c x
c y
6
2
Álgebra Relacional, Restringir o Selección
Regresa una relación que contiene todas las
tuplas de una relación específica que
satisfacen una condición específica.
7
Álgebra Relacional, Restringir o Selección
SELECT *
FROM Alumno
WHERE Carrera=“Ingeniería”
Alumno
Rut
Nombre
Carrera
Fecha Ingreso
123
Pedro
Apellido1 Apellido2
Rojas
Pérez
Ingeniería
01/02/2004
789
María
Torres
Gómez
Ingeniería
01/02/2005
456
Juan
Tagle
Ruiz
Biología
Carrera =“Ingeniería”
01/02/2003
(Alumno)
8
Álgebra Relacional, Proyectar
Regresa una relación que contiene todas las
tuplas o subtuplas que quedan en una
relación específica después de quitar los
atributos especificados.
9
3
Álgebra Relacional, Proyectar
SELECT Carrera
FROM Alumno
Carrera
(Alumno)
Alumno
Rut
Nombre
Carrera
Fecha Ingreso
123
Pedro
Apellido1 Apellido2
Rojas
Pérez
Ingeniería
01/02/2004
789
María
Torres
Gómez
Ingeniería
01/02/2005
456
Juan
Tagle
Ruiz
Biología
01/02/2003
10
Algebra Relacional
11
Álgebra Relacional, Combinación o Juntar
Regresa una relación que contiene todas las
tuplas posibles que son una combinación
debido a un valor común entre los atributos
comunes de las dos relaciones.
Alumno Curso
Combinación
a1
b1
b1
c1
a1
b1
c1
a2
b1
b2
C2
a2
b1
c1
a3
b2
b3
c3
a3
b2
c2
12
4
Álgebra Relacional, Combinación o Juntar
Alumno
Ayudante
Nombre
Carrera
Año
Ingreso
789
Pedro Pérez
Ingeniería
2005
789
Base
123
María Tapia
Ingeniería
2002
456
Biología
456
Jaime Riveros
Medicina
2004
Curso
Año
Ingreso
Rut
Rut
Curso
Combinación
Rut
Nombre
Carrera
789
Pedro Pérez
Ingeniería
Base
2005
456
Jaime Riveros
Medicina
Biología
2004
Alumno * Ayudante
13
Álgebra Relacional, Dividir
La división de una relación R1 (dividendo)
por otra relación R2 (divisor) es una
relación R (cociente) tal que, al realizarse
su combinación con el divisor, todas las
tuplas resultantes se encuentran en el
dividendo.
Dividir
Alumno : Curso
a
z
x
b
z
z
a
x
a
14
Ejemplo, Álgebra Relacional , Dividir
Alumno
Curso
Rut
Nombre
Curso
789
Pedro Pérez
BaseDatos
Curso
123
María Tapia
Biología
BaseDatos
789
Pedro Pérez
Magnetismo
Magnetismo
Dividir
Rut
Nombre
789
Pedro Pérez
Alumno : Curso
15
5
Propiedad Relacional de Cierre
Cualquier operación relacional entrega una
relación, implicando que las relaciones
están cerradas bajo el álgebra relacional.
16
Ejemplo, Algebra Relacional
Alumno
Rut
Nombre
Carrera
Fecha Ingreso
123
Pedro
Apellido1 Apellido2
Rojas
Pérez
Ingeniería
01/02/2004
789
María
Torres
Gómez
Ingeniería
01/02/2005
456
Juan
Tagle
Ruiz
Biología
01/02/2003
Carrera
(Alumno)
Carrera
Ingeniería
Biología
17
Ejemplo, Algebra Relacional
Alumno
Rut
Nombre
Carrera
Fecha Ingreso
123
Pedro
Apellido1 Apellido2
Rojas
Pérez
Ingeniería
01/02/2004
789
María
Torres
Gómez
Ingeniería
01/02/2005
456
Juan
Tagle
Ruiz
Biología
01/02/2003
Rut
Nombre
123
Pedro
Rojas
789
María
Torres
Carrera =“Ingeniería”
(Alumno)
Apellido1 Apellido2
Carrera
Fecha Ingreso
Pérez
Ingeniería
01/02/2004
Gómez
Ingeniería
01/02/2005
18
6
Ejemplo, Algebra Relacional
Alumno
Rut
Nombre
Carrera
Fecha Ingreso
123
Pedro
Apellido1 Apellido2
Rojas
Pérez
Ingeniería
01/02/2004
789
María
Torres
Gómez
Ingeniería
01/02/2005
456
Juan
Tagle
Ruiz
Biología
01/02/2003
Carrera =“Ingeniería” AND Apellido1= “Rojas”
Rut
Nombre
123
Pedro
Apellido1 Apellido2
Rojas
Pérez
(Alumno)
Carrera
Fecha Ingreso
Ingeniería
01/02/2004
19
Ejemplo, Algebra Relacional
Alumno
Rut
Nombre
Carrera
Fecha Ingreso
123
Pedro
Apellido1 Apellido2
Rojas
Pérez
Ingeniería
01/02/2004
789
María
Torres
Gómez
Ingeniería
01/02/2005
456
Juan
Tagle
Ruiz
Biología
01/02/2003
Apellido1, Apellido2 (
Carrera =“Ingeniería” AND FechaIngreso >01/01/2005 (Alumno))
Apellido1 Apellido2
Torres
20
Gómez
Ejemplo, Algebra Relacional
Alumno
Rut
Nombre
Carrera
Fecha Ingreso
123
Pedro
Apellido1 Apellido2
Rojas
Pérez
Ingeniería
01/02/2004
789
María
Torres
Gómez
Ingeniería
01/02/2005
456
Juan
Tagle
Ruiz
Biología
01/02/2003
Apellido1, Apellido2 (
Carrera =“Ingeniería” AND FechaIngreso >01/01/2005 (Alumno))
SELECT Apellido1,Apellido2
FROM Alumno
WHERE Carrera=“Ingeniería” AND FechaIngreso >01/01/2005
21
7
Álgebra Relacional
Andrés Moreno S.
22
8