Está en la página 1de 5

Lenguaje de Consulta Estructurado o por sus siglas en ingles SQL es un lenguaje que unifica la gestión

de bases de datos de condición relacional, esta basado en el modelo relacional, sus inicios fueron en
el año de 1974 en IBM, donde Edgar Codd desarrollaba un sub-lenguaje de acceso a datos llamado
SEQUEL, este fue el antecesor del actual SQL. En 1981 ANSI adopto SQL como estándar de los
lenguajes relacionales, las versiones aprobadas por ANSI son las siguientes.

Año Nombre Alias Comentarios

1986 SQL-86 SQL-87 Primera publicación hecha por ANSI. Confirmada por ISO en 1987.

1989 SQL-89 Revisión menor.


1992 SQL-92 SQL2 Revisión mayor.
1999 SQL:1999 SQL2000 Se agregaron expresiones regulares, consultas recursivas (para relaciones
jerárquicas), triggers y algunas características orientadas a objetos.

2003 SQL:2003 Introduce algunas características de XML, cambios en las funciones,


estandarización del objeto sequence y de las columnas autonuméricas.2
2005 SQL:2005 ISO/IEC 9075-14:2005 Define las maneras en las cuales SQL se puede
utilizar conjuntamente con XML. Define maneras de 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.
2008 SQL:2008 Permite el uso de la cláusula ORDER BY fuera de las definiciones de los
cursores. Incluye los disparadores del tipo INSTEAD OF. Añade la
sentencia TRUNCATE.3
2011 SQL:2011 Datos temporales (PERIOD FOR). Mejoras en las funciones de ventana y
de la cláusula FETCH.

2016 SQL:2016 Permite búsqueda de patrones, funciones de tabla polimórficas y


compatibilidad con los ficheros JSON.
SQL esta compuesto de dos principales sub-lenguajes, los cuales son:

Acrónimo Nombre Descripción

LDD Lenguaje de LDD sirve para especificar el esquema conceptual, LDD tiene como
Definición de función procesar las sentencias para identificar las descripciones de
Datos los distintos elementos de los esquemas y almacenar la descripción
del esquema en el catálogo o diccionario de datos. Se dice que el
diccionario contiene metadatos: describe los objetos de la base de
datos.
LMD Lenguaje LMD permita manipular los datos de la base de datos: realizar
interactivo de consultas, inserciones, eliminaciones y modificaciones, existen dos
Manipulación de tipos de este:
Datos
1. Procedural: Especifica qué datos se necesitan y cómo hay
que obtenerlos. Esto quiere decir que el usuario debe
especificar todas las operaciones de acceso a datos
llamando a los procedimientos necesarios para obtener la
información requerida, LMD procedural deben estar
embebidas en un lenguaje de alto nivel, ya que se necesitan
sus estructuras (bucles, condicionales, etc.) para obtener y
procesar cada registro individual. A este lenguaje se le
denomina lenguaje anfitrión.

2. No procedural: Se puede utilizar de manera independiente


para especificar operaciones complejas sobre la base de
datos de forma concisa. En muchos SGBD se pueden
introducir interactivamente instrucciones del LMD desde un
terminal o bien embeberlas en un lenguaje de
programación de alto nivel.

Las correspondencias entre ambos esquemas se pueden especificar en cualquiera de los dos
lenguajes. Para tener una verdadera arquitectura de tres niveles sería necesario disponer de un tercer
lenguaje, el lenguaje de definición de vistas (LDV), que se utilizaría para especificar las vistas de los
usuarios y su correspondencia con el esquema conceptual.
Las características de SQL son las siguientes:

Nombre Descripción

Integridad SQL incluye comandos para especificar las restricciones de


integridad que deben cumplir los datos almacenados en la base de
datos.

Definición de SQL incluye comandos para definir las vistas.


vistas
Control de SQL tiene comandos para especificar el comienzo y el final de una
transacciones: transacción.

SQL incorporado y Esto quiere decir que se pueden incorporar instrucciones de SQL en
dinámico lenguajes de programación como: C++, C, Java, PHP, Cobol, Pascal y
Fortran

Autorización SQL incluye comandos para especificar los derechos de acceso a las
relaciones y a las vistas.

Los tipos de datos generales en SQL solo 5, aunque cada SGBD puede tener algunos mas o hacer
modificaciones a estos principales con fines de optimización.

Tipo Descripción

Varchar Recibe cadena de palabras compuestas de letras, números y


caracteres especiales.
Date Fecha de calendario que contiene el año (de cuatro cifras), el mes y
el día.
Time La hora del día en horas minutos segundos (el valor
predeterminado es 0).
Datetime la combinación de Date y Time

Number Números de cualquier tipo, entero, real, positivo, negativo, etc.


Con SQL podemos hacer entre otras las siguientes operaciones:

1. Crear nuevas bases de datos.


2. Crear nuevas tablas en una base de datos.
3. Crear nuevos registros en las tablas de una base de datos
4. Crear tablas de consulta en una base de datos.
5. Borrar tablas o bases de datos.
6. Borrar registros.
7. Cambiar uno o varios datos de un registro.
8. Mostrar los datos de una tabla o consulta.
9. Buscar y mostrar sólo algunos datos de una tabla o consulta, poniendo una serie de
condiciones para la búsqueda

Las sentencias de SQL se agrupan en tres grandes tipo que son:

 DDL: Lenguaje de definición de Datos: Entran aquí las sentencias que definen y crean los
objetos que soportan la base de datos, las sentencias más importantes DDL en SQL son:

CREATE DATABASE - crea una nueva base de datos


ALTER DATABASE - modifica una base de datos
CREATE TABLE - crea una nueva tabla
ALTER TABLE - modifica una tabla
DROP TABLE - borra una tabla
CREATE INDEX - crea un índice (llave de búsqueda)
DROP INDEX - borra un índice
 DML: Lenguaje de Manipulación de Datos: Entran aquí las sentencias para manejar los datos
almacenados en las tablas, a nivel de campos (columnas) o registros (filas). La parte DML del
SQL de los comandos de consulta y actualización son:

SELECT - extrae datos de una base de datos


UPDATE - actualiza datos en una base de datos
DELETE - borra datos de una base de datos
INSERT INTO - inserta datos dentro de una base de datos

 DCL: Lenguaje de Control de Datos: Entran aquí las sentencias para controlar las funciones
de administración. La parte de DCL de los comandos de SQL de control de datos son:

COMMIT: Guarda los trabajos realizados en las transacciones

ROLLBACK: Restaura la base de datos al estado original desde el comando COMMIT pasado en las
transacciones
SAVEPOINT: establecer un punto en que es posible un ROLLBACK.
SAVETRANSACTION: Establece un punto de almacenamiento dentro de una transacción
GRANT: Permite dar permisos a uno o varios usuarios o roles para realizar tareas determinadas.
REVOKE: Permite eliminar permisos que previamente se han concedido con GRANT: