Professional Documents
Culture Documents
Definicin
Tipos de operaciones
Operacin de Seleccin
Selecciona tuplas que satisfacen un
predicado dado.
predicado (RELACION)
Por ejemplo: seleccionar de la tabla
persona todas las personas con nombre
igual a Maria
Comparaciones en el predicado
(1/2)
Se permiten operaciones que utilizan:
=, , <, , >,
Se pueden crear predicados mas grandes
usando conectias o () e y () .
Por ejemplo: seleccionar de la tabla
persona todas las personas con nombre
igual a Maria apellido igual a Gmez
Comparaciones en el predicado
(2/2)
El predicado de la seleccin puede incluir
comparaciones entre dos atributos.
Por ejemplo: seleccionar de la tabla persona
todas las personas que sean su propio jefe
nombre-persona = nombre-jefe(Persona)
Observacin: dado que el valor especial
Nulo indica valor desconocido o
inexistente, cualquier comparacin con un
valor nulo es Falsa.
Operacin de proyeccin
Es una operacin unaria que devuelve su
relacin de argumentos excluyendo algunos.
lista_atributos (RELACION)
Por ejemplo: necesitamos obtener de la tabla
personal los nombres y apellidos de las
personas en la base de datos. Pero la relacin
tiene muchos mas atributos.
Composicin de operaciones
Las operaciones tienen como entrada
relaciones y dan como salida otras
relaciones, por tanto es posible que la salida
de una operacin sea el ingreso de otra.
Por ejemplo: Obtener nombres y apellidos
slo de las mujeres registradas en la BD.
nombres, apellidos (
genero = <<femenino>> (PERSONA) )
Operacin de Unin
Es una operacin binaria que, igual que la
operacin de conjuntos, une las tuplas de las
relaciones implicadas. Se denota con U.
Operacin de Diferencia de
Conjuntos
Permite buscar tuplas que esten en una
relacin pero no en la otra. Se denota con el
signo -
Por ejemplo clientes del banco que tengan
cuenta pero que no tengan prestamos
Operacin Producto
Cartesiano
Permite combinar informacion de cualquier par
de relaciones. Se denota con el simbolo X.
Relacin_A X Relacion_B
Por ejemplo el producto cartesiano entre
Persona y Curso las cuales se definen como
sigue:
persona = (perID, perNombre)
curso = curID, curNombre)
Tendramos que: persona X curso =
(persona.perId, persona.perNombre,
curso.curID, curso.curNombre)
Operacin Producto
Cartesiano
Persona.p Persona.perNo
erID
mbre
Persona_1
Juan
Persona_1
Juan
Curso.curID
Curso_1
Curso_2
Curso.curNom
bre
Quimica
Fisica
Persona_2
Persona_2
Curso_1
Curso_2
Quimica
Fisica
Maria
Maria
Operacin
renombramiento
El operador renombramiento permite ponerle
nombre a las relaciones resultado de
operaciones de algebra relacional. Se denota
con la letra
x(E)
La anterior expresion retorna la expresion E con
el nombre x. Tambien se pueden renombrar los
atributos de E.
Otras operaciones
Estas operaciones no aaden potencia al
algebra, pero simplifican las consultas
habituales.
Cada operacin re-emplaza un conjunto de
operaciones normales.
- Interseccin de conjuntos
- Reunin natural
- Divisin
Interseccin de conjuntos
Todos los clientes que tienen un prstamo
concedido y una cuenta abierta:
nombre-cliente(prestatario) nombrecliente(impositor)
Se denota por el smbolo . Una
interseccin expresada mediante
operaciones bsicas sera:
R S = R (R S)
x S) )
Asignacin
Cuando resulta conveniente escribir una
expresion por partes o cuando se repite
parte de una expresin se puede hacer uso
de una variable temporal mediante
asignacin.
temp1 r,s(R)
temp2 r,s((temp1 x S) r-s,s(R))
resultado = temp1 temp2
Divisin
til en consultas que tienen la expresin para
todos. Por ejemplo: todos los clientes que tengan
abierta una cuenta en todas las sucursales
ubicadas en Bogot.
R1 nombre-sucursal (ciudad-sucursal = Bogot (sucursal))
R2 nombre-cliente, nombre-sucursal (cliente |X| sucursal)
Resultado = R1 R2
La relacin resultado solo tiene como columna la
columna
nombre-cliente.
Algebra Relacional
Extendida
Proyeccin generalizada
Esta
funcin
ampla
la
proyeccin
permitiendo que se utilicen funciones
aritmticas en la lista de proyeccin.
F1, F2, F3 (E)
Ejemplo: teniendo una relacin de tarjetas
de crdito con el cupo gastado, obtener el
cupo disponible.
numero_tarjeta, (cupo_total cupo_gastado) AS cupo_disponible
(TarjetaCrdito)
Funciones de agregacin
(2/4)
Suma total de sueldos
de los empleados de
la empresa:
GSUM(sueldo)
(EMPLEADOS)
Promedio de sueldos de los empleados de la
empresa:
GAVG(sueldo) (EMPLEADOS)
El mayor y menor sueldo de los empleados de
una empresa:
GMAX(sueldo), MIN(sueldo) (EMPLEADOS)
Funciones de agregacin
(3/4)
Suma de los sueldos por sucursal:
nombre-sucursal G nombre-sucursal, SUM(sueldo)
(Empleados)
La anterior funcin tomar todos los sueldos de
los empleados de una sucursal, los sumar y
los asociar a la sucursal correspondiente,
presentando un listado como el siguiente:
nombre-sucursal sum(sueldo)
Centro 5.300
Legans 3.100
Navacerrada 8.100
Funciones de agregacin
(4/4)
Forma general:
g1, g2gn G f1(a1), f2(a2).. Fm(am)(E)
Donde:
g1,g2,gn constituye la lista de atributos
que indica como se realiza la agrupacin.
fi es una funcin de agregacin y ai es un
nombre del atributo.