Tema 3.c. - Álgebra Relacional y SQL PDF
August 19, 2022 | Author: Anonymous | Category: N/A
Short Description
Download Tema 3.c. - Álgebra Relacional y SQL PDF...
Description
Objetivos Conocer
qué es y qué posibilidades debe ofrecer un lenguaje relacionalmente completo.
Conocer
Tema 3: El modelo relacional (IG18)
Saber
Algebra Relacional Relacional y SQL
realizar consultas utilizando el Álgebra relacional.
Conocer
http://www.unoweb-s.uji.es/IG18
los operadores del Algebra relacional.
las opciones que ofrece SQL equivalentes a las del
Álgebra. Miguel Pérez Francisco
Saber
utilizar las sentecias de SQL para hacer consultas en un SGBDR.
Tema 3: El modelo relacional (IG18) – 3
2. Opera Operadores dores del Álgebra Álgebra Relacio Relacional nal
Bibliografía
Índice 1. Intr Introducci oducción ón
5
8
2.1. Asigna Asignación ción . . . . . . . . . . . . . . . . . . . . . . . . .
10
2.2. Restricc Restricción ión . . . . . . . . . . . . . . . . . . . . . . . . .
11
2.3. Proy Proyección ección . . . . . . . . . . . . . . . . . . . . . . . . .
13
2.4. Unión 2.4. Unión . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5. Dife Diferencia rencia . . . . . . . . . . . . . . . . . . . . . . . . . .
16 19
2.6. Produc Producto to cartesiano . . . . . . . . . . . . . . . . . . . .
22
2.7. Combin Combinación ación natur natural al . . . . . . . . . . . . . . . . . . . .
26
2.8. Otras combin combinacione aciones s . . . . . . . . . . . . . . . . . . . .
30
2.9. Inters Intersección ección . . . . . . . . . . . . . . . . . . . . . . . . 2.10.División . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10.División
36 39
M.
Celma, J.C. Casamayor, L. Mota “Bases de datos relacionales”.
Ed. Pentice Hall. R. Elmasri i
S. B. Navathe. Navathe. “Fundamentals “Fundamentals of Databa Database se Systems”. 2
edición, Addison-Wesley Ed. [QA76.9.D3 E57 1994]. C. J. Date. “An Introduction Introduction to Database Systems” Systems” (vol. 1). 6a
edición, Addison-Wesley Ed. 1995. [QA76.9.D3 D38 1995]. T.
Connolly, C. Begg, A. Strachan. “Database Systems”.
Addison-Wesley Ed. 1997. [QA76.9.D26 C66].
Tema 3: El modelo relacional (IG18) – 4
1 In Intr trod oduc ucci ción ón (II (II))
Intr trod oduc ucci ción ón 1 In El modelo relac relacional, ional, lleva lleva asocia asociado do a su parte par te estática (estructura (estructura y
El Álgebra relacional y cálculo relacional constituyen la base de los
restricciones) una dinámica que permite la transformación entre estados
lenguajes relacionales (Codd). Ambos (Codd). Ambos lenguajes son equivalentes. equivalentes. AVISO:: son lenguajes formales no muy “amigables”, pero se deben AVISO estudiar porque sirven para comprender las operaciones básicas de los lenguajes de manejo de datos.
de la base de datos. inserción borrado
de tuplas
de tuplas
Un lenguaje es relacionalmente es relacionalmente completo si completo si permite obtener cualquier relación que se pueda derivar mediante el álgebra relacional (o el cálculo relacional).
modificación de tuplas consultas Los lenguajes relacionales operan sobre conjuntos de tuplas, es decir, no son lenguajes navegacio navegacionales nales (que manipulan manipulan registros) registros) sino de especificación. Se dividen en dos tipos: Tema 3: El modelo relacional (IG18) – 5
Tema 3: El modelo relacional (IG18) – 7
2 Ope Opera rador dores es del Álg Álgebr ebraa Rela Relacio cional nal
1 In Intr trod oduc ucci ción ón Algebraicos: los cambios cambios de estado se especific especifican an median mediante te
operaciones, cuyos operandos son relaciones y cuyo resultado es otra relación. Genéricamente se conocen como álgebra relacional (procedural procedural). ). Predicativos: los cambios cambios de estado estado se especifican especifican media mediante nte
predicados que definen el estado objetivo predicados objetivo sin indicar indicar las operaciones que hay que realizar para llegar al mismo.
En Álgebra relacional (en adelante Álgebra) la dinámica la constituyen una colección de operadores de alto nivel que, aplicados a las relaciones, dan como resultado nuevas relaciones. Si R1, R2, R2, . . . , Rj y R’son R’son relac relacion iones es y Op un operador del Álgebra, una operación consiste en aplicar Op a la relació relaciónn o relacio relaciones nes R1, R1, R2, . . . , Rj que da como resultado la relación R’:
Genéricament Genéri camente e se conoce conocen n como cálculo relacional (no (no procedural). procedural).
Tema 3: El modelo relacional (IG18) – 6
SQL es relacionalmente completo, de hecho, se diseño basándose en el SQL es álgebra y el cálculo relacional.
Op(R Op (R1, 1, R2 R2, , .. ..., ., Rj) = R’
Tema 3: El modelo relacional (IG18) – 8
2 Ope Opera rador dores es del Álg Álgebr ebraa Rel Relaci aciona onall
2.2 2. 2 Re Rest stric ricció ción n
El Álgebra cumple la propiedad de cierre, ya que el resultado de una
Restricción (selección): (selección): R WHERE predicado
operación es otra operación otra relación. relación. Si Op1, Op2, Op2, . . . , Opn son operadores operadores del del Álgebra, se cumple:
Obtiene las tuplas de R de R que que cumplen el predicado el predicado especificad especificado o . Este predicado es es una comparación en la que aparece al menos un atributo de R de R ;; puede ser una combinación combinación boolea booleana na de vario varios s predi predicados cados..
Opn( Opn ( ... ...(Op (Op2(O 2(Op1( p1(R)) R)))) )) = R’
Piezas rojas con peso mayor de 15: P WHERE COLOR = ’rojo’ AND PESO >15
Tema 3: El modelo relacional (IG18) – 9
2.1 2. 1 As Asig igna nació ción n
pnum
PNOMBRE
COLOR
PESO
CIUDAD
P2
perno
rojo
17
Londres
P6
e ngrane en
rojo
19
París
Tema 3: El modelo relacional (IG18) – 11
2.2 2. 2 Re Rest stric ricció ción n
Asignación:: Operación auxiliar que se utiliza para almacenar resultados Asignación
SQL: Restricción
en una nue nueva va relación o para resultados resultados intermedios cuando se desea dividirr una operación compleja dividi compleja en una secuencia de opera operaciones ciones más
SELECT SELE CT * FROM tabl tabla a WHERE predica predicado do
simples.
Piezas rojas con peso mayor de 15:
NR = Op Op(R (R) )
SELECT SELE CT *
Permite copiar una relación en otra nueva (siendo el operador Op la identidad):
FROM FR OM p WHERE WHE RE co color lor = ’r ’roj ojo’ o’ AND AN D pe peso so > 15 15; ;
NR = R
O renombrar los atributos de la relación original: NR(A NR (A1, 1,A2 A2, , .. ..., ., An An) ) = R Tema 3: El modelo relacional (IG18) – 10
Tema 3: El modelo relacional (IG18) – 12
2.3 Pro Proye yecció cción n
Proye yecci cción ón 2.3 Pro
SQL:
Proyección:: R [ai, ..., ak] Proyección
Proyección SELECT SELEC T ai ai, , .. ..., ., ak FROM tabl tabla; a;
Obtiene una relaci Obtiene relación ón que contie contiene ne un subcon subconjunto junto vertical de R , extra ext rayend yendo o los valo valores res de los atributos atributos especificados especificados y eliminando tuplas duplicadas.. duplicadas
Proveedores y piezas que envían: SELECT snum,pnu snum,pnum m FROM FRO M sp;
Ciudades en las que se almacena alguna pieza: SELECT ciudad FROM FRO M p;
Tema 3: El modelo relacional (IG18) – 13
2.3 Pro Proye yecci cción ón Proveedores y piezas que envían: SP[snum,pnum]
2.4 2. 4 Un Unió ión n Ciudades en las que se almacena
Unión:: R UNION S Unión
alguna pieza:
Obtiene una relación cuyas tuplas son las que se encuentran en P[CIUDAD]
snum
pnum
S1
P1
CIUDAD
S1
P2
París
S1
P3
Roma
S1
P4
Londres
S1
P5
R ,
o en
S , o en ambas relaciones a la vez. Para poder realizar esta operación, R
y S deben deben ser compatibles para la unión. Dos relaciones son compatibles son compatibles para la unión si unión si ambas tienen el mismo el mismo esquema de tupla, tupla, es decir, si tienen el mismo número de atributos, se llaman igual igual y se encuentran encuentran definidos sobre los mismos dominios dominios.. Ciudades Ciudad es en las que hay proveedore proveedores s o se almacenan piezas:
...
Tema 3: El modelo relacional (IG18) – 14
¿Son equivalentes estas sentencias a las del Algebra? Tema 3: El modelo relacional (IG18) – 15
Tema 3: El modelo relacional (IG18) – 16
2.5 2. 5 Di Differe erenc ncia ia
2.4 4 Un Unió ión n 2. CIUDAD S[CIUDAD]
Londres París
P[CIUDAD]
Atenas
CIUDAD
Diferencia:: R MINUS S Diferencia
París Roma
Obtiene una relación que tiene las tuplas que se encuentran en R y no se encuentran en S. Para poder realizar esta operación, R y S deben ser
Londres
compatibles para la unión. Ciudades en las que hay proveedores y no se almacenan piezas:
S[CIUDAD] UNION P[CIUDAD]
S[CIUDAD]
P[CIUDAD]
CIUDAD París
CIUDAD
CIUDAD
Londres
París
Londres
París
Roma
Roma
Atenas
Londres
Atenas
Tema 3: El modelo relacional (IG18) – 17
2.4 2. 4 Uni nión ón
Tema 3: El modelo relacional (IG18) – 19
2.5 2. 5 Di Differe erenc ncia ia
SQL:
Ciudades en las que hay proveedores y no se almacenan piezas: Unión SELEC SE LECT T ai, ..., ak
S[CIUDAD] MINUS P[CIUDAD]
FROM FRO M tabl tabla1 a1 UNION
CIUDAD
SELEC SE LECT T ai, ..., ak
Atenas
FROM FRO M tabl tabla2 a2
Ciudades en las que se almacenan piezas y no hay proveedores: Ciudades en las que hay proveedores o se almacenan piezas:
P[CIUDAD] MINUS S[CIUDAD]
SELECT ciudad FROM FR OM s
CIUDAD
UNION SELECT ciudad
Roma
FROM FR OM p
Tema 3: El modelo relacional (IG18) – 18
Tema 3: El modelo relacional (IG18) – 20
2.5 5 Di Differ eren encia cia 2.
2.6 Pro Produc ducto to carte cartesia siano no
SQL:
S TIMES (SP WHERE pnum=’P1’) S.snum S1
SNOMBRE Salazar
ESTADO 20
CIUDAD Londres
SP.snum S1
pnum P1
CANT 300
S2
Jaimes
10
París
S1
P1
300
S3
Bernal
30
París
S1
P1
300
S4
Corona
20
Londres
S1
P1
300
S5
Aldana
30
Atenas
S1 S1
P1
300
S1
Salazar
20
Londres
S2
P1
300
S2
Jaimes
10
París
S2
P1
300
S3
Bernal
30
París
S2
P1
300
SELECT ciudad
S4
Corona
20
Londres
S2
P1
300
FROM FR OM p
S5
Aldana
30
Atenas
S2 S2
P1
300
SELECT SELEC T ai, ..., ak FROM FRO M tabl tabla1 a1 EXCEPT SELEC SE LECT T ai, ..., ak FROM FRO M tabl tabla2 a2
Ciudades en las que hay proveedores y no se almacenan piezas: SELECT ciudad FROM FR OM s EXCEPT
Tema 3: El modelo relacional (IG18) – 21
2.6 Pro Produc ducto to cartes cartesian iano o
¿era esto lo que queríamos?
Tema 3: El modelo relacional (IG18) – 23
2.6 Pro Produc ducto to carte cartesia siano no
Producto cartesiano: cartesiano: R TIMES S
(S TIMES (SP WHERE pnum=’P1’)) WHERE S.snum=SP.snum
El producto cartesiano de dos relaciones R y S , de cardinalidades m1 y
S.snum
SNOMBRE
ESTADO
CIUDAD
SP.snum
pnum
CANT
respectivamente respectiv amente,, es una relación definida sobre la unión de los atributos de ambas
S1
Salazar
20
Londres
S1
P1
300
relaciones y cuyo cuerpo está constituido por las m1 x
S2
Jaimes
10
París
S2
P1
300
m2
m2
tuplas formadas
concatenando cada tupla de R con con cada una de las tuplas de S . Ahora nos quedamos sólo con los atributos buscados
Datos de los proveedores que envían la pieza P1 y cantidad que envían: ((S TIMES (SP WHERE pnum=’P1’)) WHERE
SP WHERE pnum=’P1’
Tema 3: El modelo relacional (IG18) – 22
S.snum=SP.snum)[S.snum,SNOMBRE,ESTADO,CIUDAD,CANT]
snum
pnum
CANT
S.snum
SNOMBRE
ESTADO
CIUDAD
CANT
S1
P1
300
S1
Salazar
20
Londres
300
S2
P1
300
S2
Jaimes
10
París
300
Tema 3: El modelo relacional (IG18) – 24
2.7 Com Combin binaci ación ón nat natura urall
Produc ducto to carte cartesia siano no 2.6 Pro SQL:
S JOIN (SP WHERE pnum=’P1’) Producto Cartesia Cartesiano no SELECT SEL ECT t.ai t.ai, , ... ..., , t.ak t.ak, , u.bj, ...,u.b ...,u.bl l FROM FR OM ta tabla bla1 1 t, tab tabla la2 2 u
Datos de los proveedores que envían la pieza P1 y cantidad que envían:
snum S1
SNOMBRE Salazar
ESTADOS 20
CIUDAD Londres
pnum P1
CANT 300
S2
Jaimes
10
París
P1
300
Mediante una proyección podemos quedarnos solamente con los atributos atribu tos que nos interesan:
SELECT s.snum,s s.snum,s.snombre .snombre,s.estad ,s.estado, o, s.ciudad,sp.cant
(S JOIN (SP WHERE pnum=’P1’)) [snum,SNOMBRE,EST [snum,SNOMBRE,ESTADO,CIUD ADO,CIUDAD,CA AD,CANT] NT]
FROM FRO M s,sp WHERE s.snum=s s.snum=sp.snum p.snum AND sp.pnum sp.pnum=’P1’ =’P1’
Tema 3: El modelo relacional (IG18) – 25
2.7 Com Combin binaci ación ón nat natura urall
snum
SNOMBRE
ESTADO
CIUDAD
S1
Salazar
20
Londres
300 30
S2
Jaimes
10
París
300
Tema 3: El modelo relacional (IG18) – 27
CANT
2.7 Com Combin binaci ación ón nat natura urall
Combinación natural (concatenación o join): join): R JOIN S
Nótese que esta expresión obtiene el mismo resultado que la expresión:
Obtiene una relación cuyas tuplas son todas las tuplas de R
((S TIMES (SP WHERE pnum=’P1’)) WHERE S.snum=SP.snum)
concatenadas concat enadas con todas las tuplas de S que en los atributos comunes (los que se llaman igual) igual) tienen los mismos valores. Estos atributos
[S.snum,SNOMBRE,ESTADO,CIUDAD,CANT]
Porque la Combinación la Combinación natural es natural es un un producto cartesiano
comunes aparecen una sola vez en el resultado. R1 = (S TIMES (SP WHERE pnum=’P1’))
Datos de los proveedores que envían la pieza P1 y cantidad que envían:
una restricción de restricción de igualdad sobre los atributos comunes.
SP WHERE pnum=’P1’ R2 = R1 WHERE S.snum=SP.snum
Tema 3: El modelo relacional (IG18) – 26
snum
pnum
CANT
S1
P1
300
S2
P1
300
y una proyección eliminand proyección eliminando o (uno de) los atributos repetidos repetidos
RDO = R2[S.snum,SNOMBRE,EST R2[S.snum,SNOMBRE,ESTADO,CIUD ADO,CIUDAD AD,CANT] ,CANT]
Tema 3: El modelo relacional (IG18) – 28
Combin binaci ación ón nat natura urall 2.7 Com
2.8 Otr Otras as com combin binacio aciones nes
SQL:
Combinación natural externa derecha: derecha: R(+) JOIN S Concatenación Concaten ación natural SELECT * SELECT FROM FRO M tabl tabla1 a1 NATU NATURAL RAL JOIN tabla2
La Combinación natural externa derecha es una Combinación natural en la que las tuplas de S que que no tienen valores en común con ninguna tupla de R , también aparecen en el resultado.
Datos de los proveedores que envían la pieza P1 y cantidad que envían:
SQL:
SELECT s.snum,s s.snum,snombre,e nombre,estado, stado,
Concatenación Concaten ación natural externa derecha
ciudad,cant SELECT SELE CT * FROM sp NA FROM NATU TURAL RAL JOIN s WHERE pnum=’P1 pnum=’P1’; ’;
FROM tabla1 NATURAL NATURAL RIGH RIGHT T OUTE OUTER R JOIN tabla2 Concatenación Concate nación externa derecha SELECT SELE CT * FROM tabla1 tabla1 RIG RIGHT HT OUTE OUTER R JOIN tabla2 ON tabla1. tabla1.ai=tabla ai=tabla2.bj 2.bj
Tema 3: El modelo relacional (IG18) – 29
2.8 Otr Otras as com combin binaci acione ones s
Tema 3: El modelo relacional (IG18) – 31
2.8 Otr Otras as com combin binacio aciones nes
Combinación natural externa izquierda: izquierda: R JOIN S(+)
Combinación natural externa completa: completa: R(+) JOIN S (+)
La Combinación natural externa izquierda es una Combinación natural en la que las
La Combinación natural externa completa es una Combinación natural en la que las
tuplas de R que no tienen valores en común con ninguna tupla de S , también aparecen
tuplas de S que que no tienen valores en común con ninguna tupla de R y las tuplas de R
en el resultado.
que no tienen valores en común con ninguna tupla de S , también aparecen en el resultado.
SQL: Concatenación Concaten ación natural externa izquierda SELECT SELE CT *
SQL:
FROM tabla1 NATURAL NATURAL LEFT OUTER JOIN tab tabla2 la2
Concatenación Concaten ación natural externa completa SELECT SELE CT * FROM tabla1 NATURAL NATURAL FULL OUTER JOIN tabla2
Concatenación Concaten ación externa izquierd izquierda a SELECT SELE CT *
Concatenación Concaten ación externa completa
FROM tabla1 LEFT OUTE OUTER R JOI JOIN N tab tabla2 la2
SELECT SELE CT *
ON tabla1.a tabla1.ai=tabla i=tabla2.bj 2.bj
FROM tabla1 tabla1 FUL FULL L OUT OUTER ER JOIN tabla2 tabla2 ON tabla1. tabla1.ai=tabla ai=tabla2.bj 2.bj
Tema 3: El modelo relacional (IG18) – 30
Tema 3: El modelo relacional (IG18) – 32
Otras as com combin binaci acione ones s 2.8 Otr
2.8 Otr Otras as com combin binacio aciones nes
Datos de todos los proveedores con las piezas que envían:
SQL: Datos de todos los proveedores con las piezas que envían:
S JOIN SP(+) snum
SNOMBRE
ESTADO
CIUDAD
pnum
CANT
SELECT SEL ECT *
S1
Salazar
20
Londres
P1
300
FROM FR OM s NAT NATUR URAL AL LEF LEFT T OUT OUTER ER JO JOIN IN sp sp; ;
S1
Salazar
20
Londres
P2
200
S1
Salazar
20
Londres
P3
400
S1
Salazar
20
Londres
P4
200
S1
Salazar
20
Londres
P5
100
S1
Salazar
20
Londres
P6
100
S2
Jaimes
10
París
P1
300
S2
Jaimes
10
París
P2
400
S3
Bernal
30
París
P2
200
S4
Corona
20
Londres
P2 P2
200
S4
Corona
20
Londres
P4 P4
300
S4
Corona
20
Londres
P5 P5
400
S5
Aldana
30
Atenas
NULL
NULL NU
Tema 3: El modelo relacional (IG18) – 33
Parejas de piezas azules y proveedores de la misma ciudad. Las piezas y proveedores que queden desparejados también se deben obtener: SELECT SEL ECT * FROM FR OM s NAT NATUR URAL AL FUL FULL L OUT OUTER ER JO JOIN IN p WHERE p.color= p.color=’azul’ ’azul’
2.8 Otr Otras as com combin binaci acione ones s
Tema 3: El modelo relacional (IG18) – 35
2.9 Int Inters ersecc ección ión
Parejas de piezas azules y proveedores de la misma ciudad. Las piezas
Intersección:: R INTERSECT S Intersección
y prov proveedore eedores s que queden desparejados desparejados tambié también n se deben obtene obtener: r:
Obtiene una relación que contiene las tuplas de R que también se encuentran en S . Para poder realizar esta operación, R y S deben ser
(P WHERE COLOR=’azul’)
compatibles para la unión.
(P WHERE COLOR=’azul’)( COLOR=’azul’)(+) +) JOIN S(+)
R INTERSECT S obtiene obtiene el mismo resultado que R MINUS (R MINUS
pnum
PNOMBRE
COLOR
PESO
CIUDAD
snum
SNOMBRE
ESTADO
P3 P5
birlo leva
Azul Azul
17 12
Roma París
NULL S2
NULL Jaimes
NULL 10
S)
P5
leva
Azul
12
París
S3
Bernal
30
Ciudades Ciudad es en las que hay proveedore proveedores s y se almacenan piezas:
NULL
NULL NU
NULL
NULL
Londres
S1 S1
Salazar
20
NULL
NULL
NULL
NULL
L ondres Lo
S4 S4
Corona
20
NULL
NULL
NULL
NULL
A tenas At
S5
Aldana
30
Tema 3: El modelo relacional (IG18) – 34
Tema 3: El modelo relacional (IG18) – 36
2.10 2. 10 Di Divi visió sión n
Interse ersecció cción n 2.9 Int CIUDAD S[CIUDAD]
División:: R DIVIDEBY S División
CIUDAD
Londres
P[CIUDAD]
París
París
Roma
Atenas
Londres
Suponiendo que la cabecera de R es el conjunto de atributos A y la cabecera de S es el conjunto de atributos B , tales que B es un subconjunto de A . Si consideramos C como el subconjunto de los atributos de A que no están en B ( A - B ), ), la división obtiene una relación relació n cuya cabecera cabecera es el conjunt conjunto o de atrib atributos utos C y que contiene las tuplas de R que están acompañadas de todas las tuplas de S . La división de una relación R (dividendo) por otra relación S (divisor) es una relación RES (cociente) (cociente) tal que,
CIUDAD
P[CIUDAD] INTERSECT S[CIUDAD]
Londres París
Tema 3: El modelo relacional (IG18) – 37
al realizarse su combin combinación ación natural con el divisor divisor,, todas las
tuplas resultantes se encuentran en el dividendo. No existe en SQL en SQL una una orden equivalente. Se puede simular contado tuplas.
2.9 Int Interse ersecció cción n
Tema 3: El modelo relacional (IG18) – 39
2.10 2. 10 Di Divi visió sión n
SQL:
Proveedore Prov eedores s que suministran suministran todas las piezas que se almac almacenan enan en
Ciudades en las que hay proveedores y se almacenan piezas:
Londres: (P WHERE CIUDAD=’Londres’)[pnum]
SELECT SEL ECT * FROM FR OM s NAT NATUR URAL AL LEF LEFT T OUT OUTER ER JO JOIN IN sp sp; ;
pnum P2 P4
SP[snum,pnum] DIVIDEBY (P WHERE CIUDAD=’Londres’)[pnum] snum S1 S4 Tema 3: El modelo relacional (IG18) – 38
Tema 3: El modelo relacional (IG18) – 40
2.11 2. 11 Ag Agrup rupac ació ión n
2.11 11 Ag Agrup rupac ació ión n 2.
SQL:
Agrupación (resumen): (resumen):
Agrupación SELECT cálculo( cálculo(atribut atributo) o)
k ) ADD cálculo AS atributo SUMMARIZE R GROUPBY(a i ,...,a k
FROM tabl tabla a
Esta operación agrupa las tuplas de R que tienen los mismos valores en
GROUP BY a$_i$,.. a$_i$,...,a$_k$ .,a$_k$ HAVING condició condición n
los atributos atributos especificados especificados y realiza un cálculo sobre los grupos grupos AVG G , MAX , MIN , COUNT ). La relación resultado tiene obtenidos (SUM , AV
como cabecera los atributos por los que se ha agrupado y el cálculo
Número total de unidades de piezas suministradas por cada proveedor: SELECT SELE CT SUM( SUM(CANT CANT) ) AS CANT CANT_TOT _TOTAL AL FROM FRO M sp
realizado realiz ado con el nombre especificado especificado en atributo. atributo.
GROUPBY snum;
Número medio de unidades suministradas por envío: SELECT SELE CT AVG( AVG(CANT CANT) ) AS MEDI MEDIA A FROM FRO M sp
Tema 3: El modelo relacional (IG18) – 41
2.11 2. 11 Ag Agrup rupac ació ión n Número total de unidades de piezas suministradas por cada proveedor: SUMMARIZE SP GROUPBY (snum) ADD SUM(CANT) AS CANT_TOTAL
snum sn um
CANT_ CAN T_TO TOT TAL
S1
1300
S2
700
S3
200
S4
900
Número medio de unidades suministradas por envío: SUMMARIZE SP GROUPBY () ADD AVG(CANT) AS MEDIA
MEDIA 258 Tema 3: El modelo relacional (IG18) – 42
Tema 3: El modelo relacional (IG18) – 43
View more...
Comments