Algebra relacional
Un ´lgebra es un sistema matem´tico constituido por a a
• Operandos: objetos (valores o variables) desde los cuales nuevos objetos pueden ser construidos. • Operadores: s´ ımbolos que denotan nuevos objetos desde objetos dados.
El ´lgebra relacional es un ´lgebra en la cual a a
• Sus operandos son relaciones (instancias) o variables que representan relaciones. • Susoperadores est´n dise˜ados para hacer la tareas m´s a n a comunes que se necesitan para manipular relaciones en una base de datos.
El resultado es que el ´lgebra relacional se puede utilizar a como un lenguaje de consulta. En la pr´ctica el ´lgebra relacional debe ser extendida para a a abarcar la mayor parte de las tareas reales que se hacen con los datos. Estudiaremos en detalle los operadorescl´sicos. a
1
Tablas
Estas ser´n las tablas que usaremos en la mayor´ de ejemplos a ıa Empleado nombre Torres Soto P´rez e 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/200201/01/2002 01/06/2002 01/11/2003 01/06/2002 01/04/2003 01/10/2002
Departamento nombre Inform´tica a 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´n o
Operador de selecci´n o tuplas de una relaci´n. o
σ , selecciona un subconjunto de las
Tuplas seleccionadas son las que satisfacen cierto predicado l´gico P . Elpredicado puede depender de los atributos de la o relaci´n y de valores constantes. o El operador toma una relaci´n como argumento y el reo sultado es una nueva relaci´n. o 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 despuesdel 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´n o
Operador de proyecci´n o , proyecta una relaci´n sobre un o subconjunto de sus atributos. El operador toma una relaci´n como argumento y el reo sultado esuna nueva relaci´n. o Sintaxis:
π
π
πA(r) π nombre(departamento)
nombre Inform´tica a Marketing Ventas Recursos Humanos
donde A representa el conjunto de atributos sobre los que la relaci´n r se proyectar´. o a Ejemplo: obtener los nombres de los distintos departamentos
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 se eliminan los repetidos! una relaci´n es un conjunto. o
3
Composici´n de Operaciones o
El resultado de cada operaci´n es una nueva relaci´n ⇒ se o o 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´s de a $1.000.000.
π nombre(σsueldo>1000000(empleado))
nombre Torres Salas R´ ıos Gonzalez 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´n o
Dado que las relaciones son conjuntos de tuplas, se pueden realizar las operaciones usuales de conjuntos como la uni´n. o
Sintaxis: usamos notaci´n infija o
r1 ∪ r2
Se debenhacer ciertas restricciones para realizar la uni´n: o
• Ambas relaciones deben tener el mismo n´mero de atribu utos. • El dominio del atributo i-´simo de cada relaci´n debe coe o incidir.
Obtener los nombres de los empleados que ganan mas de $1.500.000 o que trabajan en el departamento con c´digo o A1.
π nombre(σ sueldo>1500000(empleado) ∪ σ cod dept=A1(empleado))
nombre Torres Figueroa...
Regístrate para leer el documento completo.