Algebra Relacional PDF
Algebra Relacional PDF
Algebra Relacional PDF
Consultas Asociadas
SELECT función
FROM 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).
3. Recuperación con la función SUM. Obtener la cantidad total comprada del artículo 11.
l. Recuperación usando IN
Obtener los nombres de los proveedores que suministran el artículo número 22,
Hay algún artículo con el número 22, Esta consulta también se puede escribir, sin necesidad
de utilizar bloques anidados, de la siguiente forma:
SELECT DISTINCT a.nombre FROM proveedores.a, art-prove.b
WHERE a.dni = b.dni AND número = "22"
También se puede escribir como una reunión de una tabla consigo misma.
SELECT nombre FROM proveedores WHERE "11" <> ALL (SELECT número
FROM art-prove WHERE dni = proveedores .dni)
OPERACIONES DE ACTUALIZACIÓN
El DML del SQL incluye las siguientes operaciones de actualización: UPDA TE (modificar),
INSERT (insertar) y DELETE (suprimir).
Estas operaciones son directas, es decir, no auguran la integridad de los datos, y será
tarea del usuario su control; por ejemplo, el sistema no impedirá dar de alta a un artículo en
la relación COMPRAS aunque no esté en ARTICULOS.
INSERT INTO otra SELECT número FROM art-prove WHERE dni = "3333"
DELETE compras. Se han suprimido todas las filas de la relación; está vacía, pero sigue
existiendo la tabla.
Lenguajes huésped
En el segundo caso, mientras con un comando (SQL), cada vez que se ejecuta una
operación de E/S se recupera un conjunto de registros, el lenguaje anfitrión sólo es capaz de
operar con un registro a la vez. Para solucionar este problema se define un cursor.
Un cursor es un puntero a una tupla. Su función es similar a los punteros deactualidad del
lenguaje de manipulación de datos DBTG. La forma de acceder mediante un lenguaje
huésped a una base de datos es la siguiente:
Los comandos que utilizan curso res van precedidos del signo dólar ($); son los siguientes:
• $DECLARE (declarar). Define las variables del lenguaje huésped que se utilizan en
consultas SQL.
• $LET nombre-cursar BE proposición-SQL. Define y asocia el paso a la proposición-SQL.
• $OPEN nombre-cursor. Permite activar y asociar al cursor con un conjunto de registros.
• $FECTH nombre-cursor. Posiciona el cursar en el siguiente registro de la relación;
efectúa una lectura secuencia!.
• $CLOSE nombre-cursor. Permite cerrar un cursor. También es necesaria la cláusula TO.