INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para...

36
Sesión 31 Diseño de Consultas Docente: Ing. María Nícida Malca Quispe INGENIERÍA TELEINFORMÁTICA Programas Utilitarios 26/06/2009 1

Transcript of INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para...

Page 1: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

Sesión 31

Diseño de Consultas

Docente: Ing. María Nícida Malca Quispe

INGENIERÍA TELEINFORMÁTICAProgramas Utilitarios

26/06/20091

Page 2: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

AGENDA

26/06/20092

Diseño de consultas

• Tipos de consultas.

• Crear consultas.

• Vistas de una consulta.

• Añadir campos. Campos calculados.

• Encabezados de columna.

• Cambiar el orden de los campos.

• Guardar y ejecutar la consulta.

• Modificar el diseño.

• Ordenar y filtrar filas.

Page 3: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

Diseño de Consultas

26/06/20093

Page 4: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

Consultas

26/06/20094

Son objetos de una BD que permiten

recuperar datos de una tabla, modificarlos e

incluso almacenar el resultado en otra

tabla.

Existen varios tipos de consultas:

• Consultas de selección: Extraen o nos muestran

datos, que cumplen los criterios especificados.

• Consultas de acción: Realizan cambios a los

registros.

• Consultas específicas de SQL: Se definen

directamente en SQL. Requieren conocer este lenguaje.

Page 5: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

Consultas de Selección

26/06/20095

Muestran datos que cumplen los criterios especificados.

Genera una tabla lógica (no está físicamente en el disco

duro sino en la memoria del computador y cada vez que

se abre se vuelve a calcular).

Puede obtener datos de una tabla o de varias, de

consultas existentes, o de una combinación de ambas

opciones.

Las tablas o las consultas de las que una consulta obtiene

sus datos se conocen como su origen de registros.

Page 6: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

… continua

26/06/20096

La consulta creada puede:

• Ejecutarla para ver los resultados.

• Reutilizarla siempre que lo necesite (ejem, como origen de registros

para un formulario, un informe u otra consulta).

Page 7: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

Asistente para Consultas

26/06/20097

Utilice el menú Crear/Otros/Asistente para Consultas

Page 8: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

… continua

26/06/20098

Clic en la tabla que contiene los datos que desea usar

Doble clic en los

campos que

desee mostrar en

la consulta

Page 9: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

… continua

26/06/20099

Asigne un nombre a la consulta a crear

Page 10: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

… continua

26/06/200910

Se mostrará los resultados en la vista Hoja de datos.

Se incluyen todos los registros de la tabla Cliente, pero sólo

los campos especificados en el asistente para consultas.

Page 11: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

Vistas de una Consulta

26/06/200911

Vista Hoja de Datos:

Muestra los resultados de la consulta, incluyendo los campos

especificados y todos los registros que cumplan las

condiciones.

Al abrir una consulta, por defecto se abre en la vista Hoja de

Datos

Page 12: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

… continua

26/06/200912

Vista Diseño:

Permite modificar la estructura de la consulta: definición de

campos a mostrar, criterios para filtrar registros, etc.

Muestra una ventana con los siguientes paneles:

Zona de Tablas

Cuadrícula QBE

Page 13: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

… continua

26/06/200913

Campo: El campo a utilizar, en la mayoría de los casos será el campo a visualizar. Puede ser el nombre de un campo de la tabla y o un campo calculado.

Tabla: Nombre de la tabla de la que sacamos el campo.

Orden: Ordenar las filas del resultado.

Mostrar: Si la casilla de verificación está desactivada la columna no aparecerá en el resultado. Se suele desactivar cuando queremos utilizar el campo para definir la consulta pero no queremos que aparezca en el resultado.

Criterios: Especificar un criterio de búsqueda. Es decir, una condición que deben cumplir los registros que aparecerán en el resultado de la consulta. Puede estar formado por una condición o varias unidas por los operadores Y (AND) y O (OR).

O: esta fila y las siguientes se utilizan para combinar condiciones.

Page 14: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

… continua

26/06/200914

Puede ir directamente a la vista Diseño de la consulta para

su creación:

• Utilice el menú Crear/Otros/Diseño de consulta

• Agregue las tablas necesarias

• Define la estructura de

la consulta

Page 15: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

Ejecutar una Consulta

26/06/200915

Desde el Panel de Exploración: Doble clic sobre la consulta.

Desde la vista diseño: Clic sobre el botón Ejecutar de la

pestaña Diseño

Al visualizar el resultado de una consulta, lo que vemos

realmente es la parte de la tabla que cumple los criterios

especificados.

Por tanto si modificamos algún dato de los que aparecen

en la consulta estaremos modificando el dato en la tabla.

Page 16: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

Agregar Campos

26/06/200916

Doble clic sobre el nombre del campo en la zona de tablas.

Clic sobre el nombre del campo en la zona de tablas y sin

soltar el botón del ratón arrastrar el campo sobre la

cuadrícula

Clic sobre la fila Campo (de una columna vacía), seleccionar

un campo de la lista.

Page 17: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

… continua

26/06/200917

Escribir directamente el nombre del campo en la fila Campo

de una columna vacía de la cuadrícula.

Para que todos los campos de la tabla aparezcan en el

resultado de la consulta, utilizar el asterisco * (sinónimo de

'todos los campos')

Consulta Vista

Diseño

Page 18: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

… continua

26/06/200918

Consulta Vista

Hoja de Datos

Page 19: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

Encabezados de Columna

26/06/200919

Normalmente aparece en el encabezado de la columna el

nombre de la columna

Podemos cambiarlo:

• En la fila campo, antes del nombre del campo escribir el

encabezado deseado seguido de dos puntos (:)

Page 20: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

… continua

26/06/200920

Si modificamos los encabezados de columna,

en la vista diseño

Page 21: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

… continua

26/06/200921

Page 22: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

Cambiar el Orden de los Campos

26/06/200922

Posicionar el cursor sobre el extremo superior de la columna y

cuando aparece la flecha hacer clic, la columna aparecerá

resaltada.

Mover el cursor para que aparezca la flecha . Arrastrar la

columna hasta la posición deseada.

Page 23: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

Ordenar Filas

26/06/200923

Clic sobre la fila Orden: del campo por el cual queremos

ordenar las filas.

• Elegir el tipo de ordenación: ascendente o descendente.

Podemos ordenar también por varios campos

• Rellenar la fila Orden: de todas las columnas por las que

queremos ordenar.

• Se ordenan las filas por la primera columna de ordenación, para

un mismo valor de la primera columna, se ordenan por la

segunda columna, y así sucesivamente.

• El orden de las columnas de ordenación es el que aparece en la

cuadrícula

Page 24: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

Filtrar Filas

26/06/200924

Indicar un criterio de búsqueda: condición que deberán

cumplir todas las filas que aparezcan en el resultado de la

consulta.

Normalmente la condición estará basada en un campo de la

tabla.

• Por ejemplo para seleccionar los clientes hombres, la condición

sería Sexo = "M".

• Tenemos que tener en una de las columnas de la cuadrícula el

campo Sexo y en esa columna ponemos en la fila Criterios: el

resto de la condición o sea ="M".

Page 25: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

… continua

26/06/200925

Cuando la condición es una igualdad no es necesario poner el

signo =.

Page 26: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

… continua

26/06/200926

Si deseamos poner un nombre de campo en vez de un valor

(para comparar dos campos entre sí), encerrar el nombre

del campo entre corchetes [ ].

Por ejemplo, queremos poner la condición ApellidoMatCli=

ApellidoPatCli, en la que ambos son campos:

Page 27: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

… continua

26/06/200927

Para indicar varias condiciones

se emplean los operadores Y y O.

Todas las condiciones establecidas en la misma fila de la

cuadrícula quedan unidas por el operador Y

Page 28: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

… continua

26/06/200928

Page 29: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

… continua

26/06/200929

Para que las condiciones queden unidas por el operador O

tenemos que colocarlas en filas distintas (utilizando las filas

O: y siguientes).

• En el ejemplo, el criterio del nombre del cliente únicamente afecta a

los salarios mayores a 800, por encontrarse en la misma fila.

Page 30: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

Uso del Generador de Expresiones

26/06/200930

Se encontrará con situaciones en las que necesite

trabajar con valores que no residen

directamente en los datos.

Estos valores pueden calcularse mediante

expresiones.

Campos calculados: son campos obtenidos del

resultado de una expresión o de una función.

• Suelen modificar el nombre de encabezado de columna

que genera.

Page 31: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

… continua

26/06/200931

Abra la consulta en la Vista Diseño

Seleccione una columna vacía

en la cuadrícula QBE

Seleccione la opción del menú

Diseño/Configuración de Consultas/Generador

Page 32: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

… continua

26/06/200932

En la ventana Generador de Expresiones,

utilice los botones y opciones disponibles para definir la

estructura de la expresión:

Page 33: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

… continua

26/06/200933

Por ejemplo, extraer el año del campo FechaRen de la tabla

Renta, y mostrarlo en la consulta con el encabezado

Periodo:

Pulse Aceptar, para terminar

Page 34: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

… continua

26/06/200934

Observe la forma como se ha agregado el campo calculado

en la cuadrícula:

Page 35: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

… continua

26/06/200935

Al ejecutar la consulta, se tiene los siguientes resultados:

Page 36: INGENIERÍA TELEINFORMÁTICA · Si deseamos poner un nombre de campo en vez de un valor (para comparar dos campos entre sí), encerrar el nombre del campo entre corchetes [ ]. Por

Fin de Sesión

26/06/200936