# OpenOffice.org/Trabajando en Bases de Datos

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 uno de los estándares populares.
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 oficina.

# ¿Cómo crear una base de datos?

Es muy sencillo. Simplemente tendras 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, pulsas sobre "Nueva Fuente", escribes el nombre de la fuente nueva, y posteriormente seleccionas como tipo de base de datos dBase. En el campo de más abajo, debes indicar la ruta del directorio(carpeta), es decir dónde va a estar situado el fichero. Previamente, lo he tenido que crear desde la consola de comandos con mkdir basedatos, en caso de que deseara una carpeta llamada basedatos.
Una vez que ya se ha creado, puedes empezar a trabajar con él. Por ejemplo, lo primero que se suele hacer es añadir una tabla.
OpenOffice en su versión 3.0 permite tanto crear bases de datos .odb que utilizan el motor HSQL como conectar con una base de datos existente de otro fabricante como son Access, MySQL, Oracle, Postgresql, etc a traves de un controlador ODBC, OLEDB, ADO, JDBC, etc.

# Añadir una tabla

Vamos a añadir una tabla, para ello me voy a la ficha Tablas y me voy al botón KPOP.
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.

# 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.

## 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.
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.