Documentos de Académico
Documentos de Profesional
Documentos de Cultura
La historia de SQL 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. 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.
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.
Comandos
o DLL que permiten crear y definir nuevas bases de datos, campos e índices.
o DML que permiten generar consultas para ordenar, filtrar y extraer datos de la
base de datos.
1
Introducción al lenguaje de las bases de datos: SQL
Las bases de datos necesitan proporcionar un medio para que los usuarios puedan
insertar, modificar o consultar la información, y el lenguaje SQL se ha convertido en un
estándar que es admitido por la mayoría –aunque también es cierto que existen
cosiderables diferencias entre la versiones que interpretan unas bases de datos y
otras–.
Con Access, crear una base de datos es muy fácil. Los siguientes puntos
muestran los pasos a seguir:
2
El DNI en una tabla de personas es el caso más típico que suele mencionarse para
explicar este concepto: identifica de manera indiscutible a un único individuo y no
puede repetirse, por lo que es la clave primaria de una tabla de esas características.
No es obligatorio definir una clave primaria.
3
Crear una consulta
Antes de pasar a estudiar la sintaxis de las sentencias SQL es preciso ver cómo
se puede crear una consulta con Access.
Por este motivo, antes de llegar a la pantalla donde se pueden introducir directamente
sentencias SQL es preciso pasar por algunas otras ventanas como la que detalla en la
cabecera del artículo, en la que se definen las tablas implicadas en la consulta. En
principio da lo mismo las tablas que se seleccionen ya que la consulta será reescrita “a
mano” más tarde.
Consultas simples
Probablemente consultar los datos es una de las tareas que se llevan a cabo con
mayor frecuencia. Cuando existen varias tablas y las relaciones entre ellas son
complejas, las consultas puede llegar a ser francamente complicadas tardando en
ejecutarse una cantidad de tiempo nada despreciable.
4
Consultas complejas
En la mayor parte de los casos es necesario usar en una consulta varias tablas para
llegar a obtener la información deseada.
Combinación de tablas
Para este ejemplo se va a añadir una nueva tabla a la base de datos de contactos. Se
trata de la tabla DIRECCION y cuenta con los siguientes campos: ID (identificador
único de los contactos), DIRECCION (dirección completa del contacto). Como se
puede observar se trata de una tabla muy sencilla. Cada contacto de la tabla
CONTACTO puede tener una o más direcciones, lo que significa varios registros de la
tabla DIRECCION.
La siguiente consulta muestra cómo se puede obtener una lista con los nombres de los
contactos y las posibles direcciones:
Los nombres de las tablas aparecen en la cláusula FROM separados por comas. El
campo que guardan en común, en este caso el campo ID, es el nexo que permite
relacionar la información de ambas tablas. Como el nombre de dicho campo es igual
en las dos, es necesario calificarlo para que la base de datos sea capaz de saber a
qué tabla corresponde la referencia. Esto se lleva a cabo poniendo delante del nombre
del campo el nombre de tabla seguido de un punto.
5
Subconsultas
Hasta el momento todas las condiciones que se han aplicado en la cláusula WHERE
han consistido en comparar el valor de un campo con un literal –es decir, con una
constante, ya sea una cadena de texto, un número, etc.– o bien en relacionar dos
campos que pertencen a tablas distintas. Existe una posibilidad más y es la que
proporcionan las subconsultas. De manera informal se puede decir que una
subconsulta no es más que una consulta dentro de otra consulta, o lo que es lo mismo,
una sentencia SELECT que forma parte de otra sentencia SELECT. La siguiente
consulta muestra un ejemplo:
SELECT COUNT(*)
FROM CONTACTOS
WHERE ID NOT IN (SELECT DISTINCT ID FROM
DIRECCION)
La subcosulta interna utiliza la cláusula GROUP BY para obtener una tabla de datos
formada por dos campos: el primero es el ID (identificador único de un contacto) y el
segundo es la cuenta de las veces que aparece ese ID en la tabla DIRECCION, o lo
que es lo mismo, el número de direcciones que hay para ese contacto. Rodear con
paréntesis la consulta y poner a continuación el nombre TMP es equivalente a indicar
a la base de datos que los resultados producidos por esa consulta van a constituir una
tabla temporal llamada TMP.
6
CUESTIONARIO
empieza en 1974
o DLL que permiten crear y definir nuevas bases de datos, campos e índices.
o DML que permiten generar consultas para ordenar, filtrar y extraer datos de la
base de datos.
7
9. ¿Con que programa puedes crear una base de datos?
Con Access
Archivo .mdb
Definir el nombre y el tipo de los campos
11. Describe los puntos del paso 1 para crear una base de datos
Una vez que se ha terminado se debe pulsar el botón principal para que la consulta
se ejecute.
8
La ventana de edición es un simple editor de texto donde se escriben las
sentencias SQL. Una vez que se ha terminado se debe pulsar el botón principal
para que la consulta se ejecute.
Probablemente consultar los datos es una de las tareas que se llevan a cabo
con mayor frecuencia. Cuando existen varias tablas y las relaciones entre ellas
son complejas, las consultas puede llegar a ser francamente complicadas
tardando en ejecutarse una cantidad de tiempo nada despreciable.
En la mayor parte de los casos es necesario usar en una consulta varias tablas
para llegar a obtener la información deseada.
No es más que una consulta dentro de otra consulta, o lo que es lo mismo, una
sentencia SELECT que forma parte de otra sentencia SELECT.
SELECT COUNT(*)
FROM CONTACTOS
WHERE ID NOT IN (SELECT DISTINCT ID FROM
DIRECCION)
23. ¿ Que utiliza la subcosulta interna para obtener una tabla de datos
formada por dos campos
9
24. ¿Qué tipo de clausula utiliza la subcosulta interna?.
GROUP BY
10