Creación de consultas sobre varias tablas combinando el asistente con el modo Diseño en OpenOffice Base
Ahora vamos a realizar una consulta que nos muestre las películas junto con el nombre del género al que pertenecen. Gracias a esta consulta vamos a empezar a comprobar el gran potencial que tiene guardar la información distribuida en varias tablas estableciendo relaciones entre ellas.
Para realizar esta consulta primero vamos a utilizar el asistente para conseguir un primer “borrador” de la consulta que queremos realizar para, finalmente, acabar de concretarla en modo Diseño. Por tanto, empezamos de nuevo yendo a la sección tareas del tipo de objeto consulta y elegimos “Usar el asistente para crear consulta…”.
Ahora, en la ventana inicial del asistente, elegimos los campos Titulo, Director, Año y Formato de la tabla Peliculas (ver Figura 5.9)
En la siguiente ventana (Figura 5.10) vamos a indicar que queremos que el resultado se ordene, en primer lugar, en función del campo Director, y, en caso de coincidir el director entre distintas películas, en función del campo Titulo.
En esta consulta no vamos a poner ninguna condición por la que filtrar los datos, por lo que nos vamos directamente a la ventana “Alias” (Figura 5.11), donde vamos a aprovechar para “maquillar” que el campo Titulo no tuviera tilde al crear dicho campo y ahora sí se la incluimos. Además, para que el campo Año quede más concreto lo vamos a presentar como Fecha de estreno.
Antes de finalizar con el asistente, en la ventana “Información general” del mismo, debemos incluir el nombre de la consulta, que en este caso va a ser Consulta_Peliculas_Generos, y vamos a indicar también que no queremos que se muestre el resultado de la consulta, sino que queremos seguir trabajando con ella en modo Diseño. Para esto último debemos activar la casilla “Modificar consulta” en dicha ventana (ver Figura 5.12).
Nos debe aparecer entonces una ventana como la de la Figura 5.13. que es la ventana que permite crear consultas en modo Diseño. El entorno de trabajo en modo Diseño lo vamos a ver con más detenimiento en la siguiente unidad y en esta sólo nos vamos a centrar en los elementos específicos para conseguir la consulta que queremos realizar. En primer lugar, podemos ver que la ventana aparece dividida en dos partes bien diferenciadas: una que contiene la tablas que estamos utilizando en la consulta y otra con los campos que ya habíamos seleccionado en el asistente junto con una serie de opciones que podemos indicar para cada uno de ellos. Así, podemos ver que aparecen los campos Titulo, Director, Año y Formato junto con los alias que indicamos en el asistente y la opción de que se ordene la consulta en función del campo Director.
Algo que seguro nos ha llamado la atención es por qué aparece el campo Titulo dos veces. La respuesta es que, debido a que en el orden en que queremos que se muestren los campos es: primero el campo Titulo, y luego el Director, y en el asistente hemos indicado que primero queremos la ordenación en función del nombre del director, y, en caso de repetirse dicho nombre, ordenar por el título de la película. La única forma de indicar esto es poniendo de nuevo el campo Titulo detrás de los otros cuatro, indicando que se ordene de manera ascendente pero desmarcando la casilla “Visible” para que no aparezca dos veces este campo en el resultado de la consulta.
Ya hemos visto entonces que en el modo Diseño nos aparecen los campos de Peliculas que deseamos pero aún no hemos hecho nada para ver el nombre del género de la película. Como el nombre del género es un campo de la tabla Generos lo primero que tenemos que hacer es indicar que queremos incluir dicha tabla en la consulta. Para ello, debemos seleccionar el icono “Añadir tablas” (ver Figura 5.14), que es el primero por la izquierda de los iconos de la fila inferior y elegir la tabla Generos.
Podemos observar que automáticamente OOo Base detecta que estas dos tablas están relacionadas. ¿Qué hubiera pasado si no hubieramos indicado en la unidad anterior que existe una relación? Pues lo mismo que si hubieramos intentado elegir los campos de ambas tablas directamente en el asistente, que la respuesta a la consulta (ver Figura 5.15) hubiera sido que cada fila de la primera tabla aparecería unida a cada una de las filas de la otra tabla sin ningún criterio, es decir, en nuestro caso tendríamos 90 filas (resultado del producto cartesiano de 10 filas de Peliculas por 9 que tenemos en Generos) de las cuales 80 no significan nada. Pero al haber indicado que existe la relación y detectarse en el modo Diseño conseguimos, sin necesidad de indicarlo explícitamente, que a la hora de mostrar todas las filas de Peliculas y Generos, sólo nos muestre aquellas donde el valor para el campo por el que están relacionadas (Genero e Id_genero respectivamente) sea el mismo, es decir, que sólo nos muestre juntas las filas de ambas tablas que realmente están relacionadas.
Una vez hemos añadido la tabla Generos, elegimos qué campos queremos mostrar de ella. En este caso, nos basta con el campo Nombre (ver Figura 5.16)
Una vez que hemos elegido el campo, no debemos olvidar comprobar que la opción “Visible” está marcada para que se muestre este campo en el resultado de la consulta (ver Figura 5.17).
En la opción “Alias” del campo Nombre de la tabla Generos vamos a mostrar la palabra “Género” para que cualquier usuario entienda mejor lo que mostrará esta columna (ver Figura 5.18).
Dentro del modo Diseño podemos comprobar si la consulta devuelve lo que queremos sin necesidad de cerrar esta ventana y lanzar la consulta desde el menú principal. Para ello, basta con seleccionar el icono de ejecución de la consulta que se encuentra situado el segundo por la derecha en la fila de iconos superiores. Así, nos aparece entonces en la parte superior de la ventana el resultado de la consulta (ver Figura 5.19).
Si estamos conformes con el resultado, guardamos la consulta y podemos ver en la ventana principal (ver Figura 5.20) que las dos consultas de esta unidad aparecen ya almacenadas.