lunes, 22 de agosto de 2016

041.- Base De Datos - Consultas En SQL Server - Java y NetBeans


 Operaciones básicas en una base de datos:

El trabajo con una base de datos consiste básicamente en hacer lo siguiente:

-       Añadir nuevos registros a las tablas (guardar nueva información).
-       Eliminar registros de las tablas (eliminar información de la base de datos).
-       Modificar registros (modificar la información guardada).
-       Consultar las tablas.


Consultas:

En esta entrada nos centraremos en la realización de consultas.

Una consulta consiste en visualizar aquella información de la base de datos que cumple determinados requisitos.

Por ejemplo, podría interesar el visualizar las ventas realizadas entre una fecha inicial y otra final, o ver las ventas hechas a un cliente en concreto, o ver el listado de trabajadores que tienen turno de mañana, etc.

Hay que tener en cuenta que las tablas de una base de datos contendrán mucha información, pero no siempre necesitaremos acceder a toda ella. Por eso, la realización de consultas es una acción habitual en una base de datos.

Por otro lado, la creación de consultas nos permite averiguar determinada información que no está tan accesible cuando la base de datos es muy grande.

Por ejemplo, podríamos querer ver quienes son los trabajadores que cobran más de una cantidad de sueldo determinada, o qué clientes no han pagado determinadas ventas, etc.


Consultas en SQL Server:

SQL Server permite la creación de consultas de forma sencilla.

En esta entrada se verá la forma de crear consultas a una base de datos de SQL Server.



EJERCICIO GUIADO Nº 1

  1. Abre el SQL Server y ubica la base de datos AMANUVA que se hizo en la entrada anterior.

  1. Para crear una consulta haz clic derecho en AMANUVA y elige la opción New Query (Nueva Consulta):



  1. Aparecerá una hoja en blanco al lado derecho del Explorador de Objetos:



  1. Supongamos que queremos consultar la tabla Servicios. Para ello escribe la siguiente consulta SQL y luego de pulsar F5 se mostrará lo siguiente:



  1. Supongamos que queremos ver aquellos servicios que hayan tenido un coste mayor de 600 soles. Interesa ver la fecha del servicio, el tipo y la cantidad_cobrada. Para esto utilizaremos la siguiente consulta (no olvide pulsar F5):



  1. Vamos a mejorar un poco más la consulta. Interesaría que apareciera el nombre del trabajador que ha realizado el servicio, así pues hay que añadir una nueva tabla a la consulta: la tabla Trabajadores, ya que es esta tabla la que contiene dicho dato. Para ello escriba y ejecute con F5 la siguiente consulta:



  1. Comprueba el resultado de la consulta. Observa como ahora tenemos más información de cada servicio (ahora sabemos también el nombre del trabajador).


  1. También sería interesante que apareciera el nombre del cliente al que se le ha realizado el servicio. Para ello, tendremos que añadir a la consulta la tabla Clientes que es la que contiene este campo.

  1. Modifica la consulta SQL de la siguiente manera, pulsa F5 y comprueba el resultado:



  1. Una vez que una consulta está finalizada, la podremos guardar para usos posteriores. Para ello, cierra la consulta pulsando en el botón cerrar de la ventana de la consulta:



  1. Indica que sí quieres guardar la consulta y escribe el siguiente nombre: Servicios de coste mayor a 600 soles:



  1. Como puedes observar, has creado una consulta a la base de datos AMANUVA. Puedes visualizar el contenido de esta consulta siempre que quieras haciendo doble clic sobre el archivo guardado:



  1. En SQL Server puedes diseñar y guardar todas aquellas consultas que puedan resultar más interesantes para el trabajo diario.

Las consultas, aunque no son tablas, se comportan como tal. Básicamente, se puede decir que una consulta es una subtabla, que muestra una parte de la información de la base de datos.




CRITERIOS EN CONSULTAS

En el ejercicio guiado anterior, se realizó una consulta que mostraba los servicios de más de 600 soles de coste.


Criterios para campos de tipo Fecha/Hora:


En el caso de los campos de tipo Fecha los operadores que se usan son los mismos que para los campos numéricos, solo que el significado es distinto en algunos casos. Ejemplos:


> 10-12-2007                   Posterior al 10 del 12 del 2007

>= 10-12-2007                  Posterior al 10 del 12 del 2007 (incluyendo dicha fecha)

< 10-12-2007                   Anterior al 10 del 12 del 2007

<= 10-12-2007                  Anterior al 10 del 12 del 2007 (incluyendo dicha fecha)

<> 10-12-2007                  Distinto de 10 del 12 del 2007

Between 10-12-2007 and 20-12-2007                     Entre el 10 del 12 del 07 y el 20 del 12 del 07 (incluyendo dichas fechas)



Criterios para campos de tipo Texto:

En los campos de tipo texto se pueden usar porcentajes para definir búsquedas más extensas. Observa los siguientes ejemplos:


Para buscar aquellos registros de la tabla Trabajadores cuyo campo nombres sea exactamente JOSE MANUEL se utilizará la siguiente consulta:

SELECT *
FROM Trabajadores
WHERE nombres = ‘JOSE MANUEL’

Encontraría a los que tengan de nombre JOSE MANUEL.
No encontraría a los que se llamaran JOSE a secas, o MANUEL a secas.



Para buscar aquellos registros de la tabla Trabajadores cuyo campo nombres empiece por JOSE se utilizará la siguiente consulta:

SELECT *
FROM Trabajadores
WHERE nombres LIKE ‘JOSE%’

Encontraría a los JOSE MANUEL, JOSE MARIA, JOSE LUIS, etc.
No encontraría a los MANUEL JOSE, ANTONIO JOSE, etc.



Para buscar aquellos registros de la tabla Trabajadores cuyo campo nombres termine en JOSE se utilizará la siguiente consulta:

SELECT *
FROM Trabajadores
WHERE nombres LIKE ‘%JOSE’

Encontraría a los MANUEL JOSE, ANTONIO JOSE, MARIA JOSE, etc.
No encontraría a los JOSE MANUEL, JOSE ANTONIO, etc.



Para buscar aquellos registros de la tabla Trabajadores cuyo campo nombres contenga la palabra JOSE en cualquier parte se utilizará la siguiente consulta:

SELECT *
FROM Trabajadores
WHERE nombres LIKE ‘%JOSE%’

Encontraría a los JOSE MANUEL, ANTONIO JOSE, MARIA JOSE, ANTONIO JOSE DE LOS SANTOS, etc.




Criterios complejos:


Si se quiere buscar aquellos registros que cumplan varios criterios a la vez, tendrán que escribirse dichos criterios en la cláusula WHERE. Por ejemplo:

Para buscar aquellos trabajadores cuyo nombre termine en JOSE y cobren más de 1000 soles, se utilizará la siguiente consulta:

SELECT *
FROM Trabajadores
WHERE nombres LIKE ‘%JOSE’ AND sueldo > 1000




Se pueden establecer varios criterios en una misma consulta colocándolos en la cláusula WHERE. Esto es como mostrar el resultado de varias consultas en una sola. Por ejemplo:

Para mostrar aquellos trabajadores que tengan un nombre que termine en JOSE y cobren más de 1000 soles, mostrando también aquellos trabajadores que cobran 900 soles y además mostrar también a los trabajadores que se llamen ANTONIO; se utilizará la siguiente consulta:

SELECT *
FROM Trabajadores
WHERE (nombres LIKE ‘%JOSE’ AND sueldo > 1000)
OR sueldo = 900
OR nombres = ‘ANTONIO’




NOTA. La creación de consultas en SQL Server es un tema amplio. Se recomienda al lector buscar información adicional sobre esto. En Internet podrá encontrar múltiples tutoriales.





CONCLUSIONES:

Una consulta muestra una parte de información de toda la base de datos.

Se muestran determinados campos y también aquellos registros que cumplan un criterio determinado.

En SQL Server se pueden diseñar consultas y almacenarlas permanentemente.

Para crear una consulta en SQL Server básicamente hay que seguir tres pasos:

- Indicar las tablas que contienen los campos necesarios.
- Indicar los campos que se quieren visualizar.
- Indicar el criterio de selección de registros.

No hay comentarios.:

Publicar un comentario