Vous êtes sur la page 1sur 37

Historia Del SQL

Group V

Historia Del SQL


SQL como Estandar. Componetes del Lenguaje. Definicion de Datos. Estructura basica de la consulta SQL y sus clausula. Operaciones sobre conjuntos Funciones de Agregacion Valores Nulos Subconsultas anidadas Consultas complejas Vistas Modificacion de la bases de datos Reunion de relaciones
Group V

SQL Como Estandar


SQL86,SQL89,SQL92,SQL99,SQL2003

Group V

SQL ESTANDAR
La historia de SQL empieza en 1974 con la definicin, por parte de Donald Chamberlin y de otras personas que trabajaban en los laboratorios de investigacin de IBM, de un lenguaje para la especificacin de las caractersticas de las bases de datos que adoptaban el modelo relacional. Este lenguaje se llamaba SEQUEL (Structured English Query Language) y se implement en un prototipo llamado SEQUEL-XRM entre 1974 y 1975. Las experimentaciones con ese prototipo condujeron, entre 1976 y 1977, a una revisin del lenguaje (SEQUEL/2), que a partir de ese momento cambi de nombre por motivos legales, convirtindose en SQL.

SQL ESTANDAR
El prototipo (System R), basado en este lenguaje, se adopt y utiliz internamente en IBM y lo adoptaron algunos de sus clientes elegidos. Gracias al xito de este sistema, que no estaba todava comercializado, tambin otras compaas empezaron a desarrollar sus productos relacionales basados en SQL. A partir de 1981, IBM comenz a entregar sus productos relacionales y en 1983 empez a vender DB2. En 1986, el ANSI adopt SQL (sustancialmente adopt el dialecto SQL de IBM) como estndar para los lenguajes relacionales y en 1987 se transfom en estndar ISO. Esta versin del estndar va con el nombre de SQL/86. En los aos siguientes, ste ha sufrido diversas revisiones que han conducido primero a la versin SQL/89 y, posteriormente, a la actual SQL/92.

Componetes Del Lenguaje

Componetes del Lenguaje

DDL DML DCL

Componetes del Lenguaje


DDL(Data Definition Language), es el encargado de la definicin de Bases de Datos, tablas, vistas e ndices entre otros. Son comandos propios de este lenguaje: CREATE TABLE CREATE INDEX CREATE VIEW CREATE SYNONYM .

Componetes del Lenguaje


DML(Data Manipulation Language), cuya misin es la manipulacin de datos. A travs de l podemos seleccionar, insertar, eliminar y actualizar datos. Son comandos propios de este lenguaje:

SELECT UPDATE INSERT INSERT INTO DELETE FROM

Componetes del Lenguaje


DCL (Data seguridad referente entre los Control Laguage), encargado de la de la base de datos, en todo lo al control de accesos y privilegios usuarios. Son comandos propios de este lenguaje: GRANT REVOKE

Definicion de Datos

Tipos Datos
SQL admite una variada gama de tipos de datos para el tratamiento de la informacin contenida en las tablas, los tipos de datos pueden ser nmericos (con o sin decimales), alfanumricos, de fecha o booleanos. aunque en la actualidad casi todos los gestores de bases de datos soportan un nuevo tipo, el BLOB (Binary Large Object), que es un tipo de datos especial destinado a almacenar archivos, imgenes ... Dependiendo de cada gestor de bases de datos el nombre que se da a cada uno de estos tipos puede variar.

TIPOS DE DATOS
Tipos de Datos Numerico Tipos Interger Numeric(n,m) Definicion Valores enteros con signo. Nmeros reales de hasta 18 digitos (con decimales), donde N representa el total de dgitos admitidos (normalmente denominado precisin) y M el nmero de posiciones decimales (escala). Igual que el tipo numeric. Nmero de coma flotante, este tipo de datos se suele utilizar para los valores en notacin cientifica. Bytes 4 5-17

Decimal(n,m) Float

5-17 4-8

TIPOS DE DATOS
Tipos de datos alfanmericos Tipos char(n) Definicion Almacena de 1 a 255 caracteres alfanmericos. Este valor viene dado por n, y es el tamao utilizado en disco para almacenar dato. Es decir si defino un campo como char(255), el tamao real del campo ser de 255, aunque el valor solo contenga 100. Igual que el tipo char, con la salvedad que varchar almacena nicamente los bytes que contenga el valor del campo. Bytes 0-255

varchar(n)

0-255

TIPOS DE DATOS
Tipos de datos fecha Tipos Date Definicion Almacena fechas, con da, mes y ao. Bytes 8

Datetime

Almacena fechas con fecha y hora


Tipos de datos lgicos

Bit

Almacena un 0 no cero, segn las bases de datos ser 1 -1. Se aplica la lgica booleana, 0 es falso y no cero verdadero. Tipos de datos BLOB Almacena imgenes en formato binario, hasta un mximo de 2 Gb de tamao. Almacena texto en formato binario, hasta un mximo de 2 Gb de tamao.

1 Bit

Image Text

0-2 Gb 0-2 Gb

Estructura Basica de Consulta SQL y Sus Clausula

Consulta de Datos
El proceso ms importate que podemos llevar a cabo en una base de datos es la consulta de los datos. De nada servira una base de datos si no puedieramos consultarla. Es adems la operacin que efectuaremos con mayor frecuencia. Para consultar la informacin SQL pone a nuestra disposicin la sentencia SELECT. La sentencia SELECT nos permite consultar los datos almacenados en una tabla de la base de datos. El formato de la sentencia select es: SELECT [ALL | DISTINCT ] <nombre_campo> [{,<nombre_campo>}] FROM <nombre_tabla>|<nombre_vista> [{,<nombre_tabla>|<nombre_vista>}] [WHERE <condicion> [{ AND|OR <condicion>}]] [GROUP BY <nombre_campo> [{,<nombre_campo >}]] [HAVING <condicion>[{ AND|OR <condicion>}]] [ORDER BY <nombre_campo>|<indice_campo> [ASC | DESC] [{,<nombre_campo>|<indice_campo> [ASC | DESC ]}]]

Consulta de Datos
Sentencia SELECT ALL DISTINCT FROM Definicion Palabra clave que indica que la sentencia de SQL que queremos ejecutar es de seleccin. Indica que queremos seleccionar todos los valores. Indica que queremos seleccionar slo los valores distintos. Indica la tabla (o tablas) desde la que queremos recuperar los datos. En el caso de que exista ms de una tabla se denomina a la consulta "consulta combinada" o "join". Especifica una condicin que debe cumplirse para que los datos sean devueltos por la consulta. Especifica la agrupacin que se da a los datos. Se usa siempre en combinacin con funciones agregadas.

WHERE GROUP BY

Consulta de Datos
Sentencia HAVING Definicion Especifica una condicin que debe cumplirse para los datosEspecifica una condicin que debe cumplirse para que los datos sean devueltos por la consulta. Su funcionamiento es similar al de WHERE pero aplicado al conjunto de resultados devueltos por la consulta. Debe aplicarse siempre junto a GROUP BY y la condicion debe estar referida a los campos contenidos en ella. Presenta el resultado ordenado por las columnas indicadas. El orden puede expresarse con ASC (orden ascendente) y DESC (orden descendente). El valor predeterminado es ASC. Especifica la agrupacin que se da a los datos. Se usa siempre en combinacin con funciones agregadas.

ORDER BY

GROUP BY

Estructuras Basicas de las Consultas SQL y sus Clusulas

Clsulas
Select From Where

Clsula Select.
Ejemplo: Obtener los nombres de todas las sucursales en la relacin prstamo.

select nombre-sucursal from prstamo El resultado es una relacin consistente en el nico atributo nombre-sucursal.

Clsula From
Ejemplo: Para todos los clientes que tienen un prstamo en el banco, obtener los nombres, nmeros de prstamo e importes.
select nombre-cliente, prestatario. nmero-prstamo, importe from prestatario, prstamo where prestatario. nmero-prstamo = prstamo. nmero-prstamo

Clsula Where
Ejemplo: Obtener todos los nmeros de prstamo para prstamos hechos en la sucursal X, en los que el importe sea superior a 1000 .
select nmero-prstamo from prstamo where nombre-sucursal = X and importe >

1000
SQL usa las conectivas lgicas and, or y not en lugar de los smbolos matemticos en la clusula Where.

Operaciones Sobre Conjuntos


Union (Unin). Intersect (Interseccin) . Except (Excepto)

Los dos conjuntos utilizados sern:


- El conjunto de todos los clientes que tienen una cuenta en el banco, que puede obtenerse con:
select nombre-cliente from depositante - El conjunto de todos los clientes que tienen un prstamo en el banco, que puede obtenerse con: select nombre-cliente from prestatario

La operacin unin (union)


Para encontrar todos los clientes que poseen un prstamo, una cuenta o las dos cosas en el banco, se escribir: (select nombre-cliente from depositante) union (select nombre-cliente from prestatario)

La operacin interseccin (intersect)


Para encontrar todos los clientes que tienen tanto un prstamo como una cuenta en el banco, se escribir: (select distinct nombre-cliente from depositante) intersect (select distinct nombre-cliente from prestatario)

La operacin excepto (except)


Para encontrar todos los clientes que tienen tanto un prstamo como una cuenta en el banco, se escribir: (select distinct nombre-cliente from depositante) intersect (select distinct nombre-cliente from prestatario)

Funciones de Agregacin
Media avg Minimo min Mximo max Total sum Cuenta count

Ejemplo

Obtener la media de saldos de las cuentas de la sucursal X. Esta consulta puede escribirse en SQL como: select avg (saldo) from cuenta where nombre-sucursal = X El resultado de esta consulta ser una relacin con un nico atributo, que contendr una nica fila con un valor numrico correspondiente al saldo medio de la sucursal.

Valores nulos ( null)


SQL permite el usa de valores nulos para indicar la ausencia de informacin. Ejemplo:
Select numero prstamo From prstamo Where importante is not null El predicado is not null pregunta por la ausencia de valor nulo

Subconsultas anidadas
SQL proporciona un mecanismo para las subconsultas anidadas. Una expresin (SELECT FROM WHERE) Ejemplo: Select distinct nombre-cliente From prestatario Where nombre-cliene not is (Select nombre- cliente From impositor)
Los operadores in y not tambin se pueden usar sobre conjunto enumerados.

Consultas complejas
Estas consultas a menudos son difciles o imposibles de escribir como un nico bloque SQL. Los bloques usados en las clusulas son WHERE-FROM-SELECT

Vista
Una vista es una tabla virtual que muestra la informacin relevante para el usuario adems que permite encapsular la complejidad de su implementacin
Entre las principales ventajas del empleo de las vistas podemos mencionar: Permite mostrar un subconjunto de filas y/o columnas de una tabla.

Permite mostrar informacin de ms de una tabla.


Permite realizar uniones entre dos o ms tablas. Permite mostrar informes resumen.

Vous aimerez peut-être aussi