SlideShare una empresa de Scribd logo
1 de 10
Álgebra Relacional
Capitulo 6
Objetivos
• Definición de Tupla
• Álgebra Relacional
• Proyección
• Selección
• Operaciones entre tablas(relaciones)
-Unión
-Diferencia
-Producto Cruz
-Intersección
-Join
-División
Funciones de agregación
• Funciones que toman una colección de valores y
devuelven como resultado un único valor.
• Por ejemplo: la función de agregación sum toma
un conjunto de valores y devuelve la suma de los
mismos.
edad
1
1
3
4
4
11
Sum
Avg
Count
Min
Max
A
La función de agregación avg devuelve la media de los
valores. Cuando se aplica al conjunto anterior devuelve el
valor 4.
Por tanto, la función sum aplicada a la columna edad de la
instancia A devuelve 24.
La función de agregación count devuelve el número de
elementos del conjunto, y devolvería 6 en el caso
anterior.
La función de agregación min devuelve 1.
La función de agregación max devuelve 11.
• Si se desea obtener la suma de los ratings de
los marineros:
Gsum(rating)Marineros mid mnombre rating edad
22 dustin 7 45.0
31 lubber 8 55.5
58 rusty 10 35.0
Marineros
La operación del álgebra relacional G significa
que se debe aplicar agregación, y el
subíndice indica la operación de agregación a
aplicar.
El resultado de la
expresión anterior es una relación con un único atributo, que contiene una sola
fila con un valor correspondiente a la suma de los ratings de los marineros.
Sum(rating)
25
Distinct
Hay casos en los que se deben borrar los valores
repetidos antes de calcular una función de
agregación.
Si se desean borrar los valores repetidos hay que
utilizar los mismos nombres de funciones que
antes, con la cadena de texto «distinct» añadida
al final del nombre de la función(por ejemplo,
count distinct).
edad
1
1
3
4
4
11
A
COUNT ( [DISTINCT] A)
SUM ( [DISTINCT] A)
AVG ( [DISTINCT] A)
MAX (A)
MIN (A)
• Si se quiere averiguar el
número de sucursales que
aparecen en la instancia
trabajo-por-horas:
Gcount(nombre-sucursal) trabajo-por-horas
Retorna 8, cuando en realidad
sólo hay 3 sucursales.
trabajo-por-horas
Gcount distinct(nombre-sucursal) (trabajo-por-horas)
• En este caso, el nombre de cada sucursal sólo
se cuenta una vez, independientemente del
número de empleados que trabajen en la
misma.
mid mnombre rating edad
22 dustin 7 45.0
31 lubber 8 55.5
58 rusty 10 35.0
bid bnombre color
101 Interlake Azul
102 Interlake Rojo
103 Clipper Verde
104 Marine Rojo
mid bid fecha
22 101 10/10/96
58 103 11/12/96
Reserva
Marineros
Botes
Quiero saber cuántos marineros hay.
Quiero saber la edad del marinero más joven
con rating mayor a 7.
Quiero saber la edad promedio de los
marineros con rating=10.
Gcount(mid) (Marineros)
Gavg(edad)
)(
10
Marineros
rating
Gmin(edad)
)(
7
Marineros
rating
• Si se desea hallar la suma total de
sueldos de todos los empleados en
cada sucursal del banco por
separado, en lugar de hallar la suma
de sueldos de todo el banco.
• Para ello hay que dividir la instancia
trabajo-por- horas en grupos basados
en la sucursal y aplicar la función de
agregación a cada grupo.
trabajo-por-horas
La expresión siguiente obtiene el resultado deseado utilizando
el operador de agregación G:
nombre-sucursalGsum(sueldo) (trabajo-por-horas)
Nombre-sucursal sum(sueldo)
Centro 5300
Leganés 3100
Navacerrada 8100
El atributo nombre-sucursal subíndice a la
izquierda de G indica que la relación
de entrada trabajo-por-horas debe dividirse en
grupos de acuerdo con el valor de
nombre-sucursal.
• Si deseo averiguar el sueldo máximo de los
empleados de cada oficina, además de la
suma de los sueldos, habría que escribir la
expresión:
nombre-sucursalGsum(sueldo) , max(sueldo) (trabajo-por-horas)
trabajo-por-horas
mid mnombre rating edad
22 dustin 7 45.0
31 lubber 8 55.5
58 rusty 10 35.0
bid bnombre color
101 Interlake Azul
102 Interlake Rojo
103 Clipper Verde
104 Marine Rojo
mid bid fecha
22 101 10/10/96
58 103 11/12/96
Reserva
Marineros
Botes
Encontrar la edad del marinero más joven
para cada nivel de rating.
Para cada rating encuentre la edad
promedio de los marineros mayores a 18
años.
ratingGmin(edad) (Marineros)
ratingGavg(edad)
)(
18
Marineros
edad

Más contenido relacionado

Destacado (20)

Indice
IndiceIndice
Indice
 
4 ml
4 ml4 ml
4 ml
 
5 n
5 n5 n
5 n
 
Tema 5 ejercicio 04 - normalizacion
Tema 5   ejercicio 04 - normalizacionTema 5   ejercicio 04 - normalizacion
Tema 5 ejercicio 04 - normalizacion
 
7 ar
7 ar7 ar
7 ar
 
Sql4
Sql4Sql4
Sql4
 
File
FileFile
File
 
Tema 5 ejercicio 01 - normalizacion
Tema 5   ejercicio 01 - normalizacionTema 5   ejercicio 01 - normalizacion
Tema 5 ejercicio 01 - normalizacion
 
1 intro
1 intro1 intro
1 intro
 
6 n2
6 n26 n2
6 n2
 
Foro 3
Foro 3Foro 3
Foro 3
 
5. ejercicios normalización
5. ejercicios normalización5. ejercicios normalización
5. ejercicios normalización
 
Tema 5 ejercicio 06 - normalizacion
Tema 5   ejercicio 06 - normalizacionTema 5   ejercicio 06 - normalizacion
Tema 5 ejercicio 06 - normalizacion
 
Recomendacion base teorica
Recomendacion base teoricaRecomendacion base teorica
Recomendacion base teorica
 
Normalización de Bases de Datos (Hasta Boyce-Codd)
Normalización de Bases de Datos (Hasta Boyce-Codd)Normalización de Bases de Datos (Hasta Boyce-Codd)
Normalización de Bases de Datos (Hasta Boyce-Codd)
 
Formas normales
Formas normalesFormas normales
Formas normales
 
2 mc
2 mc2 mc
2 mc
 
Formas Normales
Formas NormalesFormas Normales
Formas Normales
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
 

Similar a 8 ar2

2 cuadernillo recuperación 1º de eso 1516
2 cuadernillo recuperación 1º de eso 15162 cuadernillo recuperación 1º de eso 1516
2 cuadernillo recuperación 1º de eso 1516mgarmon965
 
Modelo de b. bryton (1)
Modelo de b. bryton (1)Modelo de b. bryton (1)
Modelo de b. bryton (1)mirsaGarcia
 
Estructuras reptitivas y ciclos
Estructuras reptitivas y ciclosEstructuras reptitivas y ciclos
Estructuras reptitivas y cicloslincolnschoolgdl
 
molienda de minerales.pdf
molienda de minerales.pdfmolienda de minerales.pdf
molienda de minerales.pdfmacsal12345
 
Diseño del eje del nivelador tuman
Diseño del eje del nivelador tumanDiseño del eje del nivelador tuman
Diseño del eje del nivelador tumanmichel burga lopez
 
Daniel garzon nivelacion
Daniel  garzon nivelacionDaniel  garzon nivelacion
Daniel garzon nivelacionjosnic
 
Daniel garzon nivelacion
Daniel  garzon nivelacionDaniel  garzon nivelacion
Daniel garzon nivelacionjosnic
 
Daniel garzon nivelacion
Daniel  garzon nivelacionDaniel  garzon nivelacion
Daniel garzon nivelacionjosnic
 
Daniel garzon nivelacion
Daniel  garzon nivelacionDaniel  garzon nivelacion
Daniel garzon nivelacionjosnic
 
Decision Trees - Example 3
Decision Trees - Example 3Decision Trees - Example 3
Decision Trees - Example 3Edgar Mata
 
Operaciones con fracciones
Operaciones  con fraccionesOperaciones  con fracciones
Operaciones con fraccionesGran Pachacutec
 
Operaciones con fracciones
Operaciones  con fraccionesOperaciones  con fracciones
Operaciones con fraccionessthefano015
 
CapíTulo 7 Principio De Bloqueo
CapíTulo 7 Principio De BloqueoCapíTulo 7 Principio De Bloqueo
CapíTulo 7 Principio De BloqueoRosa E Padilla
 

Similar a 8 ar2 (15)

Tarea 1.1
Tarea 1.1Tarea 1.1
Tarea 1.1
 
2 cuadernillo recuperación 1º de eso 1516
2 cuadernillo recuperación 1º de eso 15162 cuadernillo recuperación 1º de eso 1516
2 cuadernillo recuperación 1º de eso 1516
 
Tema 7 y 8. fracciones y operaciones
Tema 7 y  8. fracciones y operacionesTema 7 y  8. fracciones y operaciones
Tema 7 y 8. fracciones y operaciones
 
Modelo de b. bryton (1)
Modelo de b. bryton (1)Modelo de b. bryton (1)
Modelo de b. bryton (1)
 
Estructuras reptitivas y ciclos
Estructuras reptitivas y ciclosEstructuras reptitivas y ciclos
Estructuras reptitivas y ciclos
 
molienda de minerales.pdf
molienda de minerales.pdfmolienda de minerales.pdf
molienda de minerales.pdf
 
Diseño del eje del nivelador tuman
Diseño del eje del nivelador tumanDiseño del eje del nivelador tuman
Diseño del eje del nivelador tuman
 
Daniel garzon nivelacion
Daniel  garzon nivelacionDaniel  garzon nivelacion
Daniel garzon nivelacion
 
Daniel garzon nivelacion
Daniel  garzon nivelacionDaniel  garzon nivelacion
Daniel garzon nivelacion
 
Daniel garzon nivelacion
Daniel  garzon nivelacionDaniel  garzon nivelacion
Daniel garzon nivelacion
 
Daniel garzon nivelacion
Daniel  garzon nivelacionDaniel  garzon nivelacion
Daniel garzon nivelacion
 
Decision Trees - Example 3
Decision Trees - Example 3Decision Trees - Example 3
Decision Trees - Example 3
 
Operaciones con fracciones
Operaciones  con fraccionesOperaciones  con fracciones
Operaciones con fracciones
 
Operaciones con fracciones
Operaciones  con fraccionesOperaciones  con fracciones
Operaciones con fracciones
 
CapíTulo 7 Principio De Bloqueo
CapíTulo 7 Principio De BloqueoCapíTulo 7 Principio De Bloqueo
CapíTulo 7 Principio De Bloqueo
 

8 ar2

  • 2. Objetivos • Definición de Tupla • Álgebra Relacional • Proyección • Selección • Operaciones entre tablas(relaciones) -Unión -Diferencia -Producto Cruz -Intersección -Join -División
  • 3. Funciones de agregación • Funciones que toman una colección de valores y devuelven como resultado un único valor. • Por ejemplo: la función de agregación sum toma un conjunto de valores y devuelve la suma de los mismos. edad 1 1 3 4 4 11 Sum Avg Count Min Max A La función de agregación avg devuelve la media de los valores. Cuando se aplica al conjunto anterior devuelve el valor 4. Por tanto, la función sum aplicada a la columna edad de la instancia A devuelve 24. La función de agregación count devuelve el número de elementos del conjunto, y devolvería 6 en el caso anterior. La función de agregación min devuelve 1. La función de agregación max devuelve 11.
  • 4. • Si se desea obtener la suma de los ratings de los marineros: Gsum(rating)Marineros mid mnombre rating edad 22 dustin 7 45.0 31 lubber 8 55.5 58 rusty 10 35.0 Marineros La operación del álgebra relacional G significa que se debe aplicar agregación, y el subíndice indica la operación de agregación a aplicar. El resultado de la expresión anterior es una relación con un único atributo, que contiene una sola fila con un valor correspondiente a la suma de los ratings de los marineros. Sum(rating) 25
  • 5. Distinct Hay casos en los que se deben borrar los valores repetidos antes de calcular una función de agregación. Si se desean borrar los valores repetidos hay que utilizar los mismos nombres de funciones que antes, con la cadena de texto «distinct» añadida al final del nombre de la función(por ejemplo, count distinct). edad 1 1 3 4 4 11 A COUNT ( [DISTINCT] A) SUM ( [DISTINCT] A) AVG ( [DISTINCT] A) MAX (A) MIN (A)
  • 6. • Si se quiere averiguar el número de sucursales que aparecen en la instancia trabajo-por-horas: Gcount(nombre-sucursal) trabajo-por-horas Retorna 8, cuando en realidad sólo hay 3 sucursales. trabajo-por-horas Gcount distinct(nombre-sucursal) (trabajo-por-horas) • En este caso, el nombre de cada sucursal sólo se cuenta una vez, independientemente del número de empleados que trabajen en la misma.
  • 7. mid mnombre rating edad 22 dustin 7 45.0 31 lubber 8 55.5 58 rusty 10 35.0 bid bnombre color 101 Interlake Azul 102 Interlake Rojo 103 Clipper Verde 104 Marine Rojo mid bid fecha 22 101 10/10/96 58 103 11/12/96 Reserva Marineros Botes Quiero saber cuántos marineros hay. Quiero saber la edad del marinero más joven con rating mayor a 7. Quiero saber la edad promedio de los marineros con rating=10. Gcount(mid) (Marineros) Gavg(edad) )( 10 Marineros rating Gmin(edad) )( 7 Marineros rating
  • 8. • Si se desea hallar la suma total de sueldos de todos los empleados en cada sucursal del banco por separado, en lugar de hallar la suma de sueldos de todo el banco. • Para ello hay que dividir la instancia trabajo-por- horas en grupos basados en la sucursal y aplicar la función de agregación a cada grupo. trabajo-por-horas La expresión siguiente obtiene el resultado deseado utilizando el operador de agregación G: nombre-sucursalGsum(sueldo) (trabajo-por-horas) Nombre-sucursal sum(sueldo) Centro 5300 Leganés 3100 Navacerrada 8100 El atributo nombre-sucursal subíndice a la izquierda de G indica que la relación de entrada trabajo-por-horas debe dividirse en grupos de acuerdo con el valor de nombre-sucursal.
  • 9. • Si deseo averiguar el sueldo máximo de los empleados de cada oficina, además de la suma de los sueldos, habría que escribir la expresión: nombre-sucursalGsum(sueldo) , max(sueldo) (trabajo-por-horas) trabajo-por-horas
  • 10. mid mnombre rating edad 22 dustin 7 45.0 31 lubber 8 55.5 58 rusty 10 35.0 bid bnombre color 101 Interlake Azul 102 Interlake Rojo 103 Clipper Verde 104 Marine Rojo mid bid fecha 22 101 10/10/96 58 103 11/12/96 Reserva Marineros Botes Encontrar la edad del marinero más joven para cada nivel de rating. Para cada rating encuentre la edad promedio de los marineros mayores a 18 años. ratingGmin(edad) (Marineros) ratingGavg(edad) )( 18 Marineros edad

Notas del editor

  1. La expresión sum(sueldo) en el subíndice derecho de G indica que, para cadagrupo de tuplas (es decir, para cada sucursal) hay que aplicar la función deagregación sum al conjunto de valores del atributo sueldo. La relación resultanteconsiste en las tuplas con el nombre de la sucursal y la suma de los sueldos de lasucursal, como se muestra en la figura.