Está en la página 1de 10

Bases de datos-SQL-Sentencias SQL

Entendemos por Lenguaje de consulta estructurado (SQL) 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.

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.

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:

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

En la actualidad el lenguaje SQL es aceptado por la mayoría de las bases de datos y


proporciona un modo sencillo e intuitivo de leer, introducir o modificar la información
contenida en las tablas.

Su conocimiento es indispensable ya que prácticamente todas las aplicaciones


cuentan con un respositorio de datos al que hay que acceder en un momento u otro
mediante una consulta 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–.

Crear una base de datos

Con Access, crear una base de datos es muy fácil. Los siguientes puntos
muestran los pasos a seguir:

Paso 1: Nueva Base De Datos


Haciendo doble clic sobre el icono del programa se abre Access.
Automáticamente se muestra una ventana que ofrece al usuario
tres posibilidades. De entre todas ellas se debe seleccionar “Base
de datos de Access en blanco”.

Paso 2: Archivo .mdb


Las bases de datos Access utilizan archivos .mdb para guardar la información. El
siguiente paso consiste pues en seleccionar el directorio donde se desea guardar el
archivo, así como el nombre del mismo.

Paso 3: Ventana principal de la base de datos


La ventana principal contiene la mayor parte de las opciones y menús que se utilizarán
durante una típica sesión de Access. Para crear una tabla nueva hay que seleccionar
la opción “Crear una tabla en vista Diseño”.

Paso 4: Definir el nombre y el tipo de los campos


En la columna de la izquierda se debe introducir el nombre de los campos y en la
columna de la derecha el tipo de los mismos. Éste puede elegirse de entre una lista
que aparece de manera automática al escribir o hacer clic con el ratón.

Paso 5: Nombre de la tabla


Al cerrar la ventana de definición de los campos Access solicita el nombre que se
quiere dar a esa tabla.

Paso 6: Clave primaria


Una clave primaria es un campo de la tabla que indentifica unívocamente a un registro.

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.

Paso 7: Ventana principal


Una vez que la tabla ha sido definida, aparece el nombre de la misma en la ventana
principal de la aplicación como puede verse en la imagen.

Paso 8: Introducir datos


Haciendo doble clic en el nombre de la tabla, en la ventana principal, se muestra una
tabla mediante la cual es posible introducir registros. Todos los cambios son
guardados inmediatamente sin necesidad de tener que salvar.

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.

Paso 1: Ventana principal de la aplicación


En el menú de la izquierda hay que seleccionar el botón
“Consultas” y hacer clic en la opción “Crear una consulta en vista
Diseño”.

Paso 2: Selección de las tablas implicadas


La aplicación Access cuenta con un asistente para realizar
consultas. Aunque puede ser muy práctico nuestro objetivo es aprender a desarrollar
estas consultas utilizando el lenguaje SQL.

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.

Paso 3: Vista SQL


Para llegar a la ventana de edición de sentencias SQL es necesario seleccionar la
opción “Vista SQL” que aparece en el desplegable anexo al botón principal.

Paso 4: Ventana de edición


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.

Paso 5: Resultado de la ejecución


El resultado de la ejecuión de la consulta queda recogido en una ventana similar a la
que se muestra cuando se introducen datos.

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.

Ésta es precisamente otra de las cuestiones que deben afrontarse,


ya que no se trata únicamente de obtener los datos deseados, sino
de hacerlo además en un tiempo razonable. El lenguaje SQL es
muy flexible y permite realizar una misma consulta de muy diversas
formas. Puede llegar a ser difícil determinar cuál es la más eficiente
de entre todas ellas, pero lo que sí resulta más fácil es detectar
aquellas soluciones que son especialmente perjudiciales para el
rendimiento de la base de datos, y que, por lo tanto, hay que evitar.

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.

Por lo general se suelen combinar registros procedentes de dos o


más tablas a partir de valores coincidentes en un campo común.
Otras veces es preciso hacer subconsultas, o lo que es lo mismo,
crear mediante sentencias SELECT tablas temporales de datos que
forman parte a su vez de la cláusula FROM de otra sentencia
SELECT. En todos estos casos, donde las posibles combinaciones
de elementos pueden ser muchas, no hay que olvidar el factor
eficiencia.

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:

SELECT NOMBRE, DIRECCION


FROM CONTACTOS, DIRECCION
WHERE CONTACTOS.ID = DIRECCION.ID

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.

Al principio puede resultar bastante confuso llegar a entender de qué forma se


producen las combinaciones de la tablas en este tipo de sentencias SQL.

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)

De lo anterior se deduce que, a la hora de calcular cuántos elementos hay en la tabla


CONTACTOS, solamente se van a tener en cuenta aquellos cuyo ID no aparece en la
tabla DIRECCION. En otras palabras, la consulta anterior determina el número total de
contactos para los que no se ha registrado una dirección.

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

1. ¿Qué es el lenguaje de consulta?

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.

2. ¿En qué año inició la historia de SQL?

empieza en 1974

3. ¿Cómo inició SQL?

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.

4. ¿Con que nombre nace la versión estándar de SQL?

Va con el nombre de SQL/86

5. ¿Cuáles son las características principales de la nueva SQL?

Las características principales de esta nueva encarnación de SQL deberían ser


su transformación en un lenguaje stand-alone y la introducción de nuevos tipos
de datos más complejos que permitan, por ejemplo, el tratamiento de datos
multimediales.

6. ¿Cómo está compuesto SQL?

está compuesto por comandos, cláusulas, operadores y funciones de agregado

7. ¿Cuáles son sus 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.

8. ¿Por qué es indispensable SQL?

Es indispensable ya que prácticamente todas las aplicaciones cuentan con un


respositorio de datos al que hay que acceder en un momento u otro mediante
una consulta SQL.

7
9. ¿Con que programa puedes crear una base de datos?
Con Access

10. -Menciona los pasos para crear una base de datos

Archivo .mdb
Definir el nombre y el tipo de los campos

11. Describe los puntos del paso 1 para crear una base de datos

Paso 1: Nueva Base De Datos


Haciendo doble clic sobre el icono del programa se abre Access.
Automáticamente se muestra una ventana que ofrece al usuario tres
posibilidades. De entre todas ellas se debe seleccionar “Base de datos de
Access en blanco”.

12. Define como se realiza el paso 3 de Vista SQL

Paso 3: Vista SQL


Para llegar a la ventana de edición de sentencias SQL es necesario seleccionar la
opción “Vista SQL” que aparece en el desplegable anexo al botón principal.

13. ¿Qué es la Ventana de edición

La ventana de edición es un simple editor de texto donde se escriben las


sentencias SQL.

14. Como se ejecuta la ventana de edición?

Una vez que se ha terminado se debe pulsar el botón principal para que la consulta
se ejecute.

15. Define el Resultado de la ejecución.

El resultado de la ejecución de la consulta queda recogido en una ventana similar a


la que se muestra cuando se introducen datos.

16. ¿Cómo se crea una consulta con Access?

En el menú de la izquierda hay que seleccionar el botón “Consultas” y hacer clic en


la opción “Crear una consulta en vista Diseño”.

La aplicación Access cuenta con un asistente para realizar consultas.

Para llegar a la ventana de edición de sentencias SQL es necesario seleccionar la


opción “Vista SQL” que aparece en el desplegable anexo al botón principal.

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.

El resultado de la ejecución de la consulta queda recogido en una ventana similar a


la que se muestra cuando se introducen datos.

17. –Comente sobre las 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.

18. ¿Que son las 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.

19. ¿ Por qué son complejas?

Porque suelen combinar registros procedentes de dos o más tablas a partir de


valores coincidentes en un campo común

20. ¿Con cuales campos cuenta la tabla de dirección?

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.

21. ¿Qué son las sub consultas?

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.

22. –Muestre un ejemplo de sub consulta

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

Primero es el ID 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.

9
24. ¿Qué tipo de clausula utiliza la subcosulta interna?.

GROUP BY

25. ¿Cómo se constituye una tabla temporal de TMP?

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.

10

También podría gustarte