Los orígenes del SQL están ligados a los de las bases de datos relacionales.
1970 E. F. Codd propone el modelo relacional - cálculo de predicados.
1986 "SQL-86" o "SQL1" estandarizado por ANSI.
1987 estándar ISO - "SQL/86", y posteriormente SQL/89 - SQL/92.
Actualmente, está en marcha un proceso de revisión del lenguaje por parte de
los comités ANSI e ISO, que debería terminar en la definición de lo que en
este momento se conoce como SQL3.
ANSI-SQL
Y SUS VARIACIONES
1999
SQL:1999 SQL2000
Se agregaron expresiones regulares, consultas recursivas (para relación jerárquicas), y algunas características
orientadas a objetos.
1992
SQL-92 SQL2
Revisión mayor.
CARACTERÍSTICAS
El SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales permitiendo gran variedad de operaciones en los sistemas.
Es un lenguaje declarativo de "alto nivel" o "de no procedimiento", que gracias a su fuerte base teórica y su orientación al manejo de conjuntos de registros, y no a registros individuales, permite una alta productividad en codificación y la orientación a objetos.
HISTORIA
2006 SQL:2006
ISO/IEC 9075-14:2006 Define las maneras en las cuales el SQL se puede utilizar conjuntamente con XML. Define maneras importar y guardar datos XML en una base de datos SQL, manipulándolos dentro de la base de datos y publicando el XML y los datos SQL convencionales en forma XML. Además, proporciona facilidades que permiten a las aplicaciones integrar dentro de su código SQL el uso de XQuery, lenguaje de consulta XML publicado por el W3C (World Wide Web Consortium) para acceso concurrente a datos ordinarios SQL y documentos XML.
LENGUAJE
Lenguaje de Manipulación de Datos DML
Contiene las instrucciones de manejo de tablas como son:
insert (insertar nuevos registros dentro de la BD)
select (mostrar los datos requeridos dentro de una BD)
update (modifica los datos dentro de una base de datos)
delete (borra de manera total o parcial los datos)
También contiene instrucciones como commit y rollback para el control de concurrencia de los datos.
FECHAS Y HORAS
Date Fecha
Time Hora
Timestamp Sello de tiempo
Timestamp con tiempo zonal
Time con tiempo zonal
Tipo de datos y dominio
NUMEROS EXACTOS
Integer Enteros
Small integer Enteros pequeños
Numeric p, e P: precisión: total de números
o dígitos en el numero
Decimal p, e Precisión y escala
INTERVALOS
Year-month Año-mes
Day-time Día-hora
números APROXIMADOS
Real
Doublé precisión
Float
CADENA DE CARACTERES
Carácter Carácter
Character varying
Carácter variable
CADENA DE BITS
Bit
Bit varying
Lenguaje de Control de Datos DCL
Contiene aquellas instrucciones para dar y revocar y permisos de acceso a los datos de la base de datos, como GRANT para otorgar permisos a los administradores y REVOKE para quitar dichos permisos.
Lenguaje de Definición de Datos DDL
Contiene todas las instrucciones para definir el esquema de una base de datos, como son CREATE (para la creación de tablas), ALTER (sirve para modificar los datos o las tablas) y DROP (para eliminar las tablas o registros de una BD).
DDL Y DML
COMANDOS DDL
2008
SQL:2008
Permite el uso de cláusula ORDER BY fuera de las definiciones de los cursores. Incluye los disparadores del tipo INSTEAD OF. Añade la sentencia TRUNCATE.
CREATE
Utilizado para crear nuevas tablas, campos e índices
DROP
Empleado para eliminar tablas e índice
ALTER
Utilizado para modificar las tablas agregando campos.
TRUNCATE
Trunca todo el contenido de una tabla
COMANDOS DDL
En 1986, el ANSI adopto SQL (sustancialmente adopto el dialecto SQL de IBM) como estándar para los lenguajes relacionales y en 1987 se transformo en el estándar ISO. Esta versión estándar tenía el nombre de SQL-86. En 1989 ANSI definió SQL-89 basada en la anterior pero con una serie de mejoras entre las que destacan:
Definición de clave primarias
Integridad de datos
SELECT
El comando más usado en SQL es la instrucción SELECT, que se utiliza para recuperar datos de diferentes tablas de una base de datos.
FROM
La cláusula FROM lista las tablas que contienen los datos a recuperar por la consulta.
WHERE
se define la condición que deben cumplir las filas o registros de datos, que estarán en el resultado de la consulta.
INSERT
Este comando se utiliza para agregar uno o más registros (filas). Se puede utilizar para efectuar dos tipos de operaciones
UPDATE
Para cambiar uno o más valores de campos de registros en una tabla,
DELETE
se utiliza para borrar uno o varios registros de una tabla particular.
FUNCIONES AGREGADAS
o AVG (Calcula el promedio)
o COUNT (Cuenta cantidad registros)
o SUM (Suma valores de una columna)
o MIN (mínimo valor de una columna)
o MAX (máximo valor de una columna)
ORDER BY
Ordena los resultados de la consulta, en base a los datos de una o más columnas. Si se omite, los resultados saldrán ordenados conforme estan alojados fisicamente
GROUP BY
Especifica una consulta sumaria, agrupa todas las filas similares y luego produce una fila sumaria de resultados para cada grupo.
Having
se utiliza para considerar sólo aquellos grupos que satisfagan la condición dada en la cláusula HAVING.
JOIN
Para vincular dos o más tablas, y proporcionar información como si se tratara de una sola.
Para ello, se expresan los nombres de las tablas en la cláusula FROM