algebra relacional teoria ejercicios
Algebra
Relacional
Un ´
algebra es un sistema matem´
atico constituido por
• Operandos: objetos (valores o variables) desde los cuales
nuevos objetos pueden ser construidos.
• Operadores: s´ımbolos que denotan nuevos objetos desde
objetos dados.
El ´
algebra relacional es un ´
algebra en la cual
• Sus operandos son relaciones (instancias) o variables que
representan relaciones.
• Susoperadores est´
an dise˜
nados para hacer la tareas m´
as
comunes que se necesitan para manipular relaciones en una
base de datos.
El resultado es que el ´
algebra relacional se puede utilizar
como un lenguaje de consulta.
En la pr´
actica el ´
algebra relacional debe ser extendida para
abarcar la mayor parte de las tareas reales que se hacen con
los datos.
Estudiaremos en detalle los operadores cl´asicos.
1
Tablas
Estas ser´
an las tablas que usaremos en la mayor´ıa de ejemplos
Empleado
nombre
Torres
Soto
P´
erez
Figueroa
Salas
R´ıos
Campos
Venegas
Carcamo
Gonzalez
sueldo
$ 1.200.000
$ 500.000
$ 300.000
$ 600.000
$ 1.500.000
$ 2.000.000
$ 800.000
$ 600.000
$ 500.000
$ 2.000.000
cod dept
A1
A2
A2
A1
A1
A3
A2
A1
A2
A3
f echa ing
01/01/2004
01/01/2003
01/10/2003
01/03/2002
01/01/200201/06/2002
01/11/2003
01/06/2002
01/04/2003
01/10/2002
Departamento
nombre
Inform´
atica
Marketing
Ventas
Recursos Humanos
cod dept
A1
A2
A3
A4
f echa creac
01/03/2002
01/01/2002
01/01/2001
01/01/2003
Selecci´
on
Operador de selecci´
on
tuplas de una relaci´
on.
σ , selecciona un subconjunto de las
Tuplas seleccionadas son las que satisfacen cierto predicado
l´
ogico P . El predicado puede dependerde los atributos de la
relaci´
on y de valores constantes.
σ
El operador
toma una relaci´
on como argumento y el resultado es una nueva relaci´
on.
Sintaxis:
σ P (r)
Seleccionar los datos del empleado Soto:
σ nombre=Soto(empleado)
nombre
Soto
sueldo
$ 500.000
cod dept
A2
f echa ing
01/01/2003
Los datos de los empleados con sueldo ≥ $500.000 que ingresaron despues del 2003:
σsueldo≥500000 ∧ f ech ing≥1/1/2003(empleado)
nombre
Soto
Campos
Carcamo
Torres
sueldo
$ 500.000
$ 800.000
$ 500.000
$ 1.200.000
cod dept
A2
A2
A2
A1
f echa ing
01/01/2003
01/11/2003
01/04/2003
01/01/2004
2
Proyecci´
on
π
Operador de proyecci´
on
, proyecta una relaci´
on sobre un
subconjunto de sus atributos.
π
El operador
toma una relaci´
on como argumento y el resultado es una nueva relaci´
on.Sintaxis:
πA(r)
donde A representa el conjunto de atributos sobre los que
la relaci´
on r se proyectar´
a.
Ejemplo: obtener los nombres de los distintos departamentos
π nombre(departamento)
nombre
Inform´
atica
Marketing
Ventas
Recursos Humanos
Obtener los montos de sueldo de los empleados:
π sueldo(empleado)
sueldo
$ 1.200.000
$ 500.000
$ 300.000
$ 600.000
$ 1.500.000
$ 2.000.000
$ 800.000
seeliminan los repetidos! una relaci´
on es un conjunto.
3
Composici´
on de Operaciones
El resultado de cada operaci´
on es una nueva relaci´
on ⇒ se
pueden aplicar operadores a los resultados de aplicaciones
previas.
Por ejemplo:
πA(σP (r))
σP (πA(r))
σP1 (σP2 (r))
Obtener los nombres de los empleados que ganan m´
as de
$1.000.000.
π nombre(σ sueldo>1000000(empleado))
nombre
Torres
Salas
R´ıosGonzalez
Obtener el sueldo y la fecha de ingreso de Soto:
π sueldo,f ech ing (σ nombre=Soto(empleado))
sueldo
$ 500.000
f echa ing
01/01/2003
4
Uni´
on
Dado que las relaciones son conjuntos de tuplas, se pueden
realizar las operaciones usuales de conjuntos como la uni´
on.
Sintaxis: usamos notaci´
on infija
r1 ∪ r2
Se deben hacer ciertas restricciones para realizar la uni´
on:
• Ambasrelaciones deben tener el mismo n´
umero de atributos.
• El dominio del atributo i-´
esimo de cada relaci´
on debe coincidir.
Obtener los nombres de los empleados que ganan mas de
$1.500.000 o que trabajan en el departamento con c´
odigo
A1.
π nombre(σ sueldo>1500000(empleado) ∪ σ cod dept=A1(empleado))
nombre
Torres
Figueroa
Salas
R´ıos
Venegas
Gonzalez
5
Diferencia
Tambi´
en se puede usar la...
Regístrate para leer el documento completo.