Semana5 Clase1
-
Upload
paul-ellis -
Category
Documents
-
view
56 -
download
0
Transcript of Semana5 Clase1
-
Fundamentos de Bases de datos
El Algebra Relacional
-
Agenda
Algebra Relacional Operaciones Unarias
Operaciones de Conjuntos
Operaciones de Combinacin (Join)
Operacin de Divisin
Operaciones de Agregacin
Operaciones de Agrupacin
2
-
El Algebra Relacional
Lenguaje terico con operaciones que se aplican a una o mas relaciones, con el fin de definir otra relacin sin modificar las relaciones originales
La salida de una operacin puede usarse como entrada a otra operacin (CIERRE)
Anidar operaciones del AR, igual como se hace con las operaciones Aritmticas.
3
-
El Algebra Relacional
Existen diferentes representaciones de las operaciones del AR. Aqu usaremos una notacin simblica-> NO FORMAL
Tipos de Operaciones:
Unarias: Una sola relacin
Binarias: Dos relaciones
4
-
Operaciones Unarias
Seleccin (o restriccin)
Proyeccin
5 Connolly, 2005
-
Operaciones Unarias
Seleccin (o restriccin): Al aplicarse sobre una relacin R, define una nueva relacin que contiene nicamente aquellas tuplas de R que satisfacen la condicin especificada (predicado)
La denotaremos como: predicate (R)
6 Connolly, 2005
-
Operaciones Unarias
Ejemplo de Seleccin (o restriccin)
Enumerar todos los miembros del personal cuyo salario sea mayor a 10.000
Salary>10000(staff)
7 Connolly, 2005
-
Operaciones Unarias
Seleccin predicate (R)
Pueden generarse predicados mas complejos utilizando los operadores lgicos como AND, OR, NOT
8 Connolly, 2005
-
Operaciones Unarias
Proyeccin : Al aplicarse sobre una relacin R, define una nueva relacin que contiene un subconjunto vertical de R, extrayendo los atributos especificados y eliminando los duplicados
La denotaremos como: col1, . . . , coln(R)
9 Connolly, 2005
-
Operaciones Unarias Ejemplo de Proyeccin: Generar una lista de
salarios para todo el personal, mostrando los detalles referidos a los atributos: staffNo, fName, iName y salary
staffNo, fName, lName, salary(Staff)
10 Connolly, 2005
-
Operaciones Unarias Ejemplo de Proyeccin: Generar una lista de
salarios para todo el personal, mostrando los detalles referidos a los atributos: staffNo, fName, iName y salary
staffNo, fName, lName, salary(Staff)
11 Connolly, 2005
-
Agenda
Algebra Relacional Operaciones Unarias
Operaciones de Conjuntos
Operaciones de Combinacin (Join)
Operacin de Divisin
Operaciones de Agregacin
Operaciones de Agrupacin
12
-
Operaciones de Conjuntos
Unin
Diferencia
Interseccin
Producto Cartesiano
13 Connolly, 2005
-
Operaciones de Conjuntos
Unin: La unin de dos relaciones R y S define una nueva relacin que contiene todas las tuplas tanto de R como de S, eliminndose las tuplas duplicadas. R y S deben ser compatibles con respecto a la unin.
La denotaremos como R S Si el Nmero de tuplas de R = i y el Nmero de tuplas de
S = j Entonces el Nmero de tuplas de R S
-
Operaciones de Conjuntos
Ejemplo de Unin: Enumerar todas las ciudades donde exista una sucursal o un inmueble para arrendar
15 Connolly, 2005
-
16
-
Operaciones de Conjuntos
Ejemplo de Unin: Enumerar todas las ciudades donde exista una sucursal o un inmueble para arrendar
city(Branch) city(PropertyForRent)
17 Connolly, 2005
-
Operaciones de Conjuntos
Diferencia: La diferencia de dos relaciones R y S define una nueva relacin que contiene todas las tuplas que se encuentran en R pero que no estn en S. R y S deben ser compatibles con respecto a la unin.
La denotaremos como R - S
18 Connolly, 2005
-
Operaciones de Conjuntos
Ejemplo de Diferencia: Enumerar todas las ciudades donde exista una sucursal pero no haya inmuebles para arrendar
19 Connolly, 2005
-
20
-
Operaciones de Conjuntos
Ejemplo de Diferencia: Enumerar todas las ciudades donde exista una sucursal pero no haya inmuebles para arrendar
city(Branch) -city(PropertyForRent)
21 Connolly, 2005
-
Operaciones de Conjuntos
Interseccin: La interseccin de dos relaciones R y S define una nueva relacin que contiene todas las tuplas que se encuentran tanto en R como en S. R y S deben ser compatibles con respecto a la unin.
La denotaremos como R S
Se puede expresar como R S = R (R S)
22 Connolly, 2005
-
Operaciones de Conjuntos
Ejemplo de Interseccin: Enumerar todas las ciudades donde exista una sucursal y al menos un inmueble para alquilar
23 Connolly, 2005
-
24
-
Operaciones de Conjuntos
Ejemplo de Interseccin: Enumerar todas las ciudades donde exista una sucursal y al menos un inmueble para alquilar
city(Branch) city(PropertyForRent)
25 Connolly, 2005
-
Operaciones de Conjuntos Producto Cartesiano: El producto cartesiano de
dos relaciones R y S define una nueva relacin que es la concatenacin de cada tupla de la relacin R con cada tupla de la relacin S
La denotaremos como R X S
Si R tienen i tuplas y n atributos y S tiene j tuplas y m atributos
R X S tendr (i*j) tuplas con (n+m) atributos
Se antepone el nombre de la relacin a cada atributo para identificar de que relacin viene
26 Connolly, 2005
-
Operaciones de Conjuntos
Ejemplo de producto cartesiano: Enumerar los nombres y comentarios de todos los clientes que hayan visto una propiedad para alquilar
27 Connolly, 2005
-
28
-
Operaciones de Conjuntos Ejemplo de producto cartesiano: Enumerar los
nombres y comentarios de todos los clientes que hayan visto una propiedad para alquilar
(clientNo, fName, lName(Client)) X (clientNo, propertyNo, comment (Viewing))
29 Connolly, 2005
-
Operaciones de Conjuntos Ejemplo de producto cartesiano: Enumerar los
nombres y comentarios de todo los clientes que hayan visto una propiedad para alquilar
(clientNo, fName, lName(Client)) (clientNo, propertyNo, comment(Viewing))
El producto cartesiano y la seleccin pueden reducirse a una sola operacin
30 Connolly, 2005
Client.clientNo = Viewing.clientNo(
)
-
Agenda
Algebra Relacional Operaciones Unarias
Operaciones de Conjuntos
Operaciones de Combinacin (Join)
Operacin de Divisin
Operaciones de Agregacin
Operaciones de Agrupacin
31
-
Operaciones de Combinacin (Join)
Combinacin theta
Combinacin Natural
Combinacin Externa
Semicombinacin
32 Connolly, 2005
-
Operaciones de Combinacin (Join) Combinacin Theta: La combinacin Theta de R
y S define una nueva relacin que contiene todas las tuplas del producto cartesiano de R y S que satisfacen el predicado F. El predicado F tiene la forma R.ai S.bi donde puede ser uno de los operandos de comparacin (, , =, )
La denotaremos como R F S Grado= GradoR + GradoS (atributos que actual
como operandos) Si F es el operando = se denomina
Equicombinacin
33 Connolly, 2005
-
Ejemplo de Combinacin Theta : Enumerar los nombres y comentarios de todos los clientes que hayan visto una propiedad para alquilar
(clientNo, fName, lName(Client)) Client.clientNo = Viewing.clientNo (clientNo, propertyNo, comment(Viewing))
34 Connolly, 2005
Operaciones de Combinacin (Join)
-
Operaciones de Combinacin (Join) Combinacin Natural: La combinacin
Natural es una Equicombinacin entre dos relaciones R y S sobre todos los atributos comunes. Del resultado se elimina una de las apariciones de cada atributo comn
La denotaremos como R S
Grado= (GradoR + GradoS) (# de atributos comunes)
35 Connolly, 2005
-
Ejemplo de Combinacin Natural : Enumerar los nombres y comentarios de todos los clientes que hayan visto una propiedad para alquilar
(clientNo, fName, lName(Client))
(clientNo, propertyNo, comment(Viewing))
36 Connolly, 2005
Operaciones de Combinacin (Join)
-
Operaciones de Combinacin (Join)
Combinacin Externa Izquierda (Outer Join): La combinacin Externa Izquierda es una combinacin entre dos relaciones R y S, que genera una nueva relacin en la que se incluyen todas las filas de R con sus atributos correspondientes en S. Los valores de los atributos que no tengan correspondiente se llenan con valor Nulo
La denotaremos como R S
37 Connolly, 2005
-
Ejemplo de Combinacin Externa Izquierda : Generar un informe sobre las visitas a los inmuebles
38 Connolly, 2005
Operaciones de Combinacin (Join)
-
Ejemplo de Combinacin Externa Izquierda : Generar un informe sobre las visitas a los inmuebles
propertyNo, street, city(PropertyForRent) Viewing
39 Connolly, 2005
Operaciones de Combinacin (Join)
-
Operaciones de Combinacin (Join)
40 Connolly, 2005
Externa Natural
-
Operaciones de Combinacin (Join)
Semicombinacin: La operacin de semicombinacin entre R y S define una nueva relacin que contiene las tuplas de R que participan en la combinacin R y S
La denotaremos como R S
41 Connolly, 2005
-
Ejemplo de Semicombinacin: Enumerar todos los detalles de los empleados que trabajan en la sucursal de Glasgow
42 Connolly, 2005
Operaciones de Combinacin (Join)
-
Ejemplo de Semicombinacin: enumerar todos los detalles de los empleados que trabajan en la sucursal de Glasgow
Staff Staff.branchNo=Branch.branchNo(city=Glasgow(Branch))
43 Connolly, 2005
Operaciones de Combinacin (Join)
-
Agenda
Algebra Relacional Operaciones Unarias
Operaciones de Conjuntos
Operaciones de Combinacin (Join)
Operacin de Divisin
Operaciones de Agregacin
Operaciones de Agrupacin
44
-
Operacin de Divisin
Divisin: La operacin de Divisin entre R y S define una nueva relacin que contiene las tuplas de R que se corresponden con la combinacin de las tuplas de S
La denotaremos como R S
A ={1,2,3} B = {1, 2} C = A B = {3}
45 Connolly, 2005
-
Ejemplo de Divisin: enumerar todos Clientes que hayan visitado todos los inmuebles de tres habitaciones
46 Connolly, 2005
Operacin de Divisin
-
Agenda
Algebra Relacional Operaciones Unarias
Operaciones de Conjuntos
Operaciones de Combinacin (Join)
Operacin de Divisin
Operaciones de Agregacin
Operaciones de Agrupacin
47
-
Operaciones de Agregacin
Agregacin: Aplica la lista de operaciones AL, a la relacin R para definir una nueva relacin sobre la lista de agregacin. AL contiene una o mas parejas: (,)
La denotaremos como AL(R) Las funciones de agregacin son: COUNT: Cuenta SUM: Suma AVG: Promedio MIN: Valor mnimo MAX: Valor mximo
48 Connolly, 2005
-
Ejemplo de Agregacin: Cuantos inmuebles tienen un valor de alquiler superior a 350 por mes?
R(myCount) COUNT propertyNo (rent > 350 (PropertyForRent))
49 Connolly, 2005
Operaciones de Agregacin
-
Ejemplo de Agregacin: Encontrar el valor mnimo, valor mximo y valor promedio del salario de los empleados
R(myMin, myMax, myAverage) min salary, max
salary, avg salary,(PropertyForRent)
50 Connolly, 2005
Operaciones de Agregacin
-
Agenda
Algebra Relacional Operaciones Unarias
Operaciones de Conjuntos
Operaciones de Combinacin (Join)
Operacin de Divisin
Operaciones de Agregacin
Operaciones de Agrupacin
51
-
Operaciones de Agrupacin
Agrupacin: Aplica sobre las tuplas de la relacin R, segn los atributos de agrupacin GA, y luego aplica la lista de funciones de agregacin AL; para definir una nueva relacin. AL contiene una o mas parejas: (,). La relacin resultante contiene los atributos de agrupacin GA, junto con los resultados de las funciones de agregacin
La denotaremos como GAAL(R)
52 Connolly, 2005
-
Ejemplo de Agregacin: Calcular el nmero de empleados que trabajan en cada sucursal y el valor de la suma de sus salarios
R(branchNo, myCount, mySum) branchNo COUNT staffNo, SUM salary (Staff)
53 Connolly, 2005
Operaciones de Agregacin
-
Agenda
Algebra Relacional Operaciones Unarias
Operaciones de Conjuntos
Operaciones de Combinacin (Join)
Operacin de Divisin
Operaciones de Agregacin
Operaciones de Agrupacin
54
-
GRACIAS
55