Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more ➡
Download
Standard view
Full view
of .
Add note
Save to My Library
Sync to mobile
Look up keyword
Like this
35Activity
×
0 of .
Results for:
No results containing your search query
P. 1
algebra relacional PDF

algebra relacional PDF

Ratings:

5.0

(1)
|Views: 8,323|Likes:
Published by luemivr

More info:

Published by: luemivr on Jul 09, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See More
See less

07/12/2013

pdf

text

original

 
ALGEBRA RELACIONAL
Tendencias en Desarrollo de Software
TECNOLOGICO DE ANTIOQUIA (TDA)Docente: Luis Emilio Velásquez Restrepo
El Algebra relacional consta de un conjunto de operaciones sobre las relaciones; losoperandos de cada operación están formulados por una o más relaciones y como resultadose tiene otra relación.
Consultas Asociadas
SQL incluye las operaciones UNION (unión), INTERSECT (intersección) y MINUS(diferencia), que operan sobre relaciones y se corresponden con los operadores del álgebrarelacional.
l. Recuperación usando UNION
Obtener los números 
de
los artículos 
de
los que 
se
han comprado más 
de 75
unidades o en la fecha 1/05/91.
(SELECT num-art FROM compras WHERE cantidad> 75)UNION(SELECT num-art FROM compras WHERE fecha = "1/05/91")
2. Recuperación usando INTERSECT
Obtener los mímeros 
de
los artículos 
de
los que 
se
han comprado 
más de 75
unidades en la fecha 1/05/91.
(SELECT num-art FROM compras WHERE cantidad > 75)INTERSECT(SELECT num-art FROM compras WHERE fecha = "1/05/91")
3. Recuperación usando MINUS
Obtener los números 
de
los artículos 
de
los que 
se
han comprado más 
de 75
unidades, pero la compra 
no se
efectuó en la fecha 1
 /05/91
.
(SELECT FROM compras WHERE cantidad> 75) MINUS(SELECT FROM WHERE num-art WHERE fecha = "1/05/91")SQL ofrece la posibilidad de aplicar funciones de grupo de tuplas mediante la cláusulaGROUP BY (agrupar por). Un grupo se define como el conjunto de filas que tienen el mismovalor en la columna atributo especificada El formato del bloque es el siguiente:SELECT funciónFROM reLación[GROUP BY...] [HAVING. función operador-comparación ...]
 
Las funciones pueden ser: COUNT (número de tuplas), SUM (total), MIN (mínimo),MAX (máxímo) y A VG (promedio). Admiten los Formatos:- COUNT (*): Cuenta las fiJas de la tabla.- COUNT (DISTINCT atributo): Proyecta y cuenta.- SUM (DISTINCT atributo): Proyecta y suma.- SUM (ALL atributo): Suma todas las filas.- MIN (atributo>.- MAX (atributo>.- AVG (DISTINCT atributo>: Proyecta y promedia.- AVG (ALL atributo).
1. Recuperación con la función COUNT (*).
 
Obtener el número total de artículos.
SELECT COUNT (*) FROM artículos
2. Recuperación con la función COUNT (DISTINCT atributo)
 
Contar el número total de artículos comprados.
SELECT COUNT (DISTINCT num-art) FROM compras
3. Recuperación con la función SUM.
Obtener la cantidad total comprada del artículo 11.
SELECT SUM (cantidad) FROM compras WHERE num-art = "11"
4. Recuperación con la función MAX o MIN
 
Obtener el artículo de mayor precio.
SELECT concepto, MAX(pvp) FROM compras
5. Recuperación con la función AVG.
Obtener la cantidad promedio 
de
las compras del artículo 
11.SELECT AVG (cantidad) FROM compras WHERE num-art = "11"
6. Recuperación con la cláusula GROUP BY
Obtener los números 
de
todos los artículos comprados 
y su
cantidad total.
SELECT num-art, SUM(cantidad) FROM compras GROUP BY num-art
7. Ejemplo con varias funciones
Obtener ordenadamente el número del artículo 
y
la suma 
de
las cantidades compradas para aquellos artículos cuya cantídad total comprada sea mayor 
de
100.
SELECT num-art, SUM(cantidad) FROM compras GROUP BY num-artORDER BY num-art HAVING SUM (cantidad) > 100
 
CONSULTAS ANIDADASl. Recuperación usando IN
Obtener los nombres de los proveedores que suministran el artículo número 
22,SELECT FROM WHERE nombre FROM proveedores WHERE dni IN(SELECT dni FROM art-prove número = "22")El nombre del proveedor sólo se escoge si en la subconsulta(SELECT dni FROM art-prove WHERE número = "22")Hay algún artículo con el número 22, Esta consulta también se puede escribir, sin necesidadde utilizar bloques anidados, de la siguiente forma:SELECT DISTINCT a.nombre FROM proveedores.a, art-prove.bWHERE a.dni = b.dni AND número = "22"
2. Recuperación usando> ANY
Obtener los nombres de los proveedores cuyo DNI sea mayor que el DNI más bajo de los proveedores que residen en Barcelona.
SELECT Nombre FROM proveedores WHERE dni>ANY(SELECT dni FROM proveedores WHERE Localidad = "BarceLona")También se puede escribir como una reunión de una tabla consigo misma.
3. Recuperación usando ALL
Obtener los nombres de los proveedores que no suministran el artículo número 11,
SELECT nombre FROM proveedores WHERE "11" <> ALL (SELECT númeroFROM art-prove WHERE dni = proveedores .dni)En la última línea, el primer DNI pertenece a la relación ART-PROVE seleccionada en elbloque interno; sin embargo, para referirse a un atributo del bloque externo dentro del bloqueinterno hay que especificar el nombre de su relación, proveedores.dni.
4. Recuperación usando EXISTS
Obtener los nombres de los proreedores que suministran el artículo número 
11.SELECT nombre FROM proveedores WHERE EXISTS (SELECT * FROM art.proveWHERE dni = proveedores.dni AND número = "11")
5. Recuperación usando NOT EXISTS
Obtener los nombres de los proveedores que no suministran el artículo número 
11.SELECT nombre FROM proveedores WHERE NOT EXISTS (SELECT *

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->