Curso de SQL

El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por los diferentes motores de bases de datos para realizar determinadas operaciones sobre los datos o sobre la estructura de los mismos. Pero como sucede con cualquier sistema de normalizaci�n hay excepciones para casi todo; de hecho, cada motor de bases de datos tiene sus peculiaridades y lo hace diferente de otro motor, por lo tanto, el lenguaje SQL normalizado (ANSI) no nos servir� para resolver todos los problemas, aunque si se puede asegurar que cualquier sentencia escrita en ANSI ser� interpretable por cualquier motor de datos.

.�Breve Historia

La historia de SQL (que se pronuncia deletreando en ingl�s las letras que lo componen, es decir "ese-cu-ele" y no "siquel" como se oye a menudo) empieza en 1974 con la definici�n, por parte de Donald Chamberlin y de otras personas que trabajaban en los laboratorios de investigaci�n de IBM, de un lenguaje para la especificaci�n de las caracter�sticas 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 revisi�n del lenguaje (SEQUEL/2), que a partir de ese momento cambi� de nombre por motivos legales, convirti�ndose en SQL. 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 todav�a comercializado, tambi�n otras compa��as 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 el curso de los a�os ochenta, numerosas compa��as (por ejemplo Oracle y Sybase, s�lo por citar algunos) comercializaron productos basados en SQL, que se convierte en el est�ndar industrial de hecho por lo que respecta a las bases de datos relacionales.

En 1986, el ANSI adopt� SQL (sustancialmente adopt� el dialecto SQL de IBM) como est�ndar para los lenguajes relacionales y en 1987 se transfom� en est�ndar ISO. Esta versi�n del est�ndar va con el nombre de SQL/86. En los a�os siguientes, �ste ha sufrido diversas revisiones que han conducido primero a la versi�n SQL/89 y, posteriormente, a la actual SQL/92.

El hecho de tener un est�ndar definido por un lenguaje para bases de datos relacionales abre potencialmente el camino a la intercomunicabilidad entre todos los productos que se basan en �l. Desde el punto de vista pr�ctico, por desgracia las cosas fueron de otro modo. Efectivamente, en general cada productor adopta e implementa en la propia base de datos s�lo el coraz�n del lenguaje SQL (el as� llamado Entry level o al m�ximo el Intermediate level), extendi�ndolo de manera individual seg�n la propia visi�n que cada cual tenga del mundo de las bases de datos.

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. Las caracter�sticas principales de esta nueva encarnaci�n de SQL deber�an ser su transformaci�n en un lenguaje stand-alone (mientras ahora se usa como lenguaje hospedado en otros lenguajes) y la introducci�n de nuevos tipos de datos m�s complejos que permitan, por ejemplo, el tratamiento de datos multimediales.

.�Componentes del SQL

El lenguaje SQL est� compuesto por comandos, cl�usulas, operadores y funciones de agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de datos.

.�Comandos

Existen dos tipos de comandos SQL:

  • Los DLL que permiten crear y definir nuevas bases de datos, campos e �ndices.
  • Los DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos.

Comandos DLL:

Comando Descripci�n
CREATE Utilizado para crear nuevas tablas, campos e �ndices
DROP Empleado para eliminar tablas e �ndices
ALTER Utilizado para modificar las tablas agregando campos o cambiando la definici�n de los campos.

Comandos DML:

Comando Descripci�n
SELECT Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado
INSERT Utilizado para cargar lotes de datos en la base de datos en una �nica operaci�n.
UPDATE Utilizado para modificar los valores de los campos y registros especificados
DELETE Utilizado para eliminar registros de una tabla de una base de datos

.�Cl�usulas

Las cl�usulas son condiciones de modificaci�n utilizadas para definir los datos que desea seleccionar o manipular.

Cl�usula Descripci�n
FROM Utilizada para especificar la tabla de la cual se van a seleccionar los registros
WHERE Utilizada para especificar las condiciones que deben reunir los registros que se van a seleccionar
GROUP BY Utilizada para separar los registros seleccionados en grupos espec�ficos
HAVING Utilizada para expresar la condici�n que debe satisfacer cada grupo
ORDER BY Utilizada para ordenar los registros seleccionados de acuerdo con un orden espec�fico

.�Operadores l�gicos

Operador Uso
AND Es el "y" l�gico. Evalua dos condiciones y devuelve un valor de verdad s�lo si ambas son ciertas.
OR Es el "o" l�gico. Eval�a dos condiciones y devuelve un valor de verdar si alguna de las dos es cierta.
NOT Negaci�n l�gica. Devuelve el valor contrario de la expresi�n.

.�Operadores de Comparaci�n

Operador Uso
< Menor que
> Mayor que
<> Distinto de
<= Menor � Igual que
>= Mayor � Igual que
= Igual que
BETWEEN Utilizado para especificar un intervalo de valores.
LIKE Utilizado en la comparaci�n de un modelo
In Utilizado para especificar registros de una base de datos

.�Funciones de Agregado

Las funciones de agregado se usan dentro de una cl�usula SELECT en grupos de registros para devolver un �nico valor que se aplica a un grupo de registros.

Funci�n Descripci�n
AVG Utilizada para calcular el promedio de los valores de un campo determinado
COUNT Utilizada para devolver el n�mero de registros de la selecci�n
SUM Utilizada para devolver la suma de todos los valores de un campo determinado
MAX Utilizada para devolver el valor m�s alto de un campo especificado
MIN Utilizada para devolver el valor m�s bajo de un campo especificado

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP