domingo, 20 de marzo de 2016

Consultas I

Empecemos directamente con lo que será la tónica de este curso: las consultas SQL. Es en esta parte donde está lo esencial de SQL, y no será hasta el final que veremos la creación de tablas y cómo modificar su información. Después de todo no tiene sentido aprender primero a crear tablas si no sabemos que hacer con ellas.

Consultas SQL

Abordemos las consultas SQL con un caso práctico. Sobre la tabla Empleados se plantea la siguiente cuestión: ¿Qué empleados tienen un salario mayor a 1350?




La respuesta es simple: José y Carlos tiene un salario mayor a 1350, pero si tuviésemos 500 empleados nos llevaría más tiempo responder, y al final tampoco tendríamos la certeza de no habernos equivocado. SQL nos permite responder estas preguntas de forma rápida y fiable, excepto si existe algún error al construir la consulta o en los propios datos.

Vamos a construir la consulta que nos permita responder a esta cuestión.

Preguntas de Construcción

Para construir una consulta SQL debemos hacernos como mínimo tres preguntas:

1.- ¿Qué datos nos están pidiendo?
En este caso, el nombre y los apellidos de los empleados.

2.- ¿Dónde están esos datos? 
Obviamente están en la tabla empleados.

3.- ¿Qué requisitos deben cumplir los registros?
En este caso, que el sueldo del empleado sea superior a 1350.

Vamos a suponer por un momento que el SGBD (que es quien intermedia entre el usuario y la BD) fuese una persona; la BD un archivo de papel, y el jefe pide lo siguiente: "Necesito saber ¿qué empleados cobran más de 1350 euros?" Tu, que conoces bien el archivo (tablas) y los datos que contiene la ficha de un empleado (campos de la tabla Empleados), mentalmente comienzas a hacerte las preguntas de construcción y le dices a tu ayudante que siempre espera ordenes concretas:

Seleccioname el Nombre y los Apellidos
del archivo Empleados
cuyo Salario sea mayor a 1350

El ayudante sirve la petición y te la entrega para que finalmente tu se la facilites al jefe. ¿Qué papel ocuparían hoy en una empresa moderna? El jefe sigue siendo el jefe, eso está claro, pero tu has pasado a ser el informático, y tu ayudante el SGBD.

Sintaxis SQL

En SQL la forma de operar es parecida, esta información se obtiene mediante la siguiente consulta:

SELECT Nombre, Apellidos
FROM Empleados
WHERE Salario > 1350

Y el resultado que nos devuelve el SGBD es:




Parecido a lo que te entregaría tu ayudante en el archivo, una lista con la respuesta o solución a la cuestión planteada. Como puedes ver, tanto el modo de solicitar la información al SGBD, sea clásico y informatizado, como el modo en que este nos muestra la información son muy similares (al menos en este caso). No podemos afirmar lo mismo del tiempo en que uno y otro tardan en facilitarnos la información solicitada.

Forma general

En general una consulta SQL simple tendrá la siguiente forma:

SELECT <Campos> (Separados por comas)
FROM <Tabla>
WHERE <Condición>

SQL permite al usuario desentenderse de como el SGBD ejecuta la consulta, al igual que tu te desentiendes de como tu ayudante se las ingenia para facilitarte la información. Tu esperarás pacientemente a que tu ayudante prepare el pedido y te entregue los datos. Dicho de otro modo, basta con saber como pedir la información y no como proceder a reunirla.

Resumen

Hemos visto como construir una consulta SQL simple y concreta, que nos da la solución a una cuestión concreta.

Se ha definido la forma general de una consulta SQL simple:

SELECT <Campos> (Separados por comas)
FROM <Tabla>
WHERE <Condición>

Destacar también la utilidad de las preguntas de construcción para ayudarnos a construir la consulta:
1.- ¿Qué datos nos piden?
2.- ¿Dónde están los datos?
3.- ¿Qué requisitos debe cumplir los registros?

En una empresa moderna un informático cumple la función de encargado del archivo, y sus ayudantes son hoy los sistemas informatizados (SGBD).

Ejercicio propuesto

Intenta hallar una consulta que devuelva el Nombre, Apellidos y la Fecha de nacimiento de aquellos Empleados que cobren más de 1350 euros.

No hay comentarios:

Publicar un comentario