Académique Documents
Professionnel Documents
Culture Documents
Luis R. Firpo
Jos F. Mosquea Brown
GRUPO 4
Manipulacin de Datos
Sugeylys Gmez
Historia
Lenguaje de IBM Sequel Sicual- (Structured English
Query Language), desarrollado como parte del
proyecto sistema R en el laboratorio de investigacin
de IBM en San Jos.
Renombrado como Lenguaje estructurado de consultas
Structured Query Language (SQL)
Estndar ISO y ANSI de SQL:
SQL-86
SQL-89
SQL-92
SQL: 1999
SQL:2003
Sugeylys Gmez
Objetivos
SQL
Sugeylys Gmez
Objetivos
Cuando es necesario recuperar datos de una base
de datos, la peticin se realiza utilizando SQL. El
DBMS procesa la peticin SQL, recoge los datos
solicitados y los devuelve a quien los solicit. Este
proceso de peticin de datos de la base de datos
y posterior recepcin de resultados se llama
consulta (query); de aqu el nombre lenguaje
estructurado deconsultas.
Este es un lenguaje para el manejo de la base de
datos a lo largo de todo su ciclo de vida.
Sugeylys Gmez
Objetivos
Este lenguaje trabaja de modo declarativo.
Cuando un usuario quiere realizar una
operacin con los datos, no debe
describirla paso a paso. Basta con
especificar el resultado que se desea
mediante clusulas y predicados.
El gestor de la base de datos se ocupar
de realizar las tareas necesarias para
hacer efectiva la peticin.
Ai representa un atributo
Ri representa una relacin
P es un predicado
La clusula select
Le clusula select lista los atributos
deseados en el resultado de la consulta
Corresponde a la operacin de proyeccin del
lgebra relacional
Ejemplo:
select name
from loan;
La clusula where
La clusula where especifica una condicin que
debe ser satisfecha
Corresponde a la seleccin del lgebra relacional
La clusula from
La clusula from lista las relaciones
involucradas en la consulta
Corresponde al producto cartesiano del lgebra
relacional
Subconsultas anidadas
SQL provee un mecanismo para
anidar consultas
Una subconsulta es una expresin
select-from-where que esta
anidada en otra
Un uso comn de subconsultas es
probar pruebas de pertenencia a
conjuntos, comparacin de conjuntos
y poner cardinalidad
Consultas ejemplo
nombre de los clientes que tienen ambas
una cuenta y un prstamo en el banco
select distinct customer_name
from borrower
where customer_name in(
select customer_name from depositor);
Consultas ejemplo
Encontrar todos los clientes que tienen una
cuenta y un prstamo en la sucursal Perryridge
select distinct customer_name
from borrower, loan
where borrower.loan_number = loan.loan_number and
branch_name = 'Perryridge' and
customer_name in (select customer_name
from account, depositor
where account.account_number =
depositor.account_number and
branch_name = 'Perryridge');