Informática
Bases de datos

Tu Instituto Online
   


 
Nivel Básico Base: Consultas compuestas. Parámetros y condiciones
Duración aproximada: 2 sesiones.
   
Objetivos Objetivos
  • Concepto de parámetro.
  • Realizar consultas con parámetros.
  • Conocer los operadores de comparación.
  • Conocer los operadores de texto.
  • Realizar consultas comparativas.
   
Fuentes de información Fuentes de información
   
Contenidos
Contenidos
 

1. Consultas con parámetros

Las consultas que hemos visto hasta ahora no permitían la introducción de elementos dinámicos, sino que eran fijados de manera estática en el diseño de la consulta. Existe la posibilidad de que estos parámetros cambien de manera dinámica con el fin de ampliar las posibilidades de las consultas y flexibilizar sus resultados. Como era de esperar, Base permite crear consultas dinámicas que soliciten al usuario los filtros en tiempo real.

1.1. Parámetros

Los parámetros son expresiones que admiten la asignación de valores con el fin de alterar el comportamiento de una consulta. Estas expresiones permitirán al usuario la demanda de un determinado valor cada vez que se ejecute la consulta. Por ejemplo, podemos hacer que cada vez que se abra una consulta sobre la tabla PELICULA, nos pregunte qué IDs deseamos filtrar.

Por lo general, el formato de los parámetros es el siguiente:

:nombre del parámetro

Es decir, consistirá en la símbolo dos puntos seguido del nombre del parámetro.

Ejemplo videoclub

:fecha → Para indicar una fecha

:IDs → Para indicar un identificador

:anyo → Para indicar un año

1.2. Consultas con un parámetro

Vamos a ver un ejemplo de consulta con 1 sólo parámetro.

  
Ejercicios
Ejercicio
 

Vamos a crear una consulta que nos devuelva las películas que tenemos de un género de cine determinado.

  • Abre la base de datos "videoclub".
  • Crea una consulta en modo de diseño.
  • Añade la tabla PELICULA.
  • Haz clic en el botón Cerrar.
  • Mediante el ratón, arrastra los campos a mostrar desde la tabla superior a las columnas inferiores: título, soporte, duración, argumento y género.
  • Ve a la columna “Titulo”. En el apartado Orden pon el valor “ascendente”.
  • Ve a la columna “Genero”. Desmarca la casilla Visible. En el apartado Criterio escribe el texto :Genero.
  • El diseño debe quedar de la siguiente forma:

  • Guarda la consulta con nombre “CP_GENERO_PELIS”.
  • Ejecuta la consulta. Aparecerá un cuadro de diálogo para introducir el género sobre el que queremos consultar:

  • En el campo Valor, escribe el nombre de un género de cine. Haz clic en Aceptar. Esto provocará que se seleccionen aquellas películas cuyo "Genero" tenga el valor que hemos seleccionado.
  • Consulta con diferentes géneros y comprueba que funciona correctamente.
   
Contenidos
Contenidos
 

1.3. Consultas con más de un parámetro

Si pensamos en las posibilidades que tienen este tipo de consultas nos daremos cuenta de que podemos combinar diferentes parámetros que flexibilizarán los resultados. De hecho podemos poner más de un parámetro para configurar totalmente la consulta.

   
Ejercicios
Ejercicio
 

Vamos a ver una consulta que nos permita seleccionar el soporte y la duración mediante parámetros.

  • Crea una consulta en modo de diseño.
  • Añade la tabla PELICULA.
  • Selecciona los campos "Id_pelicula", "Titulo", "Director", "Soporte" y "Duracion".
  • En la fila Criterio columna Soporte escribe :Soporte y en la columna Duracion escribe :Duracion.

  • Ejecuta la consulta.
  • Se mostrará, entonces, un cuadro de diálogo para introducir los parámetros Duracion y Soporte.

  • Introduce valores que estén en la tabla (en el ejemplo hemos utilizado duración 180 y soporte DVD). Esto provocará que se seleccionen aquellas películas cuyos valores coincidan con los introducidos:

  • Guarda la consulta con nombre “CP_SOPD_PELIS”.
   
Contenidos
Contenidos
 

2. Operadores de comparación

Tal y como vimos en la unidad anterior, las consultas en vista diseño contienen multitud de características que permiten ampliar las posibilidades de las consultas realizadas con el asistente. Una de éstas es la de poder introducir operadores de comparación que filtren los resultados con los que nos queremos quedar.

Para cualquier campo seleccionado en una consulta podemos establecer condiciones. Es decir, podemos escribir expresiones para filtrar los datos. Las expresiones se escribirán en la celda Criterio del campo correspondiente de la consulta. Tenemos los siguientes operadores:

Operador
Significado
<
Condición de comparación “menor que”.

>

Condición de comparación “mayor que”.

<=

Condición de comparación “menor o igual que”.

>=

Condición de comparación “mayor o igual que”.

=

Condición de comparación “igual que”.

<>

Condición de comparación “distinto que”.

ENTRE a Y b [BETWEEN a AND b]

Condición para especificar un intervalo de valores.

+, -, *, /

Los operadores de suma, resta, multiplicación y división pueden combinarse para efectuar comparaciones con expresiones matemáticas.

2.1. Ejemplo práctico: videoclub

Los siguientes ejemplos muestran cómo obtener diferentes resultados combinando las opciones anteriores. Suponemos seleccionados los campos "Id_pelicula", "Titulo" y "Director".

  • Películas cuyo "Id_pelicula" sea menor que el valor 2:

          

  • Películas cuya duración es mayor de 120:

          

  • Películas cuyo "Id_pelicula" sea distinto de 1:

          

  • Películas cuya duración esté entre 120 y 140 minutos:

Y el resultado, en ambos casos será el mismo:

3. Parámetros y operadores de comparación

En el apartado 1 hablábamos de operadores que se podían utilizar para filtrar los resultados dependiendo del tipo de éstos. Dichos operadores y los parámetros se pueden combinar para obtener consultas todavía más personalizadas, ya que lo habitual es que los valores numéricos utilicen algún operador numérico y los valores textuales utilicen operadores de texto.

3.1. Ejemplo práctico: videoclub

Los siguientes ejemplos muestran cómo obtener diferentes resultados combinando las opciones anteriores. Suponemos seleccionados los campos "Id_pelicula", "Titulo", "Director" y "Soporte".

  • Películas cuyo "Id_pelicula" sea mayor que el valor :ID y cuyo "Soporte" sea :Soporte

  • Al ejecutar consulta se mostrará un cuadro de diálogo para introducir los parámetros Duracion y Soporte (en el ejemplo hemos introducido 1 y DVD):

  • Esto provocará que se seleccionen aquellas películas cuyos valores coincidan con los introducidos:

Como se puede observar, es igual de sencillo utilizar los parámetros solos que acompañados por los operadores. En este caso hemos aplicado el operador mayor (>) sobre el parámetro ID ya que éste es numérico. Si no lo hubiera sido deberíamos haber aplicado los operadores textuales.

   
Ejercicios
Ejercicio
 

3.1.1. Consulta 1

Vamos a crear una consulta para filtrar aquellas películas que se encuentran entre dos IDs.

  • Abre la base de datos "videoclub".
  • Crea una consulta en modo de diseño.
  • Añade la tabla PELICULA.
  • Selecciona los campos "Id_pelicula", "Titulo", "Director" y "Soporte".
  • Ve a la columna "Id_pelicula". En la fila criterio establece el valor BETWEEN :IDInicial AND :IDFinal

  • Ejecuta la consulta. Se mostrará, entonces, un cuadro de diálogo para introducir los parámetros IDInicial e IDFinal (hemos seleccionado 0 y 3). Cuidado con el orden de los parámetros porque en este caso están al revés:

  • Esto provocará que se seleccionen aquellas películas cuyos valores coincidan con los introducidos:

  • Guarda la consulta con nombre “CP_ID_ENTRE”.

3.1.2. Consulta 2

En el caso de los operadores textuales únicamente podremos utilizar el de igualación, ya que los parámetros al introducir el valor, se les añaden comillas, con lo que únicamente se filtran aquellos valores que sean iguales al valor introducido. Un ejemplo sería el de seleccionar aquellas películas cuyo director sea uno determinado.

  • Crea una consulta en modo de diseño.
  • Añade la tabla PELICULA.
  • Selecciona los campos "Id_pelicula", "Titulo", "Director" y "Soporte".
  • Ve a la columna "Director". En la fila criterio establece el valor :Director

  • Ejecuta la consulta. Se mostrará, entonces, un cuadro de diálogo para introducir el parámetro cuyo valor deberá ser exactamente igual al de la tabla:

  • Esto provocará que se seleccionen aquellas películas cuyos valores coincidan con los introducidos:

  • Guarda la consulta con nombre “CP_DIRECTOR”.

3.1.3. Consulta 3

  • Crea una consulta con nombre CP_DURGEN_PELIS sobre la tabla PELICULA en la que se obtengan los campos "Id_pelicula", "Titulo", "Director", "Duracion" y "Genero" de las películas cuya duración sea mayor a una determinada y cuyo género sea uno determinado.
   
Contenidos
Contenidos
 

4. Operadores de texto

Para cualquier campo seleccionado en una consulta podemos establecer condiciones. Es decir, podemos escribir expresiones para filtrar los datos. Las expresiones se escribirán en la celda Criterio del campo correspondiente de la consulta. Tenemos los siguientes operadores:

Operador
Significado

''

Condición de comparación “igual que”. Con comillas simples, no dobles.

*

Comodín que significa cualquier cadena de caracteres. Se utiliza junto con el operador COMO.

?

Comodín que significa un carácter cualquiera y sólo uno. Se utiliza junto con el operador COMO.

COMO

(LIKE)

Condición de comparación de patrones. Sirve para solicitar al usuario uno o varios caracteres por los que buscar y, a continuación, buscar registros que comiencen o contengan los caracteres especificados por el usuario.

El campo de datos contiene la expresión indicada. El espacio reservado (*) indica si la expresión x aparece al principio del contenido del campo (x*), al final (*x) o dentro de este (*x*).

   
Ojo

Base no permite realizar consultas de parámetros con textos variables (*,_) ni caracteres especiales (por ejemplo, ?).

   
 

4.1. Ejemplo práctico: videoclub

Como hemos comentado anteriormente, en el caso de los operadores textuales únicamente podremos utilizar el de igualación, ya que los parámetros al introducir el valor, se les añaden comillas, con lo que únicamente se filtran aquellos valores que sean iguales al valor introducido. Un ejemplo sería el de seleccionar aquella película cuyo título sea uno determinado.

  • Datos de la película cuyo título es 'Piratas del Caribe':

  • Películas cuyo título contenga la sílaba "de", es decir, se encuentre en cualquier lugar dentro del título:

          

  • Películas cuyo director comience por la letra "H":

          

5. Parámetros y operadores de texto

En el apartado 1 hablábamos de operadores que se podían utilizar para filtrar los resultados dependiendo del tipo de éstos. Dichos operadores y los parámetros se pueden combinar para obtener consultas todavía más personalizadas, ya que lo habitual es que los valores numéricos utilicen algún operador numérico y los valores textuales utilicen operadores de texto.

   
Ejercicios
Ejercicio
  Crear consulta
  • Crea una consulta en modo de diseño.
  • Añade la tabla PELICULA.
  • Selecciona los campos "Id_pelicula", "Titulo", "Director", "Anyo", "Soporte", "Duracion", "Genero" y "Argumento".
  • Ve a la columna "Titulo". En la fila criterio establece el valor :Titulo
  • Ejecuta la consulta. En el cuadro de diálogo introduce el parámetro cuyo valor deberá ser exactamente igual al de la tabla. Esto provocará que se seleccione la información de aquella película cuyo título coincida con el introducido.
  • Guarda la consulta con nombre “CP_TITULO”.
   
Contenidos
Contenidos
 

6. Combinación de operadores

Hemos visto que existen diversos operadores que se pueden utilizar dependiendo del tipo de campo. Además de utilizarlos de forma separada, podemos combinarlos con el fin de filtrar aún más los resultados.

6.1. Cumplir todos los criterios (Y)

La primera opción cuando combinamos parámetros y operadores es que se cumplan todos los criterios a la vez. En este caso, pondremos todas las operaciones y filtros en la misma fila del campo Criterio.

   
Ejercicios
Ejercicio
 

Vamos a realizar una consulta que devuelva las películas con el soporte especificado, con el género especificado y con una duración entre 2 valores que especifiquemos.

  • Crea una consulta en modo de diseño.
  • Añade la tabla PELICULA.
  • Selecciona los campos "Genero, "Titulo", "Director", "Soporte", "Duracion" y "Argumento".
  • Ordena ascendentemente por "Genero" y "Titulo".
  • Establece los filtros en la fila Criterio.
  • Por ejemplo:

  • Ejecuta la consulta. Comprueba que se muestran las películas que cumplen todos los criterios.
  • Guarda la consulta con nombre “CP_COMBI_1”.
   
Contenidos
Contenidos
 

6.2. Cumplir alguno de los criterios (O)

Otra posibilidad es que se cumpla, al menos, uno de los criterios, es decir, en lugar de que se cumplan todos a la vez que puedan hacerlo por separado. En este caso, pondremos las operaciones y filtros en filas distintas del campo Criterio.

   
Ejercicios
Ejercicio
 

Vamos a realizar una consulta que devuelva las películas con el soporte especificado o cuyo título contenga la letra "p" o que tengan una duración entre 2 valores que especifiquemos.

  • Crea una consulta en modo de diseño.
  • Añade la tabla PELICULA.
  • Selecciona los campos "Genero, "Titulo", "Director", "Soporte", "Duracion" y "Argumento".
  • Ordena ascendentemente por "Genero" y "Titulo".
  • Establece los filtros en la fila Criterio pero en distintas filas.
  • Por ejemplo:

  • Ejecuta la consulta. Comprueba que se muestran las películas que cumplen alguno de los criterios.
  • Guarda la consulta con nombre “CP_COMBI_2”.

Cerrar la base de datos

  • Guarda los cambios en la base de datos.
  • Cierra la base de datos "videoclub".
   
   
Creditos Créditos
Licencia de Creative Commons

El texto de esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.
TuInstitutoOnline.com G.García, P.Gargallo, A.Martínez. v. 2.0.1.6.0

Los reconocimientos se realizan en el apartado Fuentes de información.

Los iconos empleados están protegidos por la licencia LGPL y se han obtenido de:
https://commons.wikimedia.org/wiki/Crystal_Clear
https://www.openclipart.org