Cap�tulo 4. Trabajando en Bases de Datos con OpenOffice.org

Tambi�n podemos trabajar en bases de datos con OpenOffice.org. Podemos dise�ar, crear y mantener una base de datos. El formato de base de datos a utilizar aqu� es el de dBase, que es el est�ndar industrial.

En este cap�tulo se ver�, tambi�n, c�mo puedo combinar Calc y Writer, para que los datos que se han introducido en la base puedan usarse para combinarlos con f�rmulas y con textos. Esto es muy interesante, ya que me permite, entre otras cosas, ahorrar un mont�n de tiempo cuando tengo que hacer mil cartas a mil clientes, o puedo hacer un formulario de base de datos por medio de las opciones de formulario, tambi�n aprovechar los datos para realizar gr�ficas, funciones... Lo que voy a explicar es c�mo podemos aprovechar los datos para optimizar al m�ximo las tareas de ofinicina.

4.1. �C�mo crear una base de datos?

Es muy sencillo. Simplemente tengo que ir al men� herramientas, y desde ah� llevar el cursor hasta Fuentes de Bases de Datos.

Nos aparecer� un cuadro de di�logo, y entonces para crear una nueva base de datos, pulso sobre Nueva Fuente, escribo el nombre de la fuente nueva, y posrteiromente selecciono como tipo de base de datos dBase. En el campo de m�s abajo, debo indicar la ruta del fichero, es decir d�nde va a estar situado el fichero. Previamente, lo he tenido que crear desde la consola de comandos con mkdir.

Una vez que ya se ha creado, puedo empezar a trabajar con �l. Por ejemplo, lo primero que se suele hacer es a�adir una tabla. Vamos con ello

4.1.1. A�adir una tabla

Vamos a a�adir una tabla, para ello me voy a la ficha Tablas y me voy al bot�n Nuevo Dise�o de Tabla

Nos aparece en pantalla el entorno de trabajo de Creaci�n de Nueva Tabla. En dicho entorno, en la parte inferior se sit�an las propiedades de los campos, y en la zona de trabajo, vemos tres columnas: la primera para el nombre del campo, la siguiente para el tipo y por �ltimo, la descripci�n.

Dentro de la columna Nombre del campo, escribiremos su nombre. En el tipo, caben distinguir cuatro tipos fundamentales: Booleano (si/no), Decimal (num�rico), Texto y Fecha. La columna descripci�n simplemente sirve para describir el campo. Es un entorno muy similar al de Access, s�lo que es mucho m�s sencillo.

Una vez que ya est� definida la tabla, tenemos que guardarla. Para ello pulsamos sobre el bot�n Guardar de la barra de funciones, y nos aparece una ventana de di�logo solicit�ndonos el nombre con el que queremos guardar dicha tabla.

4.1.2. Introducci�n de datos nuevos

Ahora es cuando podemos introducir nuevos datos en la base. Desde la barra de herramientas, selecciono Fuentes de Datos. En la parte superior izquierda, aparecen todas las fuentes de datos que est�n disponibles para trabajar con ellas, incluso la que se acaba de crear.

Selecciono la nueva que he creado, con un doble clic, y aparecen tres ramas, V�nculos, Consultas y Tablas. Muevo hasta Tablas, y selecciono nuevamente, hasta que aparece la tabla que acabo de crear. Entonces la selecciono nuevamente con doble clic.

Aparece la base de datos vac�a (porque se ha introducido ning�n registro), en forma de tabla. Cuando quiera puedo empezar a meter datos, seleccionando cualquiera de las celdas que se vean.

Como ejercicio, introducir datos en las celdas, para familiarizarse con el entorno de la base de datos de OpenOffice.

4.1.3. Aplicaciones de la base de datos en Writer

Existen variadas aplicaciones de la base de datos para la oficina. Quiz�s, una de las m�s importantes es la combinaci�n de correspondencia.

Imaginemos la siguiente situaci�n: tenemos que escribir mil cartas a mil clientes de nuestra empresa. Esto, aparte de ser un embrollo para cualquiera, puede suponer una grave p�rdida de tiempo, si no fuera porque podemos combinar la correspondencia.

Combinar correspondencia me permite ahorrar el 99% del tiempo que hubiera perdido escribiendo mil direcciones de correo. �Ah!, supongamos que tenemos una base de datos con los mil clientes.

La base de datos contiene: tratamiento (D. o D�a.), el nombre, los apellidos, la direcci�n, c�digo postal, localidad y provincia.

Primero hay que escribir la carta que va a llegar a todo el mundo. Una vez escrita dicha carta, se a�aden los campos en aquellas zonas de la carta donde hay que personalizarla.

Para a�adir los campos me voy al bot�n Formulario de la Barra de Herramientas, situado en la parte izquierda del entorno de trabajo. Lo mantengo pulsado hasta que sale un cuadro de botones. Dentro de dicho cuadro, selecciono A�adir Campo. Aparece una ventana peque�a con los campos de la base de datos. Selecciono el que quiero insertar, y manteniendo pulsado el bot�n izquierdo del rat�n, lo arrastro hasta la zona de la carta donde deseo insertarlo.

Una vez que ya est� personalizada la carta, nos vamos a la Barra de Funciones, y pulsamos en el bot�n Carta en Serie.

En el peque�o cuadro de di�logo que aparece, tenemos una dos series de opciones agrupadas. En la primera serie, de la izquierda del cuadro, llamada Registros, debemos indicar nuestras preferencias de impresi�n de los registros, y en la serie de la derecha, llamada Destino, si queremos que se imprima directamente, enviarlas por correo electr�nico o guardarlas todas en un archivo.

Como primer ejercicio, crear una base de datos nueva, con una tabla que contenga los siguientes campos: Nombre, apellidos, direcci�n, localidad y provincia. Despu�s crear una carta que vaya dirigida a dichos clientes, en la que est�n incluidos los campos antes citados. Una vez hecho esto, guardarlas en un archivo, con el nombre que se le desee dar, y preferentemente en formato .doc, para que se puedan leer en el procesador Word.

Como segundo, crear dentro de dicha base de datos, una tabla nueva, llamada tel�fonos, y a cada cliente de los creados antes le asigno un n�mero de tel�fono. Posteriormente, guardo la tabla, y en la misma carta a�ando en una zona cualquiera, el campo tel�fono.

Como tercer ejercicio, crear otra tabla, con dos campos: correo electr�nico y p�gina web personal. Guardar la tabla, pero sin a�adir ning�n campo de m�s a la carta.

Una segunda aplicaci�n que es muy interesante, es insertar cualquier tabla en una hoja de textos. Ya hab�amos dicho que para crear una tabla hab�a que hacerlo insert�ndola e indic�ndole el n�mero de columnas y de filas. Si se recuerda bien, coment� en el cap�tulo 1 que la inserci�n se hac�a bien desde la barra de herramientas o desde la de men�s en Insertar --> Tabla.

Se puede insertar directamente, arrastr�ndola con el bot�n izquierdo del rat�n hasta el lugar de la zona de trabajo donque queremos que est�. En este caso lo que estamos haciendo es insertar una tabla desde la base de datos.

Una vez que se termine de arrastrar, nos aparece un cuadro de di�logo, en el que tenemos que indicar si deseamos insertar los datos como una tabla, unos campos o en formato de texto. Adem�s hay que indicar las columnas de la tabla que deseemos pasar.

Con esto, podemos elaborar un gr�fico, con el procedimiento que se coment� en el cap�tulo uno. Con la �nica salvedad de que hemos de seleccionar todas las celdas de la tabla.

Probar a insertar como texto, tabla y campos los datos de una tabla de las de la base de datos, y realizar el gr�fico correspondiente .

Aparte de lo anteriormente comentado y de la combinaci�n de correspondencia, yo puedo pasar una serie de datos al texto sobre el que estoy escribiendo.Puedo hacerlo bien seleccionando con el mouse dicho dato y arrastr�ndolo hasta la zona de trabajo.

Otra aplicaci�n interesante es que yo puedo controlar la base de datos desde una aplicaci�n de texto. Imaginemos que estamos realizando un informe sobre ventas, beneficios... e interesa acceder a la base de datos. Puedo manipular dicha base desde el editor de textos Write.

�C�mo?. Simplemente con el bot�n de Control de Tablas, situado dentro del conjunto de botones Formulario. Pulso sobre dicho bot�n, e inmediatamente me aparece un cuadro de di�logo con los campos a insertar. Inserto los campos y creo la tabla. Pues bien, desde esa misma tabla controlo la de la base de datos. Adem�s puedo controlar varias tablas de distintas bases de datos con Writer. En una misma p�gina de texto, puedo tener las tablas que yo quiera de distintas bases de datos.

Ejercicio: probar a insertar las tres tablas creadas anteriormente (insertar con el Controlador de Tablas), en la zona de trabajo del procesador. Hay que tener en cuenta que hay que crear, por lo menos dos formularios distintos, para acceder a las tablas. Una vez insertadas, trabajar con ellas introduciendo datos nuevos, modificando, y guard�ndolos en la base de datos.

4.1.4. Creaci�n de un formulario para la gesti�n de una base de datos con OpenOffice.org

Estamos de acuerdo en una cosa, ya tengo una base de datos. Pero ahora me interesa crear un formulario que me haga m�s sencilla y eficiente la gesti�n de la base de datos. Para la gesti�n de la base de datos, es m�s conveniente hacer el formulario en la zona de trabajo del Writer. El formulario que podemos hacer podr�a ser como el siguiente:

Puedo hacer tres formularios o m�s en uno. Cada formulario es independiente de los otros. Es decir, que un formulario puede estar situado en un registro determinado y los dem�s en otros dos distintos.

Lo primero que hay que saber es que cada formulario va enlazado a una �nica tabla de la base de datos, nunca se puede enlazar a m�s de una tabla. En este caso, las tablas que han sido enlazadas son las del ejemplo anterior.

Para empezar, hay un bot�n en la barra de herramientas, que es Formulario. Al pulsar sobre dicho bot�n y mantenerlo durante unos pocos segundos, se presenta un cuadro de botones. Dentro de ese mismo cuadro, buscamos el navegador de formulario. Se nos presenta una peque�a ventana, con un s�lo formulario, que es el que por defecto usa OpenOffice, llamado Standard. Para a�adir uno nuevo, pulsamos sobre Standard con el bot�n derecho del mouse, y le decimos Nuevo--> Formulario.

Pero a dicho nuevo formulario hay que indicarle unas propiedades. Dentro de la misma ventana seleccionamos el formulario con el bot�n derecho del mouse, y nos vamos a Propiedades. En la pesta�a de Datos, indicamos como fuente de datos el nombre de la base de datos con la que estemos trabajando, y como contenido, el nombre de la tabla. Una vez hecho esto, ya podemos empezar a trabajar con el formulario.

Empezamos: nos vamos al bot�n Formulario de la barra de herramientas, y dentro del cuadro de botones seleccionamos Campo de Texto. El cursor cambia de forma, y es cuando podemos insertar dicho campo. Llevamos el cursor a la posici�n de la zona de trabajo, lo arrastramos hasta que el campo de texto alcance el tama�o deseado, y listos. Ahora tenemos que dar unas propiedades al campo de texto.

�C�mo?. Seleccionamos dicho cuadro con el bot�n derecho y nos sale un cuadro emergente, y dentro de �l escogemos Campo de Control. En el cuadro resultante, vamos a la ficha Datos, y seleccionamos dentro de Casmpo de Datos el nombre del campo al cual se va a enlazar. Para ello hay que asegurarse de que el cuadro de texto est� incluido dentro de un formulario, y a su vez el formulario est� enlazado con una tabla de la base de datos. Si el formulario no est� enlazado, el campo simplemente aparecer� como vac�o al no tener datos que importar.

Para crear un nuevo formulario, simplemente nos vamos al navegador que antes hemos visto, pulsamos en Formularios con el bot�n derecho y en el cuadro flotante resultante pulsamos Nuevo-->Formulario, y le ponemos el nombre al mismo. Despu�s lo seleccionamos con bot�n derecho del mouse, y en el cuadro resultante decimos Propiedades. Dentro de las mismas nos trasladamos a la ficha Datos, y le indicamos el nombre de la Base de Datos de Origen, le indicamos si deseamos enlazarlo a una tabla o consulta, y despu�s indicamos el nombre de la tabla o consulta.

Ejercicio:

Con las tablas que han sido creadas anteriormente, hacer tres formularios, cada formulario enlazado a una tabla, y con dos campos por formulario. Desde el bot�n formulario, a�adir una etiqueta para cada campo.

4.1.5. Aplicaciones de la base de datos en Calc

Las aplicaciones para Calc son las mismas, puedo realizar gr�ficas, insertar una tabla, analizar los datos, manipularlos como se coment� antes con el Controlador de Tablas y realizar formularios, todo con el mismo procedimiento que con Writer.

4.1.6. Realizaci�n de consultas y relaciones entre tablas. Base de datos relacional.

La pregunta que nos planteamos aqu� es si puedo realizar una consulta en una base de datos con OpenOffice, la respuesta es s�.

Utilicemos como ejemplos las tres bases creadas anteriormente.

Dentro del cuadro de di�logo Fuentes de Datos, nos vamos a la ficha Consulta. Dentro de ella a�adimos una nueva, pulsando en Nueva Consulta.

Al hacer clic, aparece el dise�ador de consultas de OpenOffice.org, que lo primero que hace es solicitar las tablas con las que trabajar.

Cada tabla a�adida, aparece en el dise�ador de consultas. Puedo generar relaciones entre tablas arrastrando el campo que se desee relacionar de una tabla a otra. Es cuando aparece una l�nea que nos indica que las tablas est�n relacionadas.

En la zona inferior del dise�ador, podemos escribir o seleccionar los campos que deseemos que aparezcan en la consulta. Debemos, bien escribir, o seleccionar los campos en el rengl�n Campos. Si estamos escibiendo los nombres, debemos tambi�n escribir o seleccionar la tabla a la que pertenece el campo en el rengl�n Tabla.

En el rengl�n Alias, indicamos si deseamos que el campo seleccionado aparezca con otro nombre en la consulta.

El rengl�n Orden, nos indica cu�les son los campos mediante los que se ordenar� la consulta. Se debe indicar si es ascendente o descendente.

Visible indica al dise�ador si el campo se va a ver en el resultado final de la consulta. Si ese campo aparece o se muestra repetidamente en la consulta, entonces nos puede interesar que no aparezca.

Funci�n nos indica, si el campo seleccionado va a realizar alg�n proceso especial, tal como la sumatoria, el conteo de los datos, el valor m�ximo, etc..

En Criterio, puedo escribir el criterio por el cual se filtrar�n los datos, y luego le siguen m�s renglones, marcados con O, que indican m�s interios con los cuales filtrar los datos.

Otra forma de crear una consulta es escribi�ndola directamente en la ventana de comando SQL. Para acceder a ella hay que hacer clic en el bot�n Introducir Nuevo Comando SQL.

En este caso, aparece la ventana de comandos SQL. A trav�s de ella podemos generar la consulta. Pero este es un tema en el que no nos vamos a extender, ya que se necesita tener conocimientos de dicho lenguaje.

�Qu� podemos hacer con las consultas?

La funci�n de la consulta es la de extraer los datos de la fuente de datos. Fundamentalmente, una consulta trabaja con Calc, usando lo que llamamos el Piloto de Datos.

Para trabajar con el Piloto de Datos, nos vamos a Datos, desde Calc, y seleccionamos la base de datos y la consulta con la que queramos trabajar. Una vez hecho esto nos aparece una ventana, en la cual hemos de indicar el dise�o que deseamos para los datos que se pasar�n a Calc. Arrastraremos los campos de la consulta al �rea de fila o al de columna, seg�n el caso, para pasarlos a Calc. Podemos hacer clic en el bot�n de opciones, y en este caso aparecer�n las relativas al resultado a mostrar. Podemos agregar totales a columnas y cilas, tambi�n indicar si se desea la consulta en una nueva hoja o en la actual. Podemos indicar la columna-fila a partir de la cual iniciar la importaci�n de los datos, e importar varias veces los datos para observar los resultados de las diferentes combinaciones.

Sobre las tres tablas construidas anteriormente, dise�ar una consulta, con la tabla Tabla_direcciones, en la que aparezcan los siguientes campos: Nombre, direcci�n y localidad, con el criterio de que la localidad sea distinta de Salamanca. Adem�s hemos de pasar los resultados a una hoja de c�lculo por medio del Piloto de Datos. Colocar los campos en filas o columnas.