Вы находитесь на странице: 1из 17

Sugeylys Gmez

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

Los sistemas comerciales ofrecen todas las facilidades


de SQL-92, ms variaciones de estndar ms recientes.
NO todo funcionar en el sistema que utilizamos.

Sugeylys Gmez

Objetivos
SQL

es una herramienta para organizar, gestionar y


recuperar datos almacenados en una base de datos
informtica. SQL es unlenguaje informtico que se
utiliza para interactuar con una base de datos. De
hecho, SQL funciona con un tipo especfico de base de
datos, llamado base de datos relacional.

En la actualidad es el lenguaje de uso y programacin de


bases de datos relacionales ms extendidos.
El programa que controla la base de datos se
llamaSistema de Gestin de Base de Datos, o DBMS.

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.

Jos F. Mosquea Brown

MANIPULACION DE LOS DATOS

Jos F. Mosquea Brown

Estructura bsica de consultas


SQL est basado en operaciones de
conjuntos y relacionales con algunas
modificaciones y mejoras
Una consulta tpica de SQL tiene la
forma:
select A1, A2, ,An
from r1, r2, , rn
where P

Ai representa un atributo
Ri representa una relacin
P es un predicado

Jos F. Mosquea Brown

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;

Nota: Los nombres en SQL no distinguen entre


maysculas y minsculas
Estos es Name = NAME = name
Algunos usan maysculas

Jos F. Mosquea Brown

La clusula select cont.


Para forzar la eliminacin de duplicados,
inserte la palabra distinct despus de
select
Encontrar los nombres de todas las
sucursales de la relacin loan, y remover
duplicados
select distinct branch_name
from loan;

La palabra reservada all especifica que los


duplicados no sean removidos.
select all branch_name
from loan;

Jos F. Mosquea Brown

La clusula select cont.


Un asterisco en la clusula select denota todos
los atributos:
select *
from loan;

La clusula select puede contener expresiones


aritmticas involucrando +, -, * y /, y operando en
constantes o atributos de las tuplas.
La consulta:
select loan_number,branch_name, amuont*100
frpm loan;

Regresar una relacin de la relacin loan,


excepto que el valor del atributo amount est
multiplicado por 100

Jos F. Mosquea Brown

La clusula where
La clusula where especifica una condicin que
debe ser satisfecha
Corresponde a la seleccin del lgebra relacional

Para encontrar todos los nmeros de prstamos


hechos en la sucursal Perryridge con cantidades
mayores a 1200
select loan_number
from loan
where branch_name=Perryridge and amount>1200;

Los resultados de las comparaciones pueden ser


usados con conectores lgicos and, or, y not.
Las comparaciones pueden ser aplicadas a
resultados de expresiones aritmticas

Jos F. Mosquea Brown

La clusula where cont.


SQL incluye el operador de
comparacin between (entre)
Ejemplo: encuentre el nmero del
prstamo de aquellos prstamos con
cantidades prestadas entre $90000 y
$100000.
select loan_number
from loan
where amount between 90000 and
100000;

Jos F. Mosquea Brown

La clusula from
La clusula from lista las relaciones
involucradas en la consulta
Corresponde al producto cartesiano del lgebra
relacional

Encuentre el producto cartesiano de


borrower loan
select *
from borrower, loan

Encuentre el nombre, nmero de


prstamos cantidad de todos los clientes
que tengan prstamos en la sucursal de
Perryridge
select customer_name, borrower.loan_number,

Jos F. Mosquea Brown

Funciones de agregacin clusula


having

Nombres de sucursales que tengan el


promedio de saldo mayor a $650
select name, avg( balance)
from account
group by name
having avg(balance)>650;

Nota: los predicados en la clusula having


son aplicados despus de la formacin de
los grupos mientras los predicados de la
clusula where son aplicados antes de la
formacin de los grupos.

Jos F. Mosquea Brown

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

Jos F. Mosquea Brown

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);

nombre de los clientes que tienen


prstamo pero no tiene una cuenta en el
banco
select distinct customer_name
from borrower
where customer_name not in(

Jos F. Mosquea Brown

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');

Nota: la consulta anterior se puede escribir de


una manera ms sencilla. La formulacin anterior
es solo para ilustrar.

Вам также может понравиться