En ocasiones es necesario realizar operaciones sobre los campos obtenidos. Es en este momento cuando las consultas que hemos visto hasta ahora se quedan cortas y tenemos que recurrir a un determinado tipo que opera sobre los resultados.
Base permite la creación de consultas que incluyen funciones, es decir, consultas que realizan operaciones sobre los resultados para calcular, a su vez, otros campos. Ejemplos de éstas son: sumar todos los valores de un grupo de registros, hallar el valor medio, contar el número total de registros o averiguar el valor máximo y mínimo de un conjunto.
El uso de estas funciones viene determinado por las consultas denominadas de agrupación. En estas consultas los registros se clasifican según determinados criterios y a partir de estas clasificaciones se aplican las funciones disponibles. Entre ellas encontramos:
Función
Significado
Agrupar
Permite agrupar los resultados a mostrar en función de uno o varios campos.
Contar
Devuelve el número total de filas devueltas que contengan algún valor para ese campo.
Promedio
Para campos de tipo numérico. Devuelve la media de los resultados para ese campo.
Suma
Para campos de tipo numérico. Devuelve la suma de los resultados para ese campo.
Máximo
Para campos de tipo numérico. Devuelve el valor máximo de los resultados para ese campo.
Mínimo
Para campos de tipo numérico. Devuelve el mínimo de los resultados para ese campo.
Ejercicio
1.1. Consulta 1
Vamos a crear una consulta que muestre el nombre de cada género almacenado y el total de películas que tenemos de cada género. Es decir, realizar una consulta sobre la tabla PELICULA de manera que agrupemos las filas devueltas en función de cada género para así poder contarlas y saber el número de películas asociadas a cada uno de ellos.
Abre la base de datos "videoclub".
Crea una consulta en vista diseño.
Añade la tabla PELICULA.
Selecciona los campos "Genero" y "Titulo". Los campos que necesitamos son, por un lado el “Genero”, que es sobre el que agruparemos los resultados devueltos y, por otro, un campo de la tabla PELICULA que estemos seguros que siempre tendrá un valor (no estará vacío) para cada fila de películas. Por ejemplo "Titulo" o "Id_pelicula".
Ordena ascendentemente por la columna "Genero".
En el campo Función selecciona la opción Agrupar.
En segundo lugar, lo que queremos es contar las películas relacionadas con cada género.
Ve a la columna "Titulo". En el apartado Alias escribe "Total de películas". En el apartado Función elige la opción Contar.
El diseño quedará de la siguiente forma:
Guarda la consulta como "CG_total_genero".
Ejecuta la consulta y comprueba que funciona correctamente. Para ello puedes contar manualmente las películas de cada género de la tabla PELICULA. Por ejemplo:
Como se puede observar, para realizar una operación sobre los campos necesitaremos, al menos, un campo sobre el que realizar la agrupación y otro campo sobre el que realizar la operación. En el ejemplo anterior el campo sobre el que se agrupa es "Genero", mientras el campo sobre el que se realiza la operación es "Titulo", aunque como hemos dicho, podría ser también el campo "Id_pelicula".
De hecho, si realizamos la consulta cambiando el campo "Titulo" por "Id_pelicula":
El resultado será el mismo. Por ejemplo:
Guarda los cambios.
Cierra la consulta.
Ejercicio
1.2. Consulta 2
Ahora crearemos una consulta que calcule el promedio de duración de las películas agrupadas por "Soporte", es decir, para cada soporte se deberá obtener la media de las duraciones de las películas.
Crea una consulta en vista diseño.
Tabla: PELICULA.
Campos: "Duracion" y "Soporte". Los campos que necesitamos son, por un lado el “Soporte”, que es sobre el que agruparemos los resultados devueltos y, por otro, un campo de la tabla PELICULA que contenga los valores para realizar la operación.
Ve a la columna "Soporte" y establece un orden ascendente. En el campo Función selecciona la opción Agrupar.
Ve a la columna "Duracion". En el apartado Alias escribe "Media de duraciones". En el apartado Función elige la opción Promedio.
El diseño quedará de la siguiente forma:
Guarda la consulta con nombre "CG_media_duracion".
Ejecuta la consulta y comprueba que funciona correctamente. Para ello puedes realizar la media manualmente de las duraciones de la tabla PELICULA. Por ejemplo:
Guarda los cambios.
Cierra la consulta.
Ejercicio
1.3. Consulta 3
También podemos realizar consultas para que calcule una determinada operación para todos los registros, es decir, sin que agrupe por campos. En este caso tenemos que seleccionar el campo sobre el que queremos aplicar la función y la función en sí.
Vamos a realizar una consulta en la que se calcule la suma de todas las duraciones.
Crea una consulta en vista diseño.
Tabla: PELICULA.
Selecciona el campo "Duracion", ya que únicamente queremos aplicar la función sobre éste.
Ve a la columna "Duracion". En el apartado Alias escribe "Suma de duraciones". En el apartado Función elige la opción Suma.
El diseño quedará de la siguiente forma:
Guarda la consulta con nombre "CG_suma_duracion".
Ejecuta la consulta y comprueba que funciona correctamente. Para ello puedes realizar la suma manualmente de las duraciones de la tabla PELICULA. Por ejemplo:
Este funcionamiento sirve para todas las demás funciones y permite obtener, rápidamente, resultados que pueden servirnos para realizar otros cálculos.
Guarda los cambios.
Cierra la consulta.
Ejercicio
1.4. Más consultas
Crea las siguientes consultas en vista diseño:
Consulta con nombre "CG_max_genero" sobre la tabla PELICULA en la que se obtenga el máximo de las duraciones de cada Género.
Consulta con nombre "CG_total_soporte" sobre la tabla PELICULA en la que se obtenga el número de películas de cada soporte.
Guarda los cambios.
Cierra las consultas.
Contenidos
2. Funciones complejas
Además de las operaciones básicas, habrás observado que el desplegable donde se selecciona la función posee más opciones que no hemos visto. Estas opciones tienen una mayor complejidad y vamos a estudiarlas en este punto.
2.1. Función Todo
La función Todo se utiliza en el caso de campos de tipo Boolean, es decir, cuyo valor es Sí o No. Ésta permite saber si todos los valores son Sí o hay alguno que no lo es, de modo que si todos lo son obtendrá un Sí, mientras que en caso contrario obtendrá un No.
Ejercicio
Veamos un ejemplo, aunque previamente vamos a modificar la tabla PELICULA para insertar un campo Booleano.
Tabla PELICULA. Añadir campo
Abre la tabla PELICULA en modo Diseño (editar).
Sitúate al final e inserta un campo llamado "Original", cuyo tipo será Boolean:
Guarda los cambios.
Cierra la tabla.
Tabla PELICULA. Edición de datos
Abre la tabla en modo edición de datos.
Cambia los valores para que la columna "Original" quede de la siguiente forma:
Guarda los cambios.
Cierra la tabla.
Crear consulta
Ahora sí que podemos realizar la consulta con la función Todo.
Crea una consulta en vista diseño.
Tabla: PELICULA.
Selecciona el campo "Original".
Ve a la columna "Original" y en el apartado Alias escribe "¿Todas originales?". En el apartado Función elige la opción Todo.
Guarda la consulta con nombre "CGC_todo_original".
Ejecuta la consulta y comprueba que funciona correctamente.
Como podemos observar, al haber varias de ellas que no son originales, el resultado será negativo. Si modificamos los valores para que todas sean originales y volvemos a realizar la consulta:
El resultado será:
Guarda los cambios.
Cierra la consulta.
Contenidos
2.2. Función Alguno
La función Alguno es similar a la anterior, pero en este caso la función devolverá Sí en caso de que alguno de los valores sea Sí y No en caso de que todos los valores sean No.
Ejercicio
Crear consulta
Crea una consulta en vista diseño.
Tabla: PELICULA.
Selecciona el campo "Original".
Ve a la columna "Original" y en el apartado Alias escribe "¿Alguna original?". En el apartado Función elige la opción Alguno.
Guarda la consulta con nombre "CGC_alguno_original".
Ejecuta la consulta y comprueba que funciona correctamente.
Obviamente, como hemos cambiado los valores para que todas sean originales indicará que, al menos una, es original. Cambiemos los valores como se indica en la figura:
El resultado será:
Guarda los cambios.
Cierra la consulta.
Contenidos
2.3. Funciones STDDEV_SAMP y VAR_SAMP
La función STDDEV_SAMP es una función estadística que devuelve la desviación típica de un grupo de números, es decir, devuelve la cantidad que se han desviado con respecto de la media.
La función VAR_SAMP es una función que devuelve la varianza de un grupo de números, es decir, la medida de dispersión que equivale al cuadrado de la desviación típica. Los pasos para calcularla son similares a la anterior.
Ejercicio
Vamos a crear una consulta para saber la desviación típica de la duración de las películas.
Crea una consulta en vista diseño.
Tabla: PELICULA.
Selecciona el campo "Duracion".
Ve a la columna "Duracion" y en el apartado Alias escribe "Desviación de la duración". En el apartado Función elige la opción STDDEV_SAMP.
Guarda la consulta con nombre "CGC_desv_duracion".
Ejecuta la consulta y comprueba que funciona correctamente.
No se permite un uso comercial de la obra original ni de las posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.
Los reconocimientos se realizan en el apartado Fuentes de información.
Todas las capturas de pantalla tienen copyright y pertenecen a TuInsitutoOnline.com.
TuInstitutoOnline.com permite su uso siempre y cuando se muestren desde el dominio www.tuinstituoonline.com y NO PERMITE enlazar a ellas desde otros lugares.
Además, la estructura diseñada para mostrar el contenido de las unidades es propiedad de TuInstitutoOnline.com.