15
5 Las Consultas 5 LAS CONSULTAS La potencia real de una BD (o más bien, de un sistema de gestión de BD) reside en su capacidad para mostrar los datos que se desea y en el orden en que se necesita. Las consultas permiten plantear preguntas sobre los datos almacenados en las tablas. Los datos de una consulta pueden proceder de una o varias tablas. Las consultas permiten: 1. Elegir los campos deseados. 2. Elegir registros, especificando los criterios que estos deben cumplir. 3. Ordenar registros. 4. Formular preguntas sobre los datos de varias tablas. 5. Realizar cálculos. Pueden crearse campos calculados que contengan el resultado de un cálculo. Por ejemplo: un Importe calculado como el producto de un precio y una cantidad. 6. Usar consultas como origen de datos para formularios, informes y otras consultas. 7. Modificar datos de las tablas mediante las consultas de acciones . Tipos de consultas en Access De selección: Es el tipo de consulta más habitual. Obtiene los datos de una o más tablas y muestra los resultados en una hoja de datos en la que es posible actualizar los registros (con algunas restricciones). También puede utilizar una consulta de selección para agrupar los registros y calcular sumas, cuentas, promedios y otros tipos de totales. Son esencialmente consultas para recuperar datos. De tabla de referencias cruzadas: muestra valores resumidos (sumas, cuentas y promedios) de un campo de una tabla y los agrupa según un conjunto de hechos enumerados en el lado izquierdo de la hoja de datos y otro conjunto de hechos enumerados en la parte superior de la hoja de datos. Permite resumir gran cantidad de información en un formato de sólo lectura. De acciones: Son consultas que realizan cambios a muchos registros en una sola operación. Existen cuatro tipos de consultas de acción: De eliminación : Elimina un grupo de registros de una o más tablas. De actualización: Realiza cambios globales a un grupo de registros de una o más tablas, dando la posibilidad de cambiar los datos de las tablas existentes. Consulta: Objeto de la BD que permite formular preguntas sobre los datos almacenados en las tablas. Usadas para ver, cambiar y analizar los datos de diferentes maneras. También se usan como origen de registros para los formularios e informes.

5 LAS CONSULTAS - Overblogdata.over-blog-kiwi.com/0/69/38/19/201309/ob_97dc5c...Las Consultas 5 5 LAS CONSULTAS La potencia real de una BD (o más bien, de un sistema de gestión de

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

5 Las Consultas

5

LAS CONSULTAS

La potencia real de una BD (o más bien, de un sistema de gestión de BD) reside en su capacidad para mostrar los datos que se desea y en el orden en que se necesita. Las consultas permiten plantear preguntas sobre los datos almacenados en las tablas. Los datos de una consulta pueden proceder de una o varias tablas.

Las consultas permiten: 1. Elegir los campos deseados. 2. Elegir registros, especificando los criterios que estos deben cumplir. 3. Ordenar registros. 4. Formular preguntas sobre los datos de varias tablas. 5. Realizar cálculos. Pueden crearse campos calculados que contengan el resultado de un

cálculo. Por ejemplo: un Importe calculado como el producto de un precio y una cantidad. 6. Usar consultas como origen de datos para formularios, informes y otras consultas. 7. Modificar datos de las tablas mediante las consultas de acciones.

Tipos de consultas en Access

De selección: Es el tipo de consulta más habitual. Obtiene los datos de una o más tablas y muestra los resultados en una hoja de datos en la que es posible actualizar los registros (con algunas restricciones). También puede utilizar una consulta de selección para agrupar los registros y calcular sumas, cuentas, promedios y otros tipos de totales. Son esencialmente consultas para recuperar datos.

De tabla de referencias cruzadas: muestra valores resumidos (sumas, cuentas y promedios) de un campo de una tabla y los agrupa según un conjunto de hechos enumerados en el lado izquierdo de la hoja de datos y otro conjunto de hechos enumerados en la parte superior de la hoja de datos. Permite resumir gran cantidad de información en un formato de sólo lectura. De acciones: Son consultas que realizan cambios a muchos registros en una sola operación. Existen cuatro tipos de consultas de acción:

De eliminación: Elimina un grupo de registros de una o más tablas. De actualización: Realiza cambios globales a un grupo de registros de una o más

tablas, dando la posibilidad de cambiar los datos de las tablas existentes.

Consulta: Objeto de la BD que permite formular preguntas sobre los datos almacenados en las tablas. Usadas para ver, cambiar y analizar los datos de diferentes maneras. También se usan como origen de registros para los formularios e informes.

5 Las Consultas

De datos anexados: Agrega un grupo de registros de una o más tablas al final de una o más tablas. Pueden servir para aprovechar información que ya está registrada en una tabla y se desea anexar a otra.

Consulta de creación de tabla: Crea una tabla nueva a partir de todos o de parte de los datos de una o más tablas. Consulta SQL: Se crea mediante una instrucción SQL. La consulta de unión , la consulta

de paso a través , la consulta de definición de datos y la subconsulta son ejemplos de consultas específicas de SQL. Estos tipos de consultas requieren conocimiento del lenguaje SQL (Structured Query Language, un estándar para la manipulación de BD relacionales), por lo que se reservan para usuarios avanzados y quedan fuera del alcance de este material.

Crear consultas La creación de una nueva consulta desde la Ventana de la BD puede hacerse de dos maneras diferentes:

Fig. 5.1 Creación de una nueva consulta desde la ventana de la BD Las consultas pueden crearse mediante los Asistentes o sin ellos. Estos Asistentes aceleran el proceso de diseñar varios tipos especializados de consultas: ? Asistente para Consultas sencillas. ? Asistente para Consultas de Referencias cruzadas. ? Asistente para Consultas de Buscar Duplicados. (Busca registros duplicados en la tabla

o consulta seleccionados) ? Asistente para Consultas de Buscar no-coincidentes. (Busca todos los registros de una

tabla que no tienen registros relacionados en otra. Por ejemplo: Empleados que no hayan pasado cursos de superación)

... Otra forma es haciendo clic en el botón Nuevo, teniendo seleccionado el objeto Consultas en la Ventana de la BD.

Una forma es mediante estas 2 opciones de Crear una consulta...

5 Las Consultas

Creación de consultas mediante Asistente Siguiendo la filosofía habitual de los asistentes de Windows, se presentan varios cuadros de diálogo en sucesión que permiten ir especificando la consulta deseada. El Asistente para Consultas Sencillas facilita extraordinariamente el proceso de creación de consultas cuyo diseño puede ser modificado posteriormente en la Vista Diseño. En el primer paso del asistente se especifican los campos que se desea incluir en la consulta. Para ello se selecciona primero la tabla o consulta donde aparecen los campos que se van a

incluir. Hecho esto, se escogen los campos deseados y se hace clic en el botón . (ver figura 5.2)

Fig. 5.2 Primer paso del Asistente para consultas sencillas. En el segundo paso del asistente se especifica el nombre de la consulta y se selecciona si se desea abrirla para ver los resultados, o si se desea modificar su diseño.

Seleccionar la tabla o consulta 1

Seleccionar los campos 2

Clic en Siguiente... 3

5 Las Consultas

Fig. 5.3 Segundo paso del Asistente para consultas sencillas. Una vez creada la consulta, podrá pasarse a la Vista Hoja de datos o ejecutarse para ver los resultados de la misma. Vistas Las consultas tienen tres vistas: vista Diseño, vista Hoja de Datos y vista SQL. La Vista Diseño, a la que se le dedica el siguiente epígrafe, es la empleada para crear la consulta. La Vista Hoja de datos presenta los datos en un formato de filas y columnas, tal y como se vio en el TEMA IV dedicado a las tablas. Esta vista permite modificar y agregar datos, mostrando los resultados de la consulta creada. En el caso particular de las consultas de acciones, la vista Hoja de datos muestra una vista previa de los datos que se verán afectados por la ejecución de la consulta de acción.

Fig. 5.4 Consulta de selección en Vista Hoja de Datos.

Dar nombre a la consulta 1

Elegir acción 2

Clic en Finalizar 3

5 Las Consultas

La Vista SQL muestra la instrucción SQL de la consulta. SQL significa Structured Query Language, o sea, lenguaje estructurado de consultas. Al crear una consulta en Vista Diseño, Access construye la instrucción SQL equivalente, que es precisamente lo que se muestra en esta vista. Los usuarios avanzados pueden crear las consultas específicas de SQL (unión, paso a través o definición de datos) directamente en esta vista, lo que requiere por supuesto conocimiento de dicho lenguaje. Para alternar entre las diferentes vistas se emplea el primer botón de la barra de herramientas:

Ejecutar una consulta Desde la Ventana de la BD: Al hacer clic en el botón se ejecuta la consulta. En el caso de las consultas de acciones, se mostrará previamente un mensaje de advertencia y confirmación acerca de la información que se va a modificar en la BD como resultado de la ejecución de la consulta. Desde la Vista Diseño: Para ejecutar una consulta, sea cual sea su tipo, se emplea el botón

de la barra de herramientas. En el caso de las consultas de selección, mostrará los resultados en la forma en que aparece en la Fig. 5.4. Si se trata de una consulta de acción, Access mostrará el mensaje de confirmación explicado en el párrafo anterior.

Las consultas en Vista Diseño Las consultas pueden crearse directamente en la Vista Diseño; también puede modificarse una consulta que haya sido creada mediante el Asistente para Consultas sencillas u otro asistente. Para la creación de consultas en Vista Diseño se emplea una herramienta gráfica llamada Cuadrícula de Diseño que se muestra a continuación:

Fig. 5.5 Vista Diseño de una consulta

En la parte superior de la ventana se agregan las tablas que contienen los datos...

1

... y se rellena la Cuadrícula con los campos deseados (arrastrándolos desde la tabla o haciendo doble clic sobre ellos o seleccionándolos en la lista desplegable de la propia cuadrícula). También se puede especificar el orden deseado para visualizar los resultados, cuáles campos serán mostrados y los criterios. Todo esto determina cuáles serán los resultados de la consulta.

2

5 Las Consultas

Los botones de la barra de Herramientas proporcionan métodos abreviados para los comandos usados al diseñar una consulta:

Uso de la Cuadrícula de Diseño Campo: Los campos se arrastran de la lista de campos de la(s) tabla(s) de la parte superior; también pueden seleccionarse de la lista que se despliega en cada celda de campo de la cuadrícula o puede hacerse doble clic sobre los que se desea añadir a la cuadrícula Se pueden arrastrar en bloque seleccionando varios con CTRL.+ clic o SHIFT + clic, del modo habitual en Windows.

Para seleccionar todos los campos se usa el *. Tabla: Esta fila se puede mostrar mediante la opción de menú \Ver\Nombres de tabla. Resulta útil cuando la consulta incluye campos de varias tablas.

Orden: La interpretación de los datos puede resultar más sencilla si están ordenados. Es útil crear una consulta que ordene los datos cuando se desea mostrar estos siguiendo un orden en un formulario o informe, o también en un cuadro combinado o de lista. En estos casos se puede crear la consulta que ordene y luego usarla como origen de los datos del formulario, informe, cuadro o lista. El orden puede ser Ascendente o Descendente. Pueden especificarse varios campos, en cuyo caso ordenará en primer lugar el campo más a la izquierda. Criterios: Permiten limitar la hoja de respuestas dinámica a ciertos registros, aquellos que cumplan los criterios especificados. Los criterios son restricciones impuestas en una consulta para identificar los registros específicos con los que desea trabajar. Para especificarlos se usa una expresión. (Las expresiones fueron tratadas en el Tema 4 dedicado a las tablas).

Vistas Tipo de consulta

Ejecutar consulta

Mostrar tabla

Valores superiores o todos

Totales

Recordemos que una expresión en Access es una combinación de: ? Operadores ? Valores (Literales y Constantes) ? Identificadores ? Funciones

5 Las Consultas

La expresión que se utilice le indica a Access qué registros debe incluir la consulta en la respuesta. Algunos ejemplos de expresiones que pueden ser usadas como criterios en una consulta sobre la tabla Empleados son: Campo Expresión Significado

Departamento “Computación” OR “Idioma” De los Dptos. Computación o Idioma (Cualquiera de ellos)

Salario >200 Con salario mayor que 200. Salario Entre 100 Y 200 Con salario entre 100 y 200. Casado Sí Empleados casados.

Apellido1 Como “*ez” Empleados cuyo primer apellido termine en ”ez”

NombreCónyuge Es Nulo Empleados sin nombre de cónyuge. Para crear una expresión esta puede escribirse directamente en la Cuadrícula de Diseño o utilizar el Generador de Expresiones, tal y como fue visto en el capítulo IV. Las expresiones pueden incluir los operadores lógicos O, Y como se ilustra en el primer ejemplo en que se seleccionan aquellos trabajadores de los departamentos Computación e Idioma, para lo cual se usa el operador O. No obstante, también puede ser necesario construir una consulta que involucre condiciones para más de un campo, digamos, una consulta que recupere los trabajadores con fecha de contrato posterior al 01/01/90 Y con salario menor que 200. Al colocar estas dos condiciones en la misma fila de criterios, se interpreta como un Y lógico entre ellas:

Esta consulta se refiere a los empleados que hayan sido contratados después del 01/01/90 Y que ganen menos de 200 (tienen que cumplirse ambas condiciones) Por otro lado, si se quisiera utilizar como condición que los empleados hayan sido contratados después del 01/01/90 (cualquiera sea su salario) O con salario menor que 200 (cualquiera sea su fecha de contrato), las condiciones deben colocarse en filas diferentes:

Varias condiciones en la misma fila de Criterios son unidas implícitamente con

un Y lógico. Y

Varias condiciones en filas diferentes de Criterios

son unidas implícitamente con un O lógico.

O

5 Las Consultas

Esta consulta devuelve TODOS los empleados contratados después del 01/01/90 y además TODOS los que perciben un salario inferior a 200 pesos.

De manera general, pueden combinarse expresiones más complejas en la Cuadrícula de diseño siguiendo esta guía:

O Y

5 Las Consultas

Agregar tablas a una consulta. Consultas de múltiples tablas Resulta frecuente que en una consulta se desee ver datos procedentes de más de una tabla. Es posible agregar más tablas a una consulta que ya ha sido creada mediante el siguiente procedimiento: 1. En la Vista Diseño de la consulta, elegir la opción de menú \Consulta\Agregar tabla o el

botón de la barra de herramientas. 2. Seleccionar la(s) tabla(s) que contiene(n) los datos que se desea incluir en la consulta por

cualquiera de los siguientes métodos:

a. Hacer clic en a tabla para seleccionarla y en el botón o

b. Hacer doble clic en el nombre de la tabla. Si las tablas estaban relacionadas (es decir, se crearon las relaciones correspondientes al diseñar la BD), dichas relaciones serán mostradas en la Ventana Consulta. De lo contrario, hay que establecer las relaciones arrastrando los campos coincidentes de una tabla a la otra; estas relaciones serán válidas sólo para esa consulta.

Eliminar tablas de una consulta Para eliminar una tabla de una consulta, se selecciona esta en la Ventana Relaciones y se usa uno de los siguientes métodos: ? Seleccionar la opción Quitar tabla del menú Consulta, o ? Seleccionar la opción Quitar tabla del menú contextual, o ? Presionar la tecla Supr.

Uso de parámetros en las consultas Si se ejecuta con frecuencia la misma consulta pero se cambian los criterios cada vez que se ejecuta, se ahorra tiempo creando una consulta de parámetros. Esto no constituye un tipo diferente de consulta, sino un mecanismo que flexibiliza las consultas al permitir establecer los criterios en el momento mismo de ejecutarse, en lugar de establecer dichos criterios al diseñar la consulta. Por ejemplo, supongamos que se desea conocer cuáles empleados tienen un salario mayor de 300 pesos: se crea una consulta de selección con ese criterio. Pero después se desea conocer cuáles tienen un salario mayor de 200; en ese caso habría que hacer otra consulta de selección muy similar en la cual se variaría sólo la cifra del salario. Y así tantas consultas diferentes como valores de salario se quisieran utilizar. Sin embargo, si se emplean parámetros, con una sola consulta pueden resolverse todos esos casos. Al utilizar parámetros en una consulta, Access muestra un cuadro de diálogo en el que solicita el valor del parámetro cada vez que se ejecuta la consulta, dando la posibilidad de que se teclee un valor diferente en cada ocasión.

5 Las Consultas

Especificar parámetros en las consultas Una vez creada la consulta con los campos necesarios, en la celda Criterios, para cada campo que desee utilizar como parámetro, se escribe entre corchetes el texto que se desea que aparezca en el cuadro de diálogo que pedirá el valor del parámetro.

Fig. 5.6 Especificar parámetros en una consulta.

Access mostrará un cuadro de diálogo con este texto cuando se ejecute la consulta. El texto de la solicitud debe ser diferente del nombre del campo, aunque puede incluirlo.

Fig. 5.7 Cuadro de diálogo que solicita el parámetro.

Es posible especificar varios parámetros en una consulta; para lo cual se repite el procedimiento descrito para cada uno de ellos y Access presentará tantos cuadros de diálogo como sea necesario.

Se agrega el campo que se usará como parámetro...

1

... y se coloca entre corchetes el texto que se desea aparezca como mensaje en el cuadro de diálogo.

2

5 Las Consultas

Consultas de acciones Sirven para hacer cambios masivos en los datos, cambios que afectan de manera similar un conjunto de registros. Tal y como fue mencionado anteriormente, existen cuatro tipos de consultas de acción: de eliminación, de actualización, de datos anexados y de creación de tabla.

Consulta de creación de tabla: Crea una tabla nueva recuperando los

registros solicitados de una o más tablas y usándolos para crear la nueva. Las consultas de creación de tabla son útiles para:

? Crear una tabla para exportar a otras bases de datos de Access. Por ejemplo, es posible que desee crear una tabla que contenga varios campos de la tabla Empleados y, a continuación, exportar esa tabla a una base de datos utilizada por el departamento de Personal.

? Realizar una copia de seguridad de una tabla.

? Crear una tabla histórica que contenga registros antiguos. Por ejemplo, puede crear una tabla que almacene todos los empleados jubilados antes de eliminarlos de la tabla Empleados actual.

? Mejorar el rendimiento de los formularios e informes basados en consultas de tablas múltiples o en instrucciones SQL. Por ejemplo, supongamos que desea imprimir varios informes basados en una consulta de cinco tablas que incluya totales. El proceso se puede acelerar creando primero una consulta de creación de tabla que recupere los registros que necesite y los almacene en una tabla. A continuación puede basar los informes en esta tabla, de modo que no tenga que volver a ejecutar la consulta para cada informe. No obstante, los datos de la tabla quedan “congelados” en el momento en que se ejecuta la consulta de creación de tabla, o sea, no se actualizarán aunque se modifiquen los datos de las tablas de origen.

De eliminación: Elimina un grupo de registros de una o más tablas. Se eliminan

los registros enteros, no los campos seleccionados. Permite eliminar registros de una tabla, de varias tablas en una relación 1:1 o de varias en una relación 1:m si está activada la eliminación en cascada.

De actualización: Realiza cambios globales a un grupo de registros de una o

más tablas. Por ejemplo, puede aumentar los sueldos un 5 % al personal de una determinada categoría.

De datos anexados: Agrega un grupo de registros de una o más tablas al final

de una o más tablas. Pueden servir para aprovechar información que ya está registrada en una tabla y se desea anexar a otra. Las consultas de datos anexados también son útiles para:

? Anexar campos basados en criterios. Por ejemplo, es posible que desee anexar sólo los nombres y las direcciones de los empleados con salario mayor que un valor dado.

? Anexar registros cuando algunos de los campos de una tabla no existen en la otra tabla. Una consulta de datos anexados anexará los datos de los campos coincidentes e ignorará el resto.

5 Las Consultas

Crear consultas de acciones Los pasos son los siguientes:

1. Primeramente debe crearse una nueva consulta en Vista Diseño. Se abrirá la ventana de la nueva consulta con el tipo predeterminado, que es la consulta de selección.

2. Haga clic en la flecha situada junto a Tipo de consulta en la barra de herramientas y, a continuación, haga clic en el tipo de consulta de acción deseado.

Fig. 5.8 Menú de los tipos de consultas

En dependencia del tipo de consulta seleccionado, deberá completarse la información necesaria en los cuadros de diálogo que presente Access o en la Cuadrícula de diseño. Consulta de creación de tabla Al seleccionarse este tipo de consulta en el menú de la figura 5.8, Access presenta el siguiente cuadro de diálogo que permite dar nombre a la tabla que se creará:

Fig. 5.9 Cuadro de diálogo Crear Tabla en una consulta de Creación de tabla Como se puede apreciar, la tabla que se crea puede pertenecer a la BD activa o a otra. La cuadrícula de diseño en este tipo de consulta es idéntica a la de las consultas de selección, que ya fue explicada en el epígrafe correspondiente a ese tipo de consulta.

5 Las Consultas

Fig. 5.10 Cuadrícula de diseño en una consulta de Creación de tabla Es por tanto un tipo de consulta en el que pueden establecerse criterios y emplear parámetros al igual que en las consultas de selección. Consulta de actualización Al seleccionarse este tipo de consulta, la cuadrícula de diseño cambia según se muestra en la figura 5.11

Fig. 5.11 Cuadrícula de diseño en una consulta de actualización La diferencia con la cuadrícula de las consultas de selección estriba en la fila Actualizar a, que se utiliza en este tipo de consulta para establecer el valor al que se desea actualizar el campo seleccionado; puede escribirse un valor o una expresión. La actualización puede afectar a todos los registros de la tabla, o solamente a aquellos que satisfagan los criterios que se especifiquen en la fila de igual nombre. Pueden también emplearse parámetros.

5 Las Consultas

Consulta de datos anexados Al escoger este tipo de consulta se presenta el cuadro de diálogo de la figura 5.12; en él se especifica a cuál tabla existente (ya sea de la BD activa u otra) se anexarán los datos. Esta será la tabla destino de la consulta.

Fig. 5.12 Cuadro de diálogo Anexar en la Consulta de datos anexados. La cuadrícula de diseño muestra diferencias con respecto a los otros tipos de consultas. Tal y como se aprecia en la figura 5.13, la cuadrícula posee una fila llamada Anexar a que se utiliza para indicar a cuál campo de la tabla destino se anexará el campo seleccionado en la fila Campo. De forma predeterminada, Access rellena los nombres de los campos coincidentes.

Fig. 5.13 Cuadrícula de diseño de las consultas de datos anexados. El resto de las filas son las habituales y se emplean de la misma forma que en los otros tipos de consultas. Consulta de eliminación Al crearse una consulta de eliminación se modifica la cuadrícula de diseño tal y como se aprecia en la figura 5.14. El cambio consiste en la aparición de la fila Eliminar, en la que los valores posibles son Dónde y Desde. Desde: Indica la tabla desde la que se va a eliminar. Dónde: Indica un campo para el que se van a establecer criterios de eliminación.

5 Las Consultas

Fig. 5.14 Cuadrícula de diseño de las consultas de eliminación. El resto de las filas de la cuadrícula se emplean de igual manera que en los demás tipos de consultas.