You are on page 1of 26

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 5.

1.- CREACIN DE CONSULTAS.


Una consulta permite efectuar preguntas acerca de la informacin almacenada en las tablas. En una consulta se pueden obtener datos de una tabla e incluso de varias tablas, por ejemplo los datos de los pedidos y de sus clientes correspondientes. En las consultas podremos ver los datos de las tablas, analizarlos e incluso realizar cambios en ellos. Los cambios se registrarn tambin en la tabla correspondiente. Tambin podremos utilizar las consultas para realizar formularios. Al seleccionar el objeto Consultas de la base de datos se observan tres mtodos diferentes de crear una consulta ver la figura:

2.- CREAR CONSULTA CON EL ASISTENTE.


Este es el camino ms sencillo para crear consultas sencillas; pero cuando hay que incluir condiciones de

Lorenzo Jos Daz de Haro - 1 de 26

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 5. seleccin es necesario recurrir al diseo. Ejemplo de aplicacin: Vamos a realizar una consulta para obtener los campos Nombre, Apellidos y Telfono de los cliente de la tabla CLIENTES que cumplan algunas de las condiciones que se exponen a continuacin. Paso 1: Abrimos el asistente y, en la primera pantalla, elegimos la tabla CLIENTES de la lista Tablas/Consultas y los campos de la misma. Hacemos clic en cada uno de los campos que van a formar la consulta (y que vamos a utilizar en las condiciones ms adelante) quedando como muestra la siguiente figura:

Paso 2: Despus de haber hecho clic en el botn Siguiente, la siguiente pantalla nos pide el Orden que van a mostrar los campos que seleccionados. Se pueden ordenar por varios criterios, dependiendo de los campos que hayamos seleccionado. En este caso, vamos a ordenarlos nicamente por el Apellidos de cada cliente, quedando como se muestra a continuacin:

Lorenzo Jos Daz de Haro - 2 de 26

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 5.

Paso 3: El siguiente paso, ser el de establecer una o varias condiciones de bsqueda en los campos seleccionados, de este modo, se visualizarn slo aquellos campos que cumplan dicha condicin. En este caso a modo de ejemplo, vamos a establecer una condicin de bsqueda, consistente el mostrar slo aquellos cuya categora es empleado (quiere decir que el id de categora es 0), cuya condicin, en este caso, van a cumplirla todos los clientes. A continuacin podemos ver como quedara dicha condicin:

Lorenzo Jos Daz de Haro - 3 de 26

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 5.

Paso 4: A continuacin, debemos de seleccionar el tipo de consulta, indicando si vamos a mostrar todos los campos que obtenemos en la consulta ( Consulta Detallada ), o bien, vamos a mostrar el resultado de aplicar ciertas funciones a dichos campos ( Consulta Resumida ). En este ejemplo, no vamos a aplicar ninguna funcin a dichos campos, por lo tanto lo dejamos tal cual aparece en la figura:

Paso 5: El siguiente pas ser asignar un Alias a uno o varios campos de lo seleccionados. Un Alias podemos definirlo como un nuevo nombre que pueden contener dichos campos, principalmente para que sean ms cortos a la hora de teclearlos y hacer referencia a ellos. En nuestro caso, vamos a definir un Alias para cada uno de ellos, quedando como vemos en la siguiente imagen:

Lorenzo Jos Daz de Haro - 4 de 26

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 5.

Paso 6: Por ltimo, veremos un resumen de la consulta que hemos realizado, pudiente en este caso, Mostrar la Consulta o bien, Modificar dicha Consulta, en el caso de que se haya optado por aadir o suprimir determinados elementos o condiciones. En este misma pantalla, vamos a asignarle un nombre a nuestra consulta, en este caso, la llamaremos consultaClientes1.

Lorenzo Jos Daz de Haro - 5 de 26

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 5. Al mostrar dicha consulta, veremos la siguiente informacin:

3.- CREAR UNA CONSULTA EN VISTA DE DISEO.


Si elegimos esta opcin la consulta se crea manualmente. En primer lugar, se visualizan dos ventanas. La primera es la ventana para elegir las tablas que participarn en la consulta, y la que aparece debajo es la ventana del diseo de las consultas, ver la figura. La segunda ventana se activa al cerrar la ventana de eleccin de tablas.

Lorenzo Jos Daz de Haro - 6 de 26

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 5.

Los botones especficos para consultas de la barra de herramientas que tenemos disponibles son: Modo Diseo : activar/desactivar el modo Diseo (si lo desactivamos vamos a la edicin del

lenguaje SQL, que es el lenguaje con el que se realizan las consultas sobre la base de datos). Ejecutar : muestra el resultado de la consulta sin necesidad de salir del modo de edicin. Hay

que tener en cuenta que no guarda la consulta. Borrar : borra la consulta y quita todas las tablas de la vista Diseo. : permite agregar ms tablas a la consulta. : activa/desactiva la posibilidad de asociar funciones a los campos.

Aadir tablas Funciones

Lorenzo Jos Daz de Haro - 7 de 26

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 5. Nombre de la Tabla : activa/desactiva en la ventana inferior la fila donde se muestra el

nombre de la tabla a la que pertenece el campo. Alias campo. Valores unvocos : si se activa, aquellas filas que aparecen repetidas varias veces en el : activa/desactiva en la ventana inferior la fila donde se puede introducir el alias de un

resultado de una consulta slo se mostraran una vez. Por ejemplo, si creamos una consulta que devuelva las categoras de los empleados (Id Categora) , apareceran tantas filas con la columna Id Categora como hubieran en la tabla, pero apareceran todas (o sea, que si tenemos 7 empleados aparecer 7 veces el Id Categora con valor 0) a menos que se activara esta casilla y ya slo aparecera una vez. En cuanto a los campos y sus distintas opciones tenemos: Campo: muestra los nombres de los campos que se desean visualizar. En el caso de querer mostrar todos los campos de una tabla, tenemos la posibilidad de poner Nombre de tabla.* en lugar de poner uno a uno cada uno de los campos. Alias: el valor que se escriba se mostrar en la cabecera de la columna de resultados en lugar del nombre del campo que tiene la tabla. Tabla: muestra la tabla a la que pertenece al campo. Orden: podemos elegir entre ordenar los resultados por los valores de ese campo de forma ascendente o descendente. Visible: si queremos que se muestre ese campo en el resultado estar marcada. Los campos con esta opcin desmarcada se utilizan para fijar condiciones de filtrado de los resultados. Funcin: permiten realizar distintas operaciones sobre los resultados. Hay que tener en cuenta que, una vez que a un campo se le incluye alguna funcin, el resto de los campos tambin deben llevar asociada alguna de las funciones disponibles. Se ofrecen las siguientes funciones: Agrupar: permite agrupar los resultados a mostrar en funcin de uno o varios campos. Cantidad: devuelve el nmero total de filas devueltas que contengan algn valor para ese campo.

Lorenzo Jos Daz de Haro - 8 de 26

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 5. Promedio: para campos de tipo numrico devuelve la media de los resultados para ese campo. Suma: para campos de tipo numrico devuelve la suma de los resultados para ese campo. Mximo: para campos de tipo numrico devuelve el valor mximo de los resultados para ese campo. Mnimo: para campos de tipo numrico devuelve el mnimo de los resultados para ese campo. Criterio: Especifica criterios de filtro (que un campo contenga un valor mayor, menor, igual, etc..) para el campo. Se pueden incluir varios criterios al mismo tiempo. Ejemplo de aplicacin: Vamos a realizar una consulta para obtener los campos Fecha, Id Cliente y Total de los pedidos de la tabla PEDIDOS, que cumplan algunas de las condiciones que se exponen a continuacin. Paso 1: Elegir la opcin Crear una consulta en vista de diseo. Paso 2: Elegir la tabla PEDIDOS, hacer clic en el botn Aadir y cerrar la ventana de mostrar tablas. Paso 3: Aparece ahora la ventana de diseo de consultas, dividida en dos partes. En la superior aparecen las tablas elegidas y en la inferior aparecen varias columnas formando una cuadrcula en la que colocaremos los campos que seleccionemos para la consulta y los criterios de seleccin. Ver figura:

Lorenzo Jos Daz de Haro - 9 de 26

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 5.

Paso 4: Elegimos los campos que queremos consultar, desplegando la lista que acompaa a Campo. Paso 5: Seleccionamos los campos Fecha, Id Cliente,Total y Servido en la lista desplegable. Paso 6: Para que el campo Servido no se visualice, se hace clic en la casilla de seleccin de la fila Visible y aparecer sin seleccionar. Paso 7: Agregar el criterio de seleccin, en la fila Criterio y en la primera columna que tiene el campo Servido indicamos que sea Verdadero (es igual a decir que S, mientras que Falso es igual que decir que No). Ver la figura:

Lorenzo Jos Daz de Haro - 10 de 26

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 5.

Paso 8: Pulsar el botn Guardar y llamar a la consulta consultaPedidos1 Paso 9: Para ver el resultado de la consulta, pulsar el botn Ejecutar Consulta. Se visualizarn 4 registros en una tabla de respuesta mostrando la informacin solicitada. Ver figura:

Lorenzo Jos Daz de Haro - 11 de 26

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 5.

Aunque en dicha consulta no hemos indicado un alias para cada uno de los campos de la tabla ( Fecha, ID Cliente y Total ) se podra haber realizado dicha consulta habiendo establecido sus alias correspondientes.

4.- CONSULTA CON DOS O MS TABLAS.


En ocasiones necesitamos obtener datos de varias tablas, para ello es necesario realizar consultas utilizando dichas tablas. Podremos utilizar el asistente para consultas eligiendo las tablas correspondientes y los campos correspondientes o tambin la vista de diseo. En nuestro caso, vamos a utilizar la Vista Diseo para crear una consulta con dos tablas. Ejemplo de aplicacin: Utilizando las tablas PEDIDOS y CLIENTES de la base de datos de pruebas que tenemos, pedimos obtener los datos de los clientes: Id Cliente, Nombre y Apellidos, y los datos del pedido correspondiente: Id Pedido, Total y Servido. Paso 1: Abrir la base de datos. Paso 2: Abrir el objeto Consultas y hacer doble clic en la opcin Crear una consulta en vista de Diseo. Paso 3: Seleccionar la tabla PEDIDOS, clic en Aadir; seleccionar la tabla CLIENTES, clic en Aadir; y a continuacin cerramos esta ventana. Paso 4: Si no nos aparece la relacin entre las dos tablas hemos de crear la relacin entre ellas, y para ello accedemos a la Barra de Mens y elegimos Insertar --> Nueva relacin..., obteniendo la siguiente pantalla:

Lorenzo Jos Daz de Haro - 12 de 26

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 5.

En dicha pantalla, seleccionamos para cada tabla el campo por el que las vamos a relacionar, en este caso Id Cliente que es el comn a ambas. Paso 5: Una vez hemos establecido la Relacin entre dichas tablas, obtendremos la siguiente figura:

Lorenzo Jos Daz de Haro - 13 de 26

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 5. Paso 6: En la ventana de diseo aparecen ahora las dos tablas, elegimos los campos indicados de cada tabla como hacamos en la consulta anterior. Ver la figura.

Paso 7: Una vez terminada el diseo de la consulta nos falta salvarla con el nombre consultaClientesPedidos1 y ejecutarla para ver cual es el resultado que obtenemos.

Aunque este caso lo hemos realizado mediante la Vista Diseo, tambin es posible realizar una consulta

Lorenzo Jos Daz de Haro - 14 de 26

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 5. entre varias tablas desde el asistente.

5.-

CREACIN

DE

CONSULTAS

QUE

INCLUYEN FUNCIONES.
Vamos a crear una consulta que realiza operaciones sobre los resultados. As, vamos a crear una consulta que muestre el nombre de cada cliente almacenado y el total de pedidos que ha realizado cada uno de ellos. Es decir, el objetivo es realizar una consulta sobre CLIENTES y PEDIDOS de manera que agrupemos las filas devueltas en funcin de cada cliente (quiere decir que crear grupos de filas de cada empleado) para as poder contarlas y poder saber el nmero de pedidos asociados a cada uno de ellos. El resultado de nuestra consulta, con las filas que tenemos actualmente en CLIENTES y PEDIDOS, debe ser como el de la siguiente Figura.

Para empezar, elegimos las tablas sobre las que vamos a realizar la consulta, CLIENTES y PEDIDOS.

Lorenzo Jos Daz de Haro - 15 de 26

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 5.

Los campos que necesitamos son, por una lado Id Cliente de CLIENTES, que es sobre el que agruparemos los resultados devueltos y, por otro, un campo de la tabla PEDIDOS que estemos seguros que siempre tendr un valor (no estar vaco) para cada fila de Pedidos. Por ejemplo, podemos elegir el campo Id_Pedido que siempre va a tener valor para cada pedido. Los campos seleccionados se muestran en la siguiente figura.

Lorenzo Jos Daz de Haro - 16 de 26

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 5.

A continuacin, debemos asociar la funcin correspondiente a cada uno de los dos campos. En primer lugar, hemos dicho que queremos agrupar los resultados en funcin de cada cliente (Id Cliente), para ello vamos a incluirle la funcin Agrupar asociada al campo Id Cliente. Y, en segundo lugar, lo que queremos es contar los pedidos realizados por cada cliente. Esto ltimo lo conseguimos asociando la funcin Cantidad al campo Id Pedido de Pedidos.

Lorenzo Jos Daz de Haro - 17 de 26

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 5.

Guardamos entonces la consulta como consultaClientes-Pedidos1 y al lanzarla nos encontramos una pantalla como en la siguiente figura.

Como vemos, la cabecera con el total de los pedidos est mostrando la funcin que estamos utilizando

Lorenzo Jos Daz de Haro - 18 de 26

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 5. junto con el nombre del campo. Si queremos que el resultado aparezca con algo ms intuitivo podemos poner como alias total pedidos, es decir, una cabecera significativa.

Para poder ver el nombre y apellidos del cliente al mismo tiempo (ya que el campo Id Cliente es poco intuitivo) simplemente aadimos los atributos Nombre y Apellidos a la consulta, tanto en los campos a mostrar como en los campos a agrupar.

Lorenzo Jos Daz de Haro - 19 de 26

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 5. Hemos de tener en cuenta que la agrupacin ha de ser por los campos Id Cliente, Nombre y Apellidos, pero solo mostraremos visibles el campo Nombre y Apellidos.

6.- CRITERIOS DE SELECCIN.


Para disear consultas es esencial saber cmo y qu criterios podemos especificar para recuperar nicamente los datos que deseamos. Podemos aplicar los siguientes tipos de criterios:

A) Seleccionar intervalos de valores en un campo.


Se puede seleccionar registros en los que los valores de algunos campos estn en un rango determinado. Por ejemplo que el total del pedido sea mayor de 100 o que el total de pedido est entre 50 y 150. Para identificar un rango dentro de una expresin se utiliza el operador Entre...Y o los operadores de comparacin ( >, <, >=, <= ). Por ejemplo aplicamos varios criterios a la columna Total de la tabla PEDIDOS:

Lorenzo Jos Daz de Haro - 20 de 26

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 5.

B) Usar caracteres comodn.


A veces interesa seleccionar campos que contengan un determinado modelo de caracteres, por ejemplo, seleccionar los nombre de clientes que empiecen por la letra M. Para esto utilizaremos los siguientes caracteres comodn: El signo de interrogacin (?) para sustituir un carcter por cualquiera en esa posicin. Por ejemplo, ?a busca aquellos valores que empiecen por cualquier letra y la segunda sea una "a". El asterisco (*) para representar cualquier nmero de caracteres situados en la misma posicin que el asterisco. Al utilizar estos criterios, Base los encierra entre comillas y antepone la palabra Como. Por ejemplo aplicamos varios criterios a la columna Nombre de la tabla CLIENTES.

Por ejemplo, seleccionar Clientes cuyo nombre de cliente empieza por M.

Lorenzo Jos Daz de Haro - 21 de 26

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 5.

C) Seleccionar registros que no coinciden con un valor.


Utilizaremos el operador NO. Por ejemplo, podemos introducir la expresin NO COMO 'M*' para encontrar todos los clientes cuyo nombre no empieza por M. Base aade la palabra COMO. El ejemplo muestra los clientes cuyo nombre no empieza por la letra M pero contiene una letra e.

D) Especificar varios criterios.


Los casos anteriores muestran cmo utilizar un solo criterio para un campo. Sin embargo, podemos especificar varios criterios para un campo. Para ello utilizaremos los operadores "Y" y "O". Por ejemplo, para ver los clientes de la provincia de Granada o de Almera, escribiremos en la casilla criterios Granada, y en la casilla o Almera. Ver la figura:

Lorenzo Jos Daz de Haro - 22 de 26

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 5.

7.-

CREACIN

DE

CONSULTAS

PARAMETRIZADA.
Se recurre a ellas cuando se quiere hacer una consulta que permita pedir un dato antes de ejecutarla y buscar segn ese dato. Una consulta que tiene uno o varios parmetros necesitar que stos se indiquen para buscar datos en la tabla. Por ejemplo, si queremos realizar una consulta de los pedidos de un cliente en concreto disearemos una consulta con parmetros (con un nico parmetro en este caso) que no pida que cliente es al que deseamos localizar sus pedidos, as cada vez que se ejecute la consulta nos aparecer una ventana para indicar el cliente. Para la creacin de una consulta parametrizada sobre todos los pedidos de un cliente en concreto,

Lorenzo Jos Daz de Haro - 23 de 26

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 5. solicitando como dato cada vez el cdigo de cliente, seguiremos los siguiente pasos: Paso 1: Abrir la base de datos y a continuacin vamos a la opcin de Consultas y pulsamos la opcin Crear consulta en vista Diseo...

Paso 2: Seleccionamos la tabla PEDIDOS y la tabla CLIENTES, donde de la tabla PEDIDOS mostraremos las columnas Id Pedido, Fecha y de la tabla CLIENTES mostraremos las columnas ApellidosNombre y Telfono.

Lorenzo Jos Daz de Haro - 24 de 26

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 5.

Paso 3: Ahora debemos seleccionar el campo por el que vamos a parametrizar la consulta, o sea, el campo por el que preguntaremos cada vez. El campo en este caso es Id Cliente de la tabla PEDIDOS que no deber ser visible. Para la creacin de un parmetro simplemente igualaremos el campo a una constante (recordar simplemente que para igualar un campo a otro o a una constante, la operacin se realiza en el apartado Criterio)con dos puntos por delante (Ejemplo :Cliente).

Lorenzo Jos Daz de Haro - 25 de 26

Creacin de bases de datos bajo software libre con OpenOffice Base Tema 5. Paso 4: Guardamos los cambios, con lo que nos pedir que le asignamos un nombre a la nueva consulta. El nombre con la que la guardaremos ser PedidosClienteParam. Una vez guardada simplemente la abrimos en modo ejecucin (o sea para que funcione, no en modo edicin para realizar cambios en ella) con lo que nos aparecer una pantalla para indicar los valores de los parmetros que hemos creado.

Paso 5: Ponemos en valor el cdigo de cliente que deseamos mostrar los pedidos y nos aparecer exclusivamente los pedidos de dicho cliente (en este caso seleccionaremos el cliente 4).

Lorenzo Jos Daz de Haro - 26 de 26

You might also like