Tema 3.c. - Álgebra Relacional y SQL PDF

August 19, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


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

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF