Introducción

Pero… ¿qué es una base de datos? Simplificando mucho, podemos decir que una base de datos es un conjunto de datos ordenados según ciertas reglas y criterios. Si a esta definición le añadimos el concepto de Gestor de bases de datos nos encontramos ante una aplicación que permite almacenar de forma ordenada, cualquier tipo de información, así como acceder y recuperar estos datos aplicando distintos filtros y criterios de selección. Y es en esta última parte donde reside la verdadera razón de ser de las bases de datos: en las posibilidades de recuperar sólo la información que necesitamos en cada momento, ordenarla e incluso aplicar operaciones aritméticas sobre ella.

Insistiendo en el concepto de “conjunto ordenado de datos”, podemos encontrar un ejemplo bastante claro en la diferencia existente entre un montón de números de teléfono y direcciones escritos en trozos de papel o tenerlos organizados en una agenda. En ambos casos tenemos la misma información, pero mientras que en el primero encontrar un número de teléfono puede llevarnos bastante tiempo, en el segundo caso, el trabajo se puede reducir a unos pocos segundos. La diferencia se encuentra en la forma en que la información está almacenada y organizada.

Nota

En la actualidad, las bases de datos son el pilar fundamental sobre el que se sustentan la mayoría de los sistemas informáticos. Todo, prácticamente todo, se encuentra almacenado en bases de datos. Algunas tan complejas como los sistemas administrativos públicos (sanidad, hacienda, etc.) o tan sencillas como la gestión de reparaciones del taller mecánico donde arreglamos nuestro coche.

Objetivos

Conocer los conceptos fundamentales de las bases de datos.

Establecer un primer contacto con los elementos que componen cualquier base de datos: Tablas, Consultas, Informes y Formularios.

Lo más importante, planificar.

Siguiente »

Componentes esenciales de una base de datos

En prácticamente cualquier base de datos actual existen cuatro elementos esenciales: tablas, consultas, informes y formularios. Todos son indispensables y necesarios:

Las tablas permitirán almacenar los datos.

Con las consultas podremos acceder a los datos almacenados, ordenarlos y filtrarlos por diferentes criterios.

Los informes serán la forma más eficaz de presentar nuestros datos.

Con los formularios se facilitan las tareas de introducción de datos.

Esta es una definición muy básica de cada uno de los elementos que forman parte de una base de datos pero suficiente para comenzar a familiarizarnos con estos conceptos.

« Anterior | Siguiente »

Tablas

Dentro de una base de datos, la información se almacena y se organiza en tablas; la figura 1.1 muestra un ejemplo. En cada tabla encontraremos una serie de filas y columnas. A las filas de una tabla de una base de datos se les llama registros y a las columnas, campos. Todos los datos que aparecen en un mismo registro se refieren a un mismo individuo y todos los datos que aparecen en un campo se refieren a un mismo tipo de información sobre el individuo. A la intersección de un registro con un campo se le llama dato. Sobre todos estos conceptos seguiremos trabajando pero es importante que empieces a familiarizarte con ellos.

Figura 1.1

« Anterior | Siguiente »

Consultas

Las consultas tienen como propósito recuperar la información almacenada en las tablas. Con esta breve descripción podríamos pensar… ¿y por qué no la miramos directamente en ellas? Pues bien, la ventaja se encuentra en la posibilidad que ofrecen las consultas de filtrar la información y mostrar sólo aquellos datos que interesen en cada caso. Por ejemplo, imagina que tenemos una enorme base de datos con cientos de recetas de cocina y resulta que hoy nos apetece hacer arroz. En este caso, crearíamos una consulta para obtener sólo aquellas recetas que hablen de arroz. Otra de las características importantes de las consultas es que puedes utilizar más de una tabla para mostrar datos relacionados. Esto es así gracias a que Base es un sistema de bases de datos relacional.

La figura 1.2 muestra el aspecto que tendría una consulta sencilla en OpenOffice Base.

Figura 1.2

Nota

Las consultas se forman a partir de diferentes expresiones que nos permitirán relacionarnos con la base de datos para extraer información de una o varias tablas. Estas expresiones se crean empleando la interfaz de diseño de consultas y los asistentes de OpenOffice Base, sirviendo éstos como puente entre el lenguaje interno de Base, o SQL y nuestros propósitos.

« Anterior | Siguiente »

Formularios

Los formularios nos ayudarán principalmente en tareas de introducción de información. Cuando se trata de incluir pocos datos podemos hacerlo directamente sobre las tablas pero cuando el volumen es importante, este método se vuelve poco eficaz. Para resolver este problema tenemos los formularios donde la inclusión de datos se hace de forma mucho más intuitiva y sencilla. En la figura 1.3 podemos ver un ejemplo de formulario. Además, y al igual que ocurre con las consultas, los formularios también permiten trabajar simultáneamente sobre varias de las tablas de una base de datos.

Figura 1.3

Nota

Un aspecto menos conocido de los formularios pero muy útil en algunos casos es la búsqueda de información. OpenOffice Base permite utilizar las herramientas de búsqueda también sobre nuestros formularios.

« Anterior | Siguiente »

Informes

Los informes tienen como objetivo proporcionar las herramientas necesarias para obtener una copia impresa de los datos existentes en una base de datos aunque existen otras posibilidades tan interesantes como la generación de archivos en formato PDF. Habitualmente, los informes se suelen construir a partir de los resultados obtenidos de la ejecución de consultas. De esta forma combinamos la posibilidad de seleccionar sólo los datos que deseemos que nos ofrecen las consultas con la ventaja de imprimirlos que aportan los informes.

La figura 1.4 muestra la apariencia típica de un informe creado con OpenOffice Base. Como puedes comprobar su aspecto es muy similar a los archivos de texto creados con Writer. Esta característica permitirá aprovechar nuestros conocimientos con esta herramienta y aplicarlos en el diseño de formularios con Base.

Figura 1.4

Nota

Base denomina a cada uno de los elementos que hemos descrito objetos de la base de datos. En la figura 1.5 podemos ver claramente en la parte izquierda de la interfaz de la aplicación los accesos disponibles para la creación de tablas, consultas, formularios e informes.

Figura 1.5

« Anterior | Siguiente »

Muy importante, planificar la base de datos antes de crearla

Cuando trabajamos con bases de datos relacionales es habitual distribuir la información en diferentes tablas vinculadas entre sí. Esta característica obliga a un proceso de planificación y diseño previo para obtener el resultado esperado. Piensa qué deseas almacenar en la base de datos, qué datos necesitas recuperar y en definitiva, determina el propósito final del proyecto para establecer unos cimientos lo suficientemente sólidos.

Para comenzar, establece prioridades y enumera las funcionalidades principales que deseas obtener de la base de datos. Proponemos algunas ideas:

Imaginemos que queremos crear una base de datos para la gestión de las competiciones deportivas de nuestro centro. La base de datos deberá llevar un registro de todos los participantes: podrás suministrar los datos personales de los mismos, pudiéndolos agrupar por grupos de clase y por edades. También deberás ser capaz de gestionar los distintos equipos, con sus componentes, actividades en las que participan, lugar y fecha de las distintas competiciones y un registro de los resultados que se produzcan.

Así mismo, podemos contemplar la posibilidad de crear una base de datos para la gestión de las tutorías. En este caso, el registro debe incluir tablas de datos de: alumnos, grupos clase, horarios, profesores tutores, actividades de la acción tutorial y programación.

Otra idea puede ser la gestión de una escuela de padres, donde deberíamos tener tablas para almacenar información sobre las familias que participan en ella, un registro de actividades, calendario de reuniones… El objetivo final sería facilitar el manejo y administración de todos los datos que se gestionen en dicha Escuela de padres.

Por ejemplo, también podríamos utilizar una base de datos como soporte para realizar un inventario de todos los ordenadores, impresoras, mesas, dispositivos de proyección y cualquier otro elemento que forme parte del mobiliario del centro. En este caso necesitaríamos tablas donde guardar la descripción y cantidad de cada uno de estos objetos, así como su ubicación. Para esto último, necesitamos crear una tabla que contenga todas las aulas, departamentos, laboratorios y demás estancias del centro que contenga material susceptible de incluirse en el inventario. Los inventarios y catálogos de material en general son susceptibles de gestionarse mediante bases de datos. En los centros educativos es frecuente que los jefes de departamentos de los IES y los miembros de directivas de IES y colegios sean responsables de inventariar y controlar equipos y materiales. Una base de datos es una buena solución para realizar esa gestión. También para la gestión de espacios con abundante material, por ejemplo, en laboratorios de ciencias o espacios pertenecientes a familias de formación profesional.

Después de leer los párrafos anteriores, vemos que nuestra base de datos debe contener una serie de tablas de datos, que serán aquellas que dispongan de la información que necesitemos gestionar.

En seguida vemos que el esquema que muestra la figura 1.9 queda corto. Debemos concretar un poco más. Los datos de los alumnos, ¿cuáles son? Evidentemente debemos incluir nombre y apellidos, ¿tal vez su dirección? No, si no pensamos enviarles correspondencia. ¿Su número de teléfono? Sí, si prevemos que les tendremos que avisar de repentinos cambios en los horarios de las competiciones o cualquier otra circunstancia. Todas estas preguntas y más, debemos hacernos antes de empezar a trabajar con la base de datos.

Figura 1.9

Nota

Una buena idea puede ser realizar un esquema en papel anotando los datos que queremos utilizar y las tareas que deseamos que realice la base de datos: listado de tutorías, alumnos que pertenecen a un determinado grupo, etcétera. De esta forma resultará más sencillo concretar la información que necesitamos almacenar en ella.

« Anterior | Siguiente »

Recomendaciones para lograr una buena planificación

Si estás haciendo una primera aproximación a las bases de datos puedes leer las ideas que enumeramos a continuación y volver a ellas cuando hayas adquirido más conocimientos sobre OpenOffice Base:

En primer lugar debemos tener clara la finalidad del proyecto, ya que será determinante para crear las tablas necesarias y, en definitiva, la estructura de la base de datos más adecuada.

Enumera las tablas que necesitas. Por ejemplo si estás diseñando una base de datos vinculada a un centro educativo será necesario almacenar información sobre alumnos, cursos, materias, etcétera.

Una vez tomada la decisión sobre las tablas, toca el turno a la información que almacenará cada una de ellas.

Piensa en la relación que tendrán las tablas entre sí. Por ejemplo, está claro que la tabla de cursos tiene que estar asociada de algún modo a la tabla de alumnos. Aunque esta fase todavía nos queda un poco lejos es bueno tenerlo presente.

Piensa en qué otros objetos necesitarás como consultas, formularios o informes.

Importante

Terminados todos estos puntos, es conveniente estudiar la estructura resultante para detectar posibles fallos. Insistimos en que una buena planificación hará mucho más fácil el trabajo con la base de datos. Y lo más importante, evitará que tengamos que hacer cambios sobre la estructura de tablas, cuando éstas ya contengan información.

« Anterior

Acerca de OpenOffice Base

OpenOffice Base es un sistema gestor de base de datos (SGBD) y como tal, permite administrar grandes cantidades de información de forma rápida y sencilla. También se trata de una aplicación gratuita y en castellano que puedes descargar desde su web.

Entre las principales características de OpenOffice Base podríamos destacar las siguientes:

Permite tanto crear nuestras propias bases de datos como abrir aquellas creadas por otras personas.

Es software libre, como el resto de la suite OpenOffice.

El sistema gestor de base de datos (SGBD) que utiliza Base se denomina HSQL y está escrito utilizando lenguaje Java, ofreciendo, entre otras, la ventaja de ser multiplataforma. Es decir, se puede ejecutar en diferentes entornos como Linux o Windows sin que sea necesario alterar nada en nuestros proyectos.

Incluye multitud de asistentes y vistas para hacer más fácil el trabajo a todas aquellas personas que dispongan de conocimientos limitados sobre bases de datos.

Para proyectos sencillos es posible acceder directamente a ficheros DBase. También permite abrir bases de datos Access, texto plano, Mysql, DAO o incluso Oracle. Y cualquier otra base de datos a partir de los interfaces ODBC o JDBC.

Desde Base, podemos acceder a la información existente en agendas compatibles con LDAP, Outlook y, por supuesto, Mozilla.

Importante

Existe una estrecha relación entre OpenOffice y la máquina virtual de Java. Este elemento resulta imprescindible para llevar a cabo ciertas operaciones dentro del programa pero, en Base, la situación es mucho más crítica ya que si no tenemos instalada la máquina virtual de Java prácticamente no funciona.

Objetivos

Descubrir OpenOffice Base.

Familiarizarnos con los elementos principales del entorno de trabajo de OpenOffice Base.

Crear nuestra primera base de datos.

Aprender cómo abrir bases de datos ya creadas.

Siguiente »

Nuestra primera base de datos con OpenOffice

Para crear una nueva base de datos, OpenOffice nos lo pone bastante fácil con el Asistente para bases de datos que aparece después de abrir la aplicación, o intentar crear una base de datos desde cualquier otra aplicación de OpenOffice.org. El aspecto de este cuadro de diálogo lo puedes comprobar en la figura 1.6.

Figura 1.6

Actividad 1

Haz clic en

Inicio

>

Programas

>

OpenOffice.org

>

OpenOffice.org Base

si aún no has iniciado el programa o utiliza el comando

Archivo

>

Nuevo

>

Base de datos

si te encuentras dentro del entorno de cualquier otra aplicación de OpenOffice.

Dentro del cuadro de diálogo

Asistente para bases de datos

aparecen varias posibilidades:

Crear una nueva base de datos

,

Abrir una base de datos ya existente

o

conectarnos con una base de datos existente

. En estos momentos nos interesa crear una nueva base de datos. Haz clic en ella y pulsa el botón

Siguiente

.

Una vez completado el paso anterior, en la siguiente ventana que puedes ver en la figura 1.7, debes elegir entre registrar o no la base de datos. Si decides registrarla estará disponible como origen de datos para otros proyectos de OpenOffice (Write, Calc, Impress) con tan sólo recurrir al comando

Ver

>

Fuentes de datos

de Writer, Calc… La figura 1.8 muestra el aspecto de

Writer

después de utilizar esta característica. En cambio, si no quieres aprovechar esta opción y prefieres no registrar la base de datos, sólo estará disponible desde el propio archivo de OpenOffice Base.

Figura 1.7

Figura 1.8

Otra de las opciones que podemos marcar es la casilla que nos permite abrir la base de datos en modo edición. Esta opción será la más habitual para empezar a trabajar con la base de datos inmediatamente.

Al pulsar

Finalizar

aparece la ventana

Guardar

, donde elegiremos un nombre y una ubicación para la base de datos que estamos creando. En este caso, a la nueva base de datos le daremos el nombre de

base1.odb

.

« Anterior | Siguiente »

El entorno de OpenOffice Base

Aunque Base es un componente de OpenOffice.org, su aspecto difiere ligeramente del resto de aplicaciones de la suite. La figura 1.9 muestra el entorno del programa tras crear o abrir una base de datos con el asistente.

Figura 1.9

Dentro del entorno de Base podemos distinguir tres partes, además de las típicas barras de herramientas y de menús que ya conocemos. En el margen izquierdo encontramos accesos para los elementos principales de la base de datos: Tablas, Consultas, Formularios e Informes. Ahora, fíjate en el área situada a la derecha y comprueba como aparece dividida en dos secciones: la superior permitirá acceder rápidamente a las tareas disponibles para cada objeto como crear tablas, añadir consultas, diseñar formularios, etcétera y se denomina igualmente Tareas. Mientras que la parte inferior mostrará los elementos disponibles para el objeto seleccionado en cada caso: Tablas, Formularios...

Truco

Sitúa el ratón sobre cualquiera de las tareas disponibles y a la derecha aparecerá una breve descripción de la misma.

« Anterior | Siguiente »

Abrir bases de datos existentes

OpenOffice Base también permite abrir archivos de bases de datos ya creados tanto del propio programa como de terceros. En este último caso podemos trabajar con bases de datos Access, Paradox, dBase…

Para abrir un archivo de bases de datos creado previamente debemos marcar la opción

Abrir un archivo de base de datos existente

en el primer paso del Asistente, para después hacer clic sobre el botón

Abrir

.

Truco

La lista

Usado recientemente

muestra los últimos proyectos con los que hemos trabajado como muestra la figura 1.10.

Figura 1.10

« Anterior

Diseño de tablas

Las tablas de una base de datos conforman la estructura principal de la misma, podríamos decir que se trata de los

cimientos

de nuestra estructura. Cada tabla contiene la información que utilizarán el resto de objetos de la base de datos: consultas, formularios, informes...

El diseño de las tablas debe ser un proceso meditado donde debemos tener en cuenta las necesidades y el fin al que estará destinada nuestra base de datos.

Objetivos

Crear nuestra primera tabla.

Conocer los diferentes tipos de datos.

Asociar a cada tabla uno o varios campos clave.

Siguiente »

Crear una tabla

Existen dos formas de crear tablas en Base, utilizando el Asistente o bien empleando la herramienta de diseño de tablas. El asistente ofrece algunas facilidades pero también ciertas limitaciones por lo que en primer lugar nos decantaremos por la opción de diseño de tablas.

En la ventana Diseño de tabla que podemos observar en la figura 2.1, encontramos la típica barra de menús de OpenOffice.org y debajo una barra de herramientas reducida cuyas funciones se activarán en cuanto empecemos a introducir información.

Figura 2.1

« Anterior | Siguiente »

Campos de la tabla

Como ya hemos comentado, la estructura interna de la tabla está formada por campos como puedes ver en la figura 2.2. Estos campos determinan el carácter de la información que almacenan y se identifican mediante un “nombre de campo”. Por ejemplo, en una tabla donde se almacenen los datos de alumnos, un campo imprescindible sería el nombre del alumno, otro sería el curso o grupo al que pertenece, también podríamos incluir la fecha de nacimiento y así hasta completar toda la información que deseamos almacenar sobre el alumno.

En principio puede ser válida cualquier denominación a la hora de crear una campo de una tabla. Sin embargo, es conveniente cumplir algunas normas:

El nombre del campo debe describir, en la medida de lo posible, la información que almacena: Nombre, Fecha, Grupo, etcétera.

Intenta que no sea tan corto que no permita adivinar su contenido, ni tan largo que resulte incómodo trabajar con él.

Es aconsejable no utilizar símbolos o caracteres especiales (guiones, espacios en blanco…) que puedan generar problemas con ciertas operaciones o al trasladar la base de datos a otros sistemas.

Elige con cuidado el tipo de datos para optimizar al máximo la base de datos. Resumiendo mucho el tipo indica si almacenaremos texto en el campo, números o ambos. A continuación, comentamos las características de los tipos de datos disponibles en Base.

No dudes en utilizar la columna

Descripción

para indicar el propósito de cada uno de los campos.

El nombre de los campos no puede empezar por espacios ni contener signos de puntuación ni corchetes.

No pueden existir dos campos con el mismo nombre en la misma tabla.

Figura 2.2

« Anterior | Siguiente »

Tipos de datos

El Tipo de datos determina el carácter de la información que contiene el campo. No es lo mismo almacenar valores numéricos con los que posteriormente podremos realizar operaciones matemáticas, que guardar textos como los nombres de los alumnos.

Después de introducir el nombre del campo, al desplegar el cuadro de lista asociado a la columna

Tipo de campo

aparecerá una larga lista de posibilidades como puedes ver en la figura 2.3.

Figura 2.3

Entre ellas, las que usaremos con más frecuencia son:

Número

: Es el tipo numérico más flexible. Permite determinar su tamaño y su precisión en cuanto al número de valores decimales que puede representar.

Texto [VARCHAR]

: Tipo de campo destinado a cadenas de caracteres cuya longitud no es fija. En la propiedad

Longitud

se determina su longitud máxima.

Sí/No

: Este tipo de datos, conocido como “booleano”, se utiliza para representar datos Verdadero/Falso o Sí/No o 1/0.

Fecha, Hora y Fecha/Hora

: Estos tipos de datos se utilizan para almacenar información referida a horas, fechas o su combinación. El formato de presentación lo podemos seleccionar en la propiedad

Formato.

Nota

: Tipo carácter, destinado a almacenar textos de gran longitud como pueden ser comentarios, etc.

Nota

OpenOffice Base dispone de más tipos de datos, tantos como necesidades nos puedan surgir a la hora de diseñar una base de datos. Nosotros hemos descrito los que utilizaremos en el 99% de los casos.

« Anterior | Siguiente »

Propiedades de los tipos de datos

Cada vez que elegimos un tipo de dato, la parte inferior de la ventana de diseño muestra una serie de opciones que permiten ajustar el comportamiento del campo a las necesidades de cada situación. En la figura 2.4 puedes ver las propiedades del tipo Texto. En este caso, cabe destacar la segunda de las opciones denominada

Longitud,

con la que podrás establecer el tamaño máximo de la cadena de caracteres que contendrá el campo.

Figura 2.4

Nota

La longitud máxima del tipo

Texto

es de 255 caracteres. Si piensas que el campo superará este límite es necesario utilizar el tipo

Nota

.

Existen propiedades compartidas por más de un tipo de dato y otras específicas sólo disponibles en algunos de ellos. A continuación comentamos las más importantes:

Valor automático

: Al activar esta opción será OpenOffice Base el encargado de añadir nuevos valores al campo. Los valores son secuenciales y distintos por lo que esta propiedad resulta especialmente útil para asociarla a campos clave de la base de datos.

Sólo aparece en los campos de tipo Integer.

Expresión incremento automático

: Como muestra la figura 2.5, esta propiedad aparece automáticamente tras definir la opción anterior como

Sí

. Su función es la de establecer el valor de incremento del campo, de uno en uno, dos en dos, etcétera. Por lo general, la expresión predeterminada será la que utilicemos.

Figura 2.5

Tamaño

: Especifica el número de caracteres para los campos de tipo texto o la longitud máxima en los tipos numéricos. Las posiciones decimales también cuentan y se restarán del tamaño total.

Decimales

: Determinar el número de valores decimales que deseamos almacenar en el campo.

Ejemplo de formato

: Haz clic en el pequeño botón que aparece a la derecha de este campo para mostrar el cuadro de diálogo que puedes ver en la figura 2.6. En él podremos definir de forma precisa el modelo de representación para los datos en el campo. Las posibilidades de este cuadro de diálogo son realmente interesantes.

Figura 2.6

Valor predeterminado

: Aquí podemos escribir el valor por defecto que tomará el campo después de añadir un nuevo registro.

Entrada requerida

: Si decides elegir la opción

Sí

para esta propiedad estarás obligando al usuario a introducir un dato en este campo. Si no lo haces el registro no se podrá guardar en la tabla.

Truco

Al situar el cursor sobre cualquier propiedad, Base mostrará en el margen derecho una descripción detallada de la misma.

Actividad 1

Una vez descrita la teoría básica sobre tablas, campos y tipos en OpenOffice Base disponemos de la información suficiente para crear nuestra primera tabla, destinada a guardar los datos personales de todos los alumnos. Sigue estos pasos:

Abre una base de datos existente o crea una nueva base de datos.

Fíjate en el margen izquierdo de la ventana de OpenOffice Base y haz clic sobre el elemento denominado

Tablas

.

En la sección

Tareas

, selecciona

Crear tabla en vista Diseño

.

Una vez en la ventana de diseño, haz clic en el primer campo y escribe “Expediente”.

Utiliza la tecla

Tab

para pasar a la siguiente columna donde debemos elegir el tipo de dato para el campo. El pequeño botón situado a la derecha permite desplegar la lista de tipos como muestra la figura 2.7.

Figura 2.7

En esta lista, elige el tipo

Integer [INTEGER]

para el campo

Expediente

.

Una vez determinado el tipo en la columna

Descripción

podemos escribir el siguiente texto:

Número de expediente del alumno

.

Ahora debemos bajar la mirada, y fijarnos en las propiedades del campo. Aquí nos interesa sobre todo la propiedad

Entrada requerida

que debemos establecer en

Sí

. Con esta acción hacemos obligatorio introducir un número de expediente para no tener problemas a la hora de identificar cada alumno. El resto de propiedades las puedes dejar tal y como están. En la figura 2.8 puedes comprobar el aspecto de la ventana de diseño después de añadir nuestro primer campo.

Figura 2.8

Siguiendo el mismo procedimiento, añade el resto de campos de la tabla según las indicaciones que tienes a continuación. El campo Expediente no es necesario volver a crearlo y con respecto a las propiedades, por ahora con las opciones por defecto será suficiente. Para desplazarte entre las columnas

Nombre del campo

,

Tipo de campo

y

Descripción

puedes utilizar la tecla

Tab,

los cursores o hacer clic sobre la celda que quieres rellenar.

Nombre del campo | Tipo de campo | Descripción
Expediente | Integer | Número de expediente del alumno
Nombre | Texto [VARCHAR] | Nombre del alumno
Apellidos | Texto [VARCHAR] | Apellidos del alumno
Grupo | Integer | Grupo de clase del alumno
FechaNacimiento | Fecha[DATE] | Fecha de nacimiento del alumno

Una vez concluida la definición de los campos de la tabla el aspecto de la ventana de diseño deberá ser similar al que muestra la figura 2.9.

Figura 2.9

Una vez añadidos todos los campos, el siguiente paso será guardar la estructura de la tabla que hemos creado. Selecciona

Archivo>Guardar como

o haz clic sobre el icono botón guardar como situado en la barra de herramientas para mostrar el cuadro de diálogo

Guardar como

.

A nuestra primera tabla la llamaremos

Alumnos

. Inmediatamente después de hacer clic sobre el botón

Aceptar,

aparece una ventana de aviso para advertirnos de que no hemos definido ninguna llave primaria (figura 2.10). Hasta que no lo hagamos no podremos introducir datos en la tabla. A pesar de ello y de momento, elegiremos

No.

Un poco más adelante hablaremos de las llaves y claves primarias.

Figura 2.10

« Anterior | Siguiente »

Campos clave

En cualquier base de datos los registros incluidos en sus diferentes tablas deben estar perfectamente identificados y de esto se encargan las claves o llaves. Trasladando este concepto a la vida real, cada ciudadano tiene un número de DNI, puede haber dos personas con igual nombre e incluso apellidos iguales, pero ambos se diferenciarán por su número de DNI, que es único en "teoría".

Cada tabla debe contener al menos un campo que permita identificar unívocamente cada registro. Este campo puede ser real, como el propio DNI de una persona. O puede ser un valor que nos inventemos para conseguir el mismo fin, como un número que asignemos automáticamente a cada registro, asegurándonos (realmente lo hará Base) de que no se repita. Otra opción es utilizar una combinación de campos para identificar los registros de la tabla. Por ejemplo podríamos definir la combinación de Nombre y Apellidos de nuestra tabla para este fin. Sin embargo, existe la probabilidad de que haya alumnos con igual nombre y apellidos, por lo que no sería una clave del todo válida.

Actividad 2

A continuación añadiremos una clave a nuestra primera tabla. Para ello elegiremos un campo ya definido y que tenemos la certeza de que no se va a repetir, el número de expediente de los alumnos.

Abre la tabla

Alumnos

en la vista Diseño. Para ello haz clic con el botón derecho sobre ella y selecciona el comando

Editar

.

Inmediatamente aparecerá la ventana de Diseño de tabla que ya conocemos. A continuación, haz clic con el botón derecho en el espacio situado a la izquierda del campo

Expediente

y en el menú emergente que aparece selecciona el comando

Llave primaria

como puedes ver en la figura 2.11.

Figura 2.11

Junto al campo modificado aparecerá un icono representando una pequeña llave como muestra la figura 2.12. También puedes observar que ha desaparecido la propiedad

Entrada requerida,

ya que a partir del momento en que un campo es clave o llave es obligatorio rellenar este dato para poder añadir el registro a la tabla.

Figura 2.12

Para terminar, guarda los cambios realizados.

Llegados a este punto y una vez definida la llave primaria ya podríamos introducir datos en nuestra tabla. Para ello haz doble clic sobre la tabla y se abrirá en el modo edición de datos.

Importante

Si necesitamos utilizar más de un campo para componer la llave de una tabla, será suficiente con seleccionar en primer lugar los campos que deseamos utilizar para después hacer clic con el botón derecho y elegir el comando

Llave primaria

. La forma de seleccionar más de un campo es mantener pulsada la tecla

CTRL

mientras haces clic en el espacio situado a la izquierda del campo.

« Anterior

Edición de datos en tablas

Una vez creada la tabla, añadidos los campos necesarios y asignada la clave primaria para reconocer inequívocamente cada registro, el siguiente paso será introducir en la tabla toda la información que deseemos almacenar. Veamos como hacerlo.

Objetivos

Borrar, modificar y añadir datos a la tabla una vez creada.

Trabajar con los registros de la tabla: añadir registros, eliminarlos, duplicar uno o varios registros.

Localizar información en la tabla mediante los comandos Buscar y Autofiltro.

Ordenar de manera sencilla la información contenida en la tabla.

Mejorar el aspecto de la tabla y de esta forma hacer más sencillo el acceso a sus datos.

Utilizar el Asistente para tablas.

Siguiente »

Añadir datos a una tabla

Como acabamos de comentar, una vez definida y creada la estructura de la tabla, tenemos todo dispuesto para comenzar a introducir datos. Si bien es cierto que los formularios son la herramienta específica para añadir información en una base de datos, podemos prescindir de ellos a la hora de realizar pequeñas operaciones de edición. En estos casos podemos trabajar directamente sobre las tablas de nuestra base de datos, añadiendo nuevos registros, modificando valores o eliminando cualquier dato.

Actividad 3

Como punto de partida utiliza la base de datos de la última actividad donde has creado la tabla

Alumnos

.

Comprueba que el objeto

Tablas

se encuentra seleccionado en el margen izquierdo y después, haz doble clic sobre el nombre de la tabla para abrirla en el modo Edición. El aspecto de la ventana será similar al que muestra la figura 2.14.

Figura 2.14

El cursor aparecerá en el primer campo del primer registro. Basta con empezar a escribir los datos para que estos aparezcan en los diferentes campos. Podemos desplazarnos a lo largo del registro con las teclas de cursor, con el tabulador o pulsando la tecla Intro.

Para escribir la fecha de nacimiento podemos introducir los datos separados por guiones, barras de división o por puntos y Base se encargará de adaptar los valores al formato admitido por el programa. Observa la figura 2.15.

Figura 2.15

Con estos sencillos pasos podemos ir añadiendo datos a la tabla, pero no olvides que al terminar de introducir todos los campos de un registro y pasar al siguiente, el anterior quedará guardado automáticamente en la tabla. El botón icono guardar como también permite hacer esta misma acción de forma manual.

Importante

Es importante saber que el comando Deshacer

NO

permite anular la inserción de un registro completo.

Al introducir los datos debemos tener la precaución de rellenar los campos conforme a la definición que hemos hecho de la tabla. Base no detecta todos los errores y en este caso, es posible que transforme los datos a un valor por defecto equivocado. Del mismo modo, si intentamos almacenar un registro sin rellenar un campo que hemos definido como de

Entrada requerida

Base nos lo impedirá con la correspondiente ventana de aviso y con un mensaje incomprensible, como muestra la figura 2.16. En principio sólo debe preocuparnos la primera parte del mensaje:

Error al insertar un nuevo registro de datos

.

Figura 2.16

« Anterior | Siguiente »

Características interesantes del modo Edición

En la ventana de edición encontramos una serie de herramientas que nos pueden ayudar a la hora de trabajar con la información de la tabla:

El botón sirve para alternar entre el modo

Edición

y

Sólo lectura

. En el primer caso podemos añadir, modificar y eliminar datos de la tabla. Se reconoce porque la última fila de la tabla aparece con un icono de destello en la columna de la izquierda. En el segundo modo sólo podemos leer la información de la tabla.

El botón permite actualizar los datos de la tabla o reconstruirlos si se hubieran realizado modificaciones en la estructura.

Observa en la figura 2.17 como la parte inferior de la ventana muestra una serie de botones que permiten desplazarnos a través de los registros de la tabla, en caso de que ésta sea muy extensa y no cupiera en la ventana. A su izquierda aparece el número del registro activo junto al número de registros en la tabla.

Figura 2.17

OpenOffice Base no permite copiar registros enteros. Pero no tendremos ningún problema para utilizar los comandos

Cortar

,

Pegar

y

Copiar

con el contenido de cualquier campo de la tabla.

Nota

Recuerda que las combinaciones de teclas Control+C (

Copiar

), Control+X (

Cortar

) y Control+V (

Pegar

) son el método más rápido para utilizar estos comandos. En cualquier caso, también los puedes encontrar dentro del menú

Editar

.

« Anterior | Siguiente »

Eliminar registros

Antes de aprender a eliminar uno o más registros debemos conocer la forma de seleccionarlos. Para esto, haz clic en el espacio de color situado a la izquierda de cada registro y que hemos resaltado en la figura 2.18.

Figura 2.18

Existe la posibilidad de eliminar varios registros al mismo tiempo. Para ello haz clic en el margen izquierdo del primero, mantén pulsada la tecla

Mayús

y a continuación, selecciona el último de los registros que deseas borrar. Después, todos los registros situados entre los dos marcados quedarán seleccionados. Si utilizas la tecla

Control,

podrás seleccionar registros no consecutivos como muestra la figura 2.19.

Figura 2.19

Finalmente para eliminar uno o varios registros previamente seleccionados haz clic con el botón derecho en el espacio gris situado a su izquierda. Aparecerá un menú emergente donde seleccionaremos la opción

Eliminar filas

como puedes ver en la figura 2.20.

Figura 2.20

Importante

Una vez eliminado el registro no existe ningún comando que permita deshacer la operación, por lo que debemos estar completamente seguros antes de ejecutarlo.

« Anterior | Siguiente »

Duplicar registros

OpenOffice Base ofrece un método sencillo para duplicar uno o varios registros, este método puede ahorrarnos trabajo a la hora de introducir información similar en la tabla:

Selecciona el registro o los registros que quieres duplicar.

A continuación, haz clic, mantén pulsado el botón izquierdo del ratón y arrastra, hasta que junto al cursor aparezca un pequeño símbolo más, como muestra la figura 2.21. En este momento, puedes soltar, y los registros seleccionados aparecerán duplicados al final de la tabla.

Figura 2.21

Advertencia

Si al duplicar registros el

campo llave

está configurado como automático no habrá ningún problema ya que será el propio programa el encargado de asignar el valor adecuado. Si no es así, Base mostrará un mensaje de error y situará el cursor sobre el campo llave para que introduzcamos el dato correcto, después de esto podremos validar el registro sin ningún problema.

« Anterior | Siguiente »

Buscar información en una tabla

Cuando trabajamos con bases de datos la búsqueda de información suele llevarse a cabo mediante consultas. Sin embargo, cuando sólo queremos localizar unos pocos datos o no vamos a aplicar criterios muy complejos, podemos realizar la búsqueda desde la herramienta de búsqueda en tablas. Con esta herramienta podremos localizar cualquier registro a partir del contenido de cualquiera de sus campos.

Haz clic sobre el botón

Buscar registros de datos

para mostrar el cuadro de diálogo que aparece en la figura 2.22. Este cuadro de diálogo se encuentra dividido en tres secciones pero de momento nos fijaremos únicamente en las dos siguientes:

La opción

Texto

situada en la sección

Buscar por

, será donde debamos introducir la palabra o término que deseamos buscar en la tabla. Podemos especificar una cadena de caracteres o un número, o bien podemos hacer que la herramienta de búsqueda localice aquellos campos con un campo vacío (NULL) o con un campo no vacío.

En la segunda sección,

Área,

especificaremos si queremos que Base busque por todos los campos de la tabla o bien se limite a buscar en un campo específico.

Figura 2.22

Actividad 4

Si lo deseas, haz clic aquí para descargar una base de datos con las tablas y relaciones ya definidas de modo que puedas realizar la actividad sin problemas.

Con la tabla

Alumnos

en el modo vista de datos, haz clic en el icono de búsqueda de datos.

Por defecto aparecerá activada la opción

Texto

. En ella escribe el término de búsqueda García

.

En la sección

Área,

activa el botón de opción

Campo individual

y elige de la lista el campo Apellidos.

Al ejecutar la búsqueda aparecerá resaltado el primer registro que contenga algún dato coincidente con el criterio de búsqueda. Además, en la parte inferior de la ventana de búsqueda aparecerá el número del registro donde se ha encontrado esa primera coincidencia como puedes ver en la figura 2.23. La búsqueda irá avanzando a lo largo de toda la tabla a medida que volvamos a hacer clic en el botón

Buscar

hasta que se acaben las coincidencias.

Figura 2.23

« Anterior | Siguiente »

Ordenación básica de datos

Por defecto, cada vez que abrimos una tabla ésta mostrará los registros en el orden en que se han introducido. Sin embargo, podemos hacer que los registros se ordenen de forma ascendente o descendiente en función de cualquiera de los campos que conforman la tabla.

Haz clic sobre el nombre del campo por el que quieres que se ordenen los registros. Después de marcarlo, aparecerá seleccionada la columna correspondiente como puedes ver en la figura 2.24.

A continuación haz clic sobre el botón de ordenación automática en orden ascendente orden ascendente o en el botón de ordenación automática en orden descendente orden descendente según necesites.

Automáticamente aparecerá la tabla con los registros ordenados.

Figura 2.24

« Anterior | Siguiente »

Autofiltro

En determinadas ocasiones, nos puede interesar mostrar sólo ciertos registros de la tabla pero sin complicarnos demasiado la vida con la consulta. La forma más sencilla de hacerlo es utilizar la herramienta

Autofiltro.

Con ella conseguiremos mostrar en la ventana de datos sólo aquellos registros que coincidan en el valor de un campo con el seleccionado.

Actividad 5

Utiliza la base de datos base2.odb que proporcionamos en la actividad anterior y abre la tabla

Alumnos

en el modo vista de datos. Recuerda que es suficiente con hacer doble clic sobre el nombre de la tabla.

Selecciona algún registro donde el valor para el campo

Grupo

sea

1

.

A continuación haz clic en el botón

Autofiltro autofiltro

.

En la ventana de datos de la tabla sólo aparecerán aquellos registros correspondientes a alumnos del grupo 1 como muestra la figura 2.25.

Figura 2.25

Truco

Para recuperar el aspecto original de la tabla y mostrar de nuevo todos sus registros, haz clic en el
icono

Eliminar filtro/orden

Botón eliminar filtros.

« Anterior | Siguiente »

Modificar la apariencia de una tabla

OpenOffice Base permite una serie de pequeñas modificaciones sobre el aspecto de las tablas. Por ejemplo:

Para modificar el ancho de una columna haz clic con el botón derecho sobre su encabezado y selecciona la opción

Ancho de columna.

Si eliges

Automático

será Base quien le asigne la anchura de forma que se puedan leer todos los datos de la misma.

Otra forma de modificar el ancho de una columna es utilizar el ratón. Para hacerlo sitúa el puntero del ratón en uno de los límites laterales de la primera celda de la columna que quieras modificar. El puntero se transforma en una doble flecha como muestra la figura 2.26. En ese momento haz clic con el ratón y arrastra hacia la izquierda o la derecha el límite de la columna.

Figura 2.26

Para modificar la altura de las filas, los métodos disponibles son los mismos que hemos descrito para las columnas salvo que, este caso, las modificaciones afectan a todas las filas por igual.

Si deseas cambiar la fuente de texto utilizada para mostrar los datos de la tabla, haz clic con el botón derecho sobre el espacio situado a la izquierda de cada fila y a continuación selecciona el comando

Formateado de tablas

. OpenOffice Base mostrará el cuadro de diálogo que puedes ver en la figura 2.27, donde podrás elegir la fuente de texto, su tamaño, el estilo así como otros efectos de fuente.

Figura 2.27

Haz clic con el botón derecho sobre el encabezado de cualquier columna y selecciona el comando

Formateado de columnas

. Entre las posibilidades que ofrece el cuadro de diálogo podremos modificar la alineación de los datos y aplicar diferentes formatos.

Para terminar, comentaremos que OpenOffice Base permite ocultar una o más columnas de la tabla temporalmente. Para hacerlo selecciona la columna que quieres ocultar y haz clic con el botón derecho sobre ella para seleccionar la opción

Ocultar columna

. Para volver a hacerla visible tendrás que hacer clic con el botón derecho sobre cualquier celda de la primera fila, seleccionar la opción

Mostrar columnas

y por último hacer clic sobre la columna que queramos que vuelva a ser visible o bien sobre la opción Todas. Observa la figura 2.28.

Figura 2.28

Nota

Todas estas modificaciones se perderán si no se guardan los cambios al salir de OpenOffice Base, no de la vista hoja de datos de la tabla.

« Anterior | Siguiente »

El Asistente para tablas

El Asistente para tablas de OpenOffice Base incluye multitud de tablas prediseñadas que podemos configurar y utilizar en tan sólo unos minutos. A continuación vamos a crear una tabla utilizando este asistente.

« Anterior | Siguiente »

Primer paso

Actividad 6 - Paso 1

Abre la base de datos y en el margen izquierdo, selecciona

Tablas.

Después, en la sección

Tareas

, haz doble clic sobre la opción

Usar el asistente para crear tabla

. Observa el aspecto del primer paso en la figura 2.29.

Figura 2.29

De las dos categorías disponibles, elegiremos

Negocios

para seguir esta actividad.

A continuación, en la lista desplegable

Tablas de muestra

selecciona el modelo denominado

Clientes

.

Dentro de la sección

Campos disponibles

encontrarás los campos predefinidos para este modelo. En este caso, nuestra intención es crear una tabla con los datos personales del profesorado, por lo que debemos elegir los campos siguientes: IDCliente, Nombre, Apellido, Dirección, Cuidad, EstadoOProvincia, CódigoPostal y Departamento. Haz doble clic en cada campo o utiliza el botón botón adelante-al final para pasarlos todos. En este punto, el aspecto del cuadro de diálogo debe ser el que muestra la figura 2.30. Si nos equivocamos al desplazar algún campo o la totalidad, podemos devolverlos a la ventana de origen haciendo clic en los botones botón atrásBotón atrás-al principio.

Figura 2.30

Nota

Podemos añadir campos procedentes de otros modelos de tablas. Basta con elegir otra opción en la lista

Tablas de muestra

y seleccionar los campos que deseemos. Cuando tengamos elegidos todos los campos que vayamos a utilizar pulsa el botón

Siguiente

para continuar con el asistente.

« Anterior | Siguiente »

Segundo Paso

Actividad 6 - Paso 2

En el siguiente paso del asistente que puedes ver en la figura 2.31, OpenOffice Base ofrece la posibilidad de modificar las propiedades de cada uno de los campos seleccionados e incluso añadir nuevos campos creados por nosotros mismos mediante el botón botón añadir campos. Igualmente podemos eliminar alguno de los campos, seleccionándolo en primer lugar y pulsando a continuación el botón Botón eliminar campos . Aprovecha este paso del asistente para cambiar el nombre del campo EstadoOProv por simplemente Provincia y del mismo modo cambia IDCliente por IDProfesor conservando el resto de valores como vienen definidos en el modelo. En las propiedades del campo IDProfesor asignaremos Sí a la opción

Valor automático

. Por último, selecciona en el margen izquierdo el campo Departamento y en la opción

Tipo de campo

elige

Integer[INTEGER]

. Esto nos servirá para vincular el código del departamento al que pertenece cada profesor.

Figura 2.31

« Anterior | Siguiente »

Tercer paso

Actividad 6 - Paso 3

Después de hacer clic en el botón

Siguiente

pasamos a la siguiente ventana del asistente. En ella deberemos establecer la clave principal de nuestra tabla y para ello tenemos tres posibilidades:

Si elegimos

Autovalor,

Base añade un nuevo campo que actuará como clave y cuyo valor se incrementará automáticamente cada vez que incluyamos un nuevo registro.

Otra posibilidad es elegir uno de los campos ya existentes en la tabla.

Como última opción, nos queda elegir una combinación de campos que sirva para identificar de forma inequívoca cada uno de los registros de la tabla.

En el ejemplo elegido tenemos un candidato perfecto para ser clave de la tabla, se trata del campo IDProfesor. Después de activar su propiedad

Valor automático

será el propio programa el que se encargue de añadir un nuevo “valor único” a este campo cada vez que se añada un registro a la tabla. Por lo tanto, selecciona la segunda de las opciones y en la lista desplegable

Nombre del campo

elige el campo IDProfesor, como puedes ver en la figura 2.32.

Figura 2.32

Nota

Activar la casilla de verificación

Autovalor

tiene el mismo efecto que utilizar la propiedad

Valor automático

de las propiedades del campo. En este caso aparece activada, dado que ya configuramos este aspecto en el paso anterior.

« Anterior | Siguiente »

Último paso

Actividad 6 - Paso 4

Después de hacer clic en

Siguiente

llegamos a la última ventana del asistente donde debemos asignar un nombre a la tabla que, en este caso, llamaremos Profesores (figura 2.33). A partir de aquí disponemos de tres opciones:

Insertar datos inmediatamente

,

Modificar el diseño de la tabla

y

Crear un formulario basado en esta tabla

. Selecciona la segunda de ellas para comprobar el trabajo realizado por el asistente.

Figura 2.33

« Anterior | Siguiente »

Tablas de ejemplo

Con las tablas Alumnos y Profesores ya podríamos empezar a trabajar con nuestra base de datos, pero si queremos sacar mucho más partido de ella necesitaremos añadir algunas tablas más: Cursos, Departamentos, Tutorías... nos pueden servir de base para desarrollar casi cualquier necesidad que se nos plantee en la actividad diaria del centro como por ejemplo: Gestionar los horarios de tutoría, controlar diferentes aspectos de nuestros alumnos como faltas de asistencia, notas, méritos...

Para facilitarte un poco el trabajo puedes descargar haciendo clic aquí una base de datos de ejemplo donde se incluye la mayoría de estas tablas ya creadas para que pueda completar el resto de actividades de este módulo. Concretamente:

En primer lugar se encuentran las tablas básicas que servirán para la mayoría de las bases de datos que necesitemos diseñar en nuestro centro:

Cursos

,

Alumnos

,

Profesores

y

Departamentos

.

También dispones de las tablas relacionadas con un ejemplo típico como es la gestión de las actividades deportivas del centro:

Actividades

,

Calendario

y

Equipos

.

Por último, planteamos las tablas necesarias para otro ejemplo muy común, la gestión de tutorías. La tabla

Tutorías

abrirá nuevas posibilidades y más concretamente permitirá disponer de todos los horarios de tutorías de los profesores del centro.

No existe ningún problema en que todas estas tablas se encuentren dentro de un mismo archivo de bases de datos de OpenOffice, simplemente utilizaremos las que sean necesarias en cada caso.

Importante

Antes de continuar te recomendamos que dediques algo de tiempo a revisar la estructura y el diseño de la tabla de ejemplo. Comprueba los campos incluidos, los campos claves seleccionados en cada caso, etcétera. Recuerda que puedes hacer clic con el botón derecho sobre la tabla y seleccionar el comando

Editar

para acceder a la vista Diseño.

Actividad 7

Bueno, todo el trabajo no lo ibamos a realizar nosotros. Para que nuestra base de datos de ejemplo esté completa necesitas añadir al menos dos tablas,

Departamentos

y

Tutorias

. Utiliza como punto de partida la base de datos que puedes descargar en el párrafo anterior.

Para la correcta realización de esta actividad hay que tener en cuenta lo siguiente:

El Asistente no sería una buena opción para diseñar estas tablas por lo que recomendamos utilizar la vista Diseño y todo lo aprendido hasta ahora.

Debe tenerse cuidado a la hora de establecer las claves primarias de cada tabla, ya que una vez guardada la tabla no es posible modificarla. El campo o campos clave que hay que establecer en cada caso se encuentran resaltados en negrita e identificados como tales en la Descripción.

Recuerda evitar las tildes y los espacios en los nombres de los campos.

A continuación describimos las dos tablas que debes diseñar en esta actividad con sus campos, tipos y combinaciones de claves.

Tabla Departamentos

Nombre del campo | Tipo de dato | Propiedades | Descripción
IdDepartamento | Integer [INTEGER] | Valor automático a “Sí” | Código del departamento (CAMPO CLAVE)
Nombre | Texto [VARCHAR] | Por defecto | Denominación del departamento.

Tabla Tutorías

Nombre del campo | Tipo de dato | Propiedades | Descripción
IdTutoria | Integer [INTEGER] | Valor automático a “Sí” | (CAMPO CLAVE)
Profesor | Integer [INTEGER] | Por defecto | Código del profesor.
Curso | Integer [INTEGER] | Por defecto | Código del curso asociado a la tutoría (1B, 1C, 2A...).
DiaSemana | Texto [VARCHAR] | Por defecto | Lunes, Martes, Miércoles…
HoraTutoria | Hora [TIME] | Por defecto | Hora disponible para la tutoría.

« Anterior

Relaciones entre tablas

OpenOffice Base es un gestor de base de datos relacional, entre otras cosas, porque permite establecer vínculos o relaciones entre las tablas que lo componen. El objetivo de estas relaciones sería principalmente evitar la duplicidad de información y en consecuencia, optimizar el rendimiento de la base de datos.

Nota

Las relaciones son sin lugar a dudas uno de los conceptos de base de datos más complicados de entender pero no te preocupes, con algunos ejemplos y algo de práctica no tendrás ningún problema para establecer relaciones entre tablas.

Objetivos

Comprender y establecer las relaciones entre tablas como paso imprescindible para aprovechar todo el potencial de nuestra base de datos.

Distinguir los distintos tipos de relaciones.

Configurar relaciones.

Establecer las relaciones de la base de datos de ejemplo.

Siguiente »

Concepto de relación

Las relaciones son un tema complejo pero veamos un sencillo ejemplo con las tablas Alumnos y Cursos para entenderlo mucho mejor. Inicialmente nuestras tablas estarían definidas del siguiente modo:

En la tabla

Alumnos

tenemos toda la información que necesitamos sobre nuestros alumnos como:

Su número de expediente.

Su nombre y apellidos.

Su fecha de nacimiento.

El grupo al que pertenece el alumno.

La ubicación del grupo, es decir, el aula donde están los alumnos de ese grupo (Primera planta, edificio anexo, etcétera).

Cualquier tipo de comentario de interés: grupo de compensatoria, apoyo, etcétera.

Para la tabla Grupos nos podíamos conformar con la denominación del grupo (1A, 1B, 3A...) pero le hemos añadido algunos datos que nos pueden resultar de interés:

Número total de alumnos que tiene el grupo.

El lugar donde se encuentra ubicado: Aula de música, Aula 205 Edificio principal, etcétera.

Cualquier otro dato de interés: Compensatoria, grupo de apoyo, etcétera.

Si saber nada de bases de datos y de relaciones podemos, darnos cuenta

que al comprobar los datos incluidos en las tablas de Alumnos y Grupos existe información que se repite

en ambas:

Esta situación no es demasiado favorable cuando trabajamos con bases de datos donde habitualmente la cantidad de información que se maneja es importante. La solución pasa por

RELACIONAR

las tablas con información coincidente de modo que no exista duplicidad de información. Todo esto, traducido a un lenguaje más natural sería: "Para qué escribir dos veces lo mismo, si puedo hacerlo una sola y trabajar del mismo modo".

Volviendo a nuestro ejemplo, si relacionamos las tablas Alumnos y Grupos mediante el nombre del grupo sería suficiente con indicar en la tabla Alumnos este valor para obtener el número de alumnos del grupo, su ubicación y las posibles observaciones:

« Anterior | Siguiente »

Tipos de relaciones

No siempre las condiciones para establecer vínculos entre dos tablas son iguales, la manera en que se relacionan las tablas entre sí da lugar a comportamientos diferentes. En la estructutura de cualquier base de datos encontramos principalmente tres tipos de relaciones que se describen del siguiente modo:

Uno a muchos.

Muchos a muchos.

Uno a uno.

De todas ellas, la más utilizada y recomendable en la mayoría de los casos será el modelo Uno a muchos como veremos a continuación.

« Anterior | Siguiente »

Uno a muchos

Veamos el primer modelo de relación tomando como referencia las tablas Alumnos y Grupos. Cualquier alumno (

MUCHOS

) pertenece sólo a un grupo (

UNO

), un alumno no puede estar en más de una clase. Pues bien, ni más ni menos que este sería el argumento de una relación

MUCHOS A UNO

.

Otro ejemplo, sabemos que cada profesor pertenece únicamente a un departamento, pero en cada departamento existe más de un profesor. De aquí podemos extraer una relación

UNO a MUCHOS

entre las tablas Departamentos y Profesores.

En las relaciones de uno a muchos cada registro de una tabla A, a la que llamaremos tabla primaria, puede estar enlazado con más de un registro de otra tabla B, a la que llamaremos tabla secundaria. En cambio, cada registro de la tabla B sólo puede estar enlazado a un registro de la tabla A.

Nota

Uno a muchos o muchos a uno únicamente se diferencia en el sentido de la relación, es decir, si la tabla primaria se encuentra a la izquierda o derecha de la relación. En realidad se trata del mismo tipo de relación y sin lugar a dudas, la que más se utiliza.

« Anterior | Siguiente »

Uno a uno

Las relaciones uno a uno no son demasiado frecuentes pero existen así que debemos conocerlas. Buscando alguna coincidencia en nuestro entorno que nos pueda servir como ejemplo encontramos el vínculo entre un tutor y su grupo. Como sabemos, un profesor puede ser tutor de un sólo grupo (UNO) y del mismo modo, cada grupo sólo puede tener un tutor. Esta sería una relación UNO a UNO.

Cada registro de la tabla A se relaciona con un único registro de la tabla B y cada registro de la tabla B sólo se relaciona con un elemento de la tabla A. Como hemos comentado, este tipo de relaciones son poco comunes.

« Anterior | Siguiente »

Muchos a muchos

Resumiendo lo visto hasta ahora podemos decir que el tipo de relación ideal es uno a muchos o muchos a uno. Las relaciones uno a uno no aportan demasiado a la base de datos, simplemente nos ayudan a tener mejor organizada la información pero poco más. Veamos qué ocurre con las relaciones muchos a muchos.

Por ejemplo, si queremos conocer los profesores que dan clase a un grupo o los grupos a los que da clase un profesor determinado, necesitamos en principio dos tablas: Profesores y Grupos. ¿Y cuál sería la relación entre estas dos tablas? Pues bien, para establecerla podríamos leer que un profesor da clases a varios grupos (

1A, 1B, 2C, etcétera

) y un grupo recibe clases de varios profesores (Carlos Pérez, Antonio García, etcétera). Por lo tanto, nos encontramos entre una relación

MUCHOS A MUCHOS

.

Desde un punto de vista teórico diríamos que en las relaciones Muchos a muchos a cada registro de la tabla A se le pueden asociar varios registros de la tabla B y cada registro de la tabla B puede estar relacionado con más de un registro de la tabla A.

Otros ejemplos para ilustrar este modelo de relación podrían ser:

Los alumnos que participan en las actividades deportivas del centro. Concretamente un alumno podría participar en más de un deporte (Fútbol, Baloncesto, etcétera) y a su vez cada equipo está formado por varios componentes. Esta relación también sería del tipo Muchos a muchos.

Con las actividades extraescolares ocurre lo mismo. Un alumno puede asistir a más de una (manualidades, música, idiomas, etcétera) y en cada una de ellas, encontraremos a varios alumnos.

Problemas y solución para las relaciones Muchos a muchos

Las relaciones Muchos a muchos no son recomendables y debemos tratar de evitarlas utilizando TABLAS INTERMEDIAS en las que se utilizarían relaciones de uno a muchos. Una tarea sencilla como podría ser obtener un listado de todos los profesores que imparten clases en 1ºB se convierte en una verdadera pesadilla si mantenemos esta relación. La solución pasa por crear una TABLA INTERMEDIA que nos permita dividir la relación MUCHOS A MUCHOS en dos relaciones UNO A MUCHOS como puedes ver en la figura 2.34.

Figura 2.34 

Importante

En documentación relacionada con bases de datos también podrás encontrar que utilizan otra terminología para identificar las relaciones, concretamente es común utilizar: uno a varios, varios a uno, varios a varios, etcétera.

Actividad 8

La base de datos utilizada como ejemplo contiene diferentes tablas pero faltarían dos tablas intermedias importantes, concretamente se trata de las tablas Participantes y ProfesoresCursos.

Tabla Participantes

En la tabla “Participantes” necesitamos utilizar los tres campos disponibles para componer la clave única. Además, teniendo en cuenta que esta tabla es una de las más importantes de nuestro ejemplo estudiemos mejor el sentido de cada uno de sus campos:

Alumno

: Hace referencia al código de expediente del alumno. Con este dato obtendremos después el resto de información necesaria para identificar al alumno.

ParticipanteEquipo

: Código del equipo del que forma parte el alumno. Por ejemplo, el equipo “LocosDelBalón” tiene asociado el código 0, pues bien, este será el dato que necesitamos para completar esta tabla.

ParticipanteActividad

: De nuevo utilizamos un código, pero esta vez corresponde a la actividad en la que participa el equipo: “Fútbol”, “Baloncesto”…

Es importante recordar que para poder introducir datos en la tabla

Participantes

es necesario crear previamente las tablas implicadas: Alumnos, Equipos y Actividades.

A continuación crea esta tabla teniendo en cuenta los siguientes datos:

Nombre del campo | Tipo de dato | Propiedades | Descripción
Alumno | Integer [INTEGER] | Por defecto | Código de alumno. (CAMPO CLAVE)
ParticipanteEquipo | Integer [INTEGER] | Por defecto | Código del equipo. (CAMPO CLAVE)
ParticipanteActividad | Integer [INTEGER] | Por defecto | Código de la actividad. (CAMPO CLAVE)

Tabla ProfesoresCursos

La tabla

ProfesoresCursos

nos permitirá identificar de forma precisa los grupos (cursos) a los que imparte clase cada profesor. Además con el campo

Tutor

sabremos qué curso está directamente tutelado por el profesor. Para completar esta actividad diseña la tabla ProfesoresCursos a partir de la siguiente información.

Nombre del campo | Tipo de dato | Propiedades | Descripción
Profesor | Integer [INTEGER] | Por defecto | Código del profesor. (CAMPO CLAVE)
Curso | Integer [INTEGER] | Por defecto | Código del curso asociado al profesor (1B, 1C, 2A...). (CAMPO CLAVE)
Tutor | Sí/No [BOOLEAN] | Valor predeterminado, configurar a “No”. | Si es tutor del curso el campo estará a “Sí”.

« Anterior | Siguiente »

Establecer relaciones entre tablas

Como requisito indispensable para establecer una relación entre dos tablas es necesario que ambas tablas tengan un campo en común. Observa la figura 2.35.

Figura 2.35 

Muy importante

, los campos que se utilicen para establecer la relación entre las dos tablas

deben ser del mismo tipo

(INTEGER, TEXTO, SMALL INTEGER, etcétera). Habitualmente se suelen utilizar tipos enteros (

INTEGER

) para este propósito, aunque nos valdría igualmente cualquier otro tipo siempre y cuando sea el mismo en las dos tablas. Además, debes tener en cuenta lo siguiente:

La propiedad

Tamaño del campo

debe ser igual en ambas tablas.

Si el campo en la tabla primaria está definido como de

Valor automático

en la tabla secundaria debe estar definido como

INTEGER

.

El campo común debe ser

Clave principal

en la tabla primaria.

Importante

Después de leer estas condiciones seguro que cobra mucho más sentido la importancia de una buena planificación. Imagina que tienes que cambiar el tipo de datos de una tabla para poder establecer una relación y pierdes todo su contenido.

Actividad 9

Para completar correctamente esta actividad te sugerimos que utilices la base de datos de ejemplo proporcionada en este módulo, donde ya se encuentran todas las tablas necesarias. Tú mismo has añadido algunas más en las actividades anteriores, y hemos incluido algunos datos para que puedas trabajar más cómodamente.

Veamos en la siguiente actividad los pasos necesarios para establecer relaciones en OpenOffice Base. Más concretamente, crearemos la primera relación entre las tablas

Alumnos

y

Cursos

:

Desde la ventana principal de OpenOffice Base, ejecuta el comando

Herramientas

>

Relaciones

para mostrar la ventana

Diseño de relación

.

Si no hemos definido aún ninguna relación, Base mostrará por defecto el cuadro de diálogo Agregar tablas. Si por algún motivo no aparece este cuadro de diálogo, utiliza el botón que hemos resaltado en la misma figura. Para empezar, haz doble clic sobre la tabla Alumnos y sobre la tabla Cursos.

En la ventana

Diseño de relación

aparecerán las dos tablas junto con todos sus campos. Haz clic en el botón

Cerrar

del cuadro de diálogo

Agregar tablas

.

A continuación vamos a establecer la relación entre el campo Grupo de la tabla Alumnos y el campo IdCurso de la tabla Cursos. Para ello, haz clic en el campo IdCurso de la tabla Cursos y sin soltar, arrastra hasta caer sobre el campo Grupo de la tabla Alumnos. Aparecerá una línea que unirá ambos campos, indicando que se ha establecido la relación.

En el siguiente vídeo puedes comprobar de forma visual toda la secuencia de pasos necesaria para establecer la relación entre dos tablas.

Nota

Junto a

IdCurso

aparece un

1

y una pequeña

n

junto al campo

Grupo

indicando que se trata de una relación

UNO A MUCHOS

en la que cada alumno pertenece a un grupo y cada grupo puede tener asociado varios alumnos.

Actividad 10

A continuación debemos establecer el resto de relaciones de nuestra base de datos. Si no te encuentras en la ventana de relaciones, elige el menú

Herramientas

y selecciona el comando

Relaciones

. A continuación, haz clic en el icono Agregar tablas Botón agregar tablas.

Añade todas las tablas disponibles y cuando termines, haz clic en el botón

Cerrar

del cuadro de diálogo

Agregar tablas

.

Establece las relaciones según el resultado que puedes comprobar en la figura 2.36. Por ejemplo, haz clic en el campo

Departamento

de la tabla

Profesores

y arrastra hasta el campo

IdDepartamento

de la tabla

Departamentos

. Con esto ya tendrás definida una nueva la relación entre estas dos tablas.

Recuerda que puedes hacer clic sobre el título de cualquiera de las tablas y moverla hasta la posición que desees dentro de la ventana de relaciones. Este aspecto es sobre todo por comodidad y por mejorar visualmente la comprensión del esquema de relaciones.

Figura 2.36

Truco

Otra forma de establecer una relación entre dos tablas es utilizar el botón Botón relación entre tablassituado en la barra de herramientas. En este caso, OpenOffice Base muestra el cuadro de diálogo que puedes ver en la figura 2.37. En él, debemos seleccionar en las listas desplegables situadas en la parte superior, las dos tablas implicadas en la relación para después seleccionar los campos que se vincularán.

Figura 2.37

« Anterior | Siguiente »

Configurar relaciones

Una vez establecida la relación podemos modificar sus características. Para ello, será suficiente con hacer doble clic sobre la línea que representa la relación o bien hacer clic con el botón derecho sobre la misma y elegir el comando

Editar

. En ambos casos, OpenOffice Base muestra el cuadro de diálogo que aparece en la figura 2.38 con la configuración por defecto de la relación.

Figura 2.38

Importante

La relación establecida entre las dos tablas implica que cualquier modificación realizada sobre la información que contiene la tabla primaria afectará a los datos de la tabla secundaria. Si, por ejemplo, eliminamos el grupo 1 de la tabla Cursos esto afectará a todos los registros de la tabla Alumnos pertenecientes a ese grupo. Determinar cómo reaccionará la base de datos ante estas modificaciones y otras similares es lo que permite configurar el cuadro de diálogo

Relaciones

.

La parte inferior del cuadro de diálogo

Relaciones

está dividido en dos partes correspondientes a la acción que llevará a cabo la base de datos cuando actualicemos y cuando eliminemos un registro de la tabla primaria respectivamente, como puedes ver en la figura 2.39. Si seleccionamos la opción

Ninguna acción

los cambios en la tabla primaria no afectarán a la tabla secundaria. Esta decisión no es la más adecuada, ya que es muy probable que nos conduzca a inconsistencias en la base de datos.

Figura 2.39

En cambio, si elegimos

Actualizar y Eliminar cascada

la tabla secundaria verá sus registros eliminados o actualizados en función de la acción que se lleve a cabo en la tabla primaria. Seguramente ésta sea la elección más segura y conservadora de las posibles y es la que debemos utilizar en la mayoría de los casos.

La posibilidad de

Poner null

provocará que, automáticamente, el campo relacionado en la tabla secundaria pase a null (vacío) cuando se modifique la tabla primaria.

Por último, la opción

Predeterminar

hace que el campo relacionado de la tabla secundaria sea sustituido por el valor predeterminado definido en la creación de la tabla.

Nota

Es posible que el concepto de INTEGRIDAD REFERENCIAL te suene a chino. Pues bien, debes saber que las opciones de actualización y eliminación que acabamos de ver en realidad son reglas de integridad. Estas reglas evitan que puedan quedar registros sin relacionar al eliminar o actualizar. Imagina que borras un departamento, ¿qué ocurre con los profesores asociados a él? ¿qué aparecería en su campo relacionado correspondiente? Pues bien, con estas reglas podemos controlar y configurar el comportamiento de la base de datos en este tipo de situaciones.

« Anterior

Asistente para crear formularios

Una de las principales funciones que deben cumplir los formularios es la de facilitarnos la introducción de los datos en las tablas de la base de datos. Pero aquí no terminan sus posibilidades, además permiten visualizar los datos que ya tenemos introducidos, realizar búsquedas o incluso modificarlos.

Una utilización más avanzada de los formularios nos permitirá introducir o modificar datos de varias tablas a la vez, aprovechando las propiedades que aportan las relaciones entre tablas.

Objetivos

En la mayoría de los casos, el método más conveniente para crear un nuevo formulario es utilizar el asistente. Conocer y aprovechar todas las posibilidades de esta herramienta será nuestro objetivo en este módulo.

Siguiente »

Iniciar el Asistente

El Asistente para crear formularios es la herramienta disponible en OpenOffice Base para facilitarnos la creación de todo tipo de formularios de la manera más sencilla posible. Esto no significa que el Asistente para formularios sea la única forma que podemos utilizar para crear los formularios, pero sí la más cómoda y la que recomendamos.

Nota

Como hemos comentado, utilizaremos los formularios para introducir datos en tablas. Por lo tanto y aunque parezca obvio, comprueba que la base de datos que vas a utilizar para completar los ejemplos de este módulo dispone de las tablas necesarias.

Lo primero que debemos hacer es colocarnos en la ventana principal de OpenOffice Base. A continuación, hacemos clic sobre el objeto

Formularios

que aparece en el panel de la izquierda como muestra la figura 3.1.

Figura 3.1

Veremos que OpenOffice Base muestra dos nuevas opciones en la ventana de tareas. En este caso debemos hacer clic sobre

Usar el asistente para crear formulario

como se indica en la figura 3.2.

Figura 3.2

De inmediato, como podemos ver en la figura 3.3, aparece una ventana de OpenOffice Writer junto con el Asistente para formularios.

Figura 3.3

« Anterior | Siguiente »

Paso 1

En este primer paso del Asistente podemos ver que, en el panel

Pasos

aparece seleccionada la opción

1. Selección de campo

y en la parte derecha de la ventana del Asistente aparecen las opciones con las que podemos trabajar.

Lo primero que debemos hacer es desplegar el cuadro de lista

Tabla o consulta

para seleccionar la tabla o consulta que contiene los campos que deseamos utilizar en el formulario.

Importante

No olvides que los formularios pueden trabajar tanto con las tablas como con cualquiera de las consultas que tengamos creadas en nuestra base de datos. Todas ellas aparecerán en la lista desplegable que puedes ver en la figura 3.4.

Figura 3.4

Tras desplegar el cuadro de lista

Tabla o consulta

selecciona la tabla

Alumnos

para utilizar sus campos en el formulario que vamos a crear. Automáticamente veremos que el cuadro de lista

Campos disponibles

nos muestra todos los campos que contiene la tabla que hemos seleccionado.

Ahora debemos indicar cuáles de estos campos aparecerán en el formulario. Para ello, seleccionamos el campo que nos interese y hacemos clic sobre el botón

Transferir campo hacia la derecha

. De este modo el campo seleccionado aparecerá en el cuadro de lista

Campos del formulario

. Haremos lo mismo con los demás campos que deseemos mostrar en el formulario.

En la figura 3.5 puedes ver una descripción del significado de cada uno de los botones que puedes encontrar en el primer paso del asistente.

Figura 3.5

Si queremos utilizar todos los campos no es necesario que vayamos pasando uno a uno, bastará con que hagamos clic sobre el botón

Transferir todos los campos hacia la derecha

.

Del mismo modo podemos transferir campos uno a uno o todos a la vez desde el cuadro de lista de la derecha al de la izquierda con los botones correspondientes.

Una vez transferidos todos los campos que vamos a utilizar en el formulario, dentro del cuadro de lista

Campos del formulario

, puede que aparezcan en el orden que deseamos o que alguno o algunos campos no estén en la posición deseada. Si queremos cambiar la posición de uno de estos campos sólo tenemos que seleccionarlo y utilizar los botones

Subir un lugar

o

Bajar un lugar

para colocarlo en la posición adecuada.

Cuando todo esté como deseamos, hacemos clic en el botón

Siguiente

para continuar con el siguiente paso del Asistente para formularios.

« Anterior | Siguiente »

Paso 2

Inicialmente no vamos a utilizar ningún subformulario, nuestro propósito en este primer contacto con el asistente es crear un formulario simple. Más adelante veremos cómo crear este tipo de formularios con subformularios incrustados. Al dejar desactivada la opción

Agregar subformulario

comprobamos como los pasos 3 y 4 aparecen atenuados, indicando que dichos pasos se obviaran si creamos un formulario sin subformulario.

En la figura 3.6 podemos ver las opciones que muestra este segundo paso del Asistente.

Figura 3.6

« Anterior | Siguiente »

Paso 5

En este nuevo paso del Asistente debemos elegir la mejor disposición de los campos dentro del formulario. Como vemos en la figura 3.7, OpenOffice Base nos muestra, en la sección

Disposición del formulario principal

, varios modelos predeterminados para que seleccionemos el que más nos interese para nuestro formulario. Observaremos que tras seleccionar cualquiera de ellos cambia el fondo del formulario mostrándonos la disposición elegida.

Figura 3.7

Nota

Si eliges la disposición

En columnas

también podrás colocar los nombres de los campos alineados a la izquierda o a la derecha.

« Anterior | Siguiente »

Paso 6

Este nuevo paso nos permitirá elegir la finalidad para la que se va a utilizar el formulario que estamos creando como se muestra en la figura 3.8.

Figura 3.8

Si deseamos utilizar el formulario únicamente para rellenar los datos de una o más tablas marcaremos la primera opción:

El formulario se va a utilizar para introducir únicamente datos nuevos. No se mostrarán los datos existentes

. De este modo, el formulario mostrará los campos vacíos y en ellos sólo podremos introducir nuevos datos. No podremos ni editar, ni modificar, ni siquiera ver los datos que ya están dentro de la tabla o tablas.

Si deseamos que el formulario nos permita también ver los datos de la tabla o tablas con las que trabaja debemos marcar la segunda opción:

El formulario mostrará todos los datos

. Al seleccionar esta opción también podemos indicar todo lo que se podrá hacer con los datos que se muestran:

No permitir la modificación de los datos existentes

: Los datos se muestran en el formulario, pero no podemos modificar el contenido de ninguno de sus campos.

No permitir el borrado de los datos existentes

: No permite que borremos ninguno de los campos.

No permitir la adición de datos nuevos

: Si seleccionamos esta casilla no podremos introducir nuevos datos en la tabla o tablas a través del formulario.

Nota

De las tres casillas disponibles podemos seleccionar una o varias sumando con ello las acciones que cada una indica.

Continúa con la creación del formulario haciendo clic en el botón

Siguiente

para configurar el siguiente paso.

« Anterior | Siguiente »

Paso 7

Este nuevo paso está destinado a configurar el aspecto formal del formulario, permitiéndonos, como vemos en la figura 3.9, configurar el color del fondo y la forma de mostrar el recuadro que contiene los datos de los campos.

Figura 3.9

El cuadro de lista Aplicar estilos muestra los diferentes colores que podemos utilizar en el fondo del formulario.

La sección Bordes de campo nos ofrece las tres formas de mostrarse el recuadro de los datos de los campos:

Sin bordes

: Muestra simplemente el recuadro de otro color.

3D

: Muestra el recuadro con efecto tridimensional.

Planos

: Muestra el recuadro con una línea en el contorno.

Una vez seleccionado el color del fondo y el estilo de los bordes hacemos clic en el botón

Siguiente

para continuar con el último paso del Asistente.

« Anterior | Siguiente »

Paso 8

En este último paso, como vemos en la figura 3.10 sólo tenemos que poner el nombre que vamos a darle al formulario e indicar si a continuación vamos a trabajar con el formulario o si vamos a modificarlo.

Figura 3.10

Después de ponerle nombre, hacemos clic sobre el botón

Finalizar

y según hayamos marcado

Trabajar con el formulario

o

Modificar el formulario

pasaremos a la introducción de datos en el formulario o a la edición del mismo.

Si hemos decidido trabajar con el formulario veremos que el nuevo formulario creado, tal como muestra la figura 3.11, aparece delante del entorno de nuestra base de datos listo para que comencemos a introducir datos o para que naveguemos por los datos que ya tenemos en nuestras tablas.

Figura 3.11

« Anterior

Elementos esenciales de un formulario

Tras crear un formulario y abrirlo en pantalla ya intuimos lo fácil que resulta trabajar con él. Pues bien, esta sencillez es una de sus principales características.

Para utilizar un formulario basta con usar los distintos campos que lo componen para añadir, modificar o visualizar los datos de nuestras tablas.

Objetivos

Reconocer los distintos elementos que componen la ventana de formulario.

Aprender a añadir información a nuestras tablas mediante formularios.

Buscar y ordenar datos desde el propio formulario.

Añadir nuevos campos al formulario.

Siguiente »

Ventana del formulario

Además de los campos que muestra el cuerpo principal del formulario es importante que nos fijemos en los distintos elementos que componen la ventana de cualquier formulario pero, principalmente la barra de herramientas con cuyos botones podremos realizar todo tipo de tareas dentro de un formulario. En la figura 3.12 podemos ver una ventana de un formulario con indicación de los diferentes elementos que lo integran.

Figura 3.12

Dentro del formulario vemos una barra de Menús con los mismos menús que muestra el procesador de textos Writer, si bien es cierto que dentro de ellos aparecen algunas opciones específicas de los formularios.

La barra de herramientas Estándar, al igual que los menús, contiene los mismos botones que observamos cuando estamos escribiendo cualquier documento en Writer.

La barra de herramientas

Diseños de formularios

sólo se encuentra activa cuando editamos un formulario o cuando lo creamos en modo diseño. Sus diferentes botones los veremos más adelante.

La barra de herramientas

Navegación de formularios

es la barra que tenemos activa cuando trabajamos con los datos en un formulario cualquiera y en ella encontramos botones para movernos por los diferentes registros, botones para filtrar los datos del formulario, botones para ordenar los registros por diferentes campos, etc.

Por último, la barra de

Estado

nos ofrece determinado tipo de información a la vez que nos permite modificar determinados parámetros.

Truco

Si quieres cambiar el color de fondo del formulario o incluso sustituirlo por una imagen, haz clic con el botón derecho sobre cualquier espacio vacío y selecciona el comando

Página

. Selecciona la pestaña

Fondo

y en la lista desplegable

Como

elige si quieres utilizar un color o un gráfico de fondo.

« Anterior | Siguiente »

Añadir información a las tablas

Una vez abierto el formulario, haz clic en el botón

Registro nuevo

en la barra de herramientas Navegación de formularios como puedes ver en la siguiente figura 3.13. A continuación, haz clic dentro del campo en el que queremos introducir los datos.

Figura 3.13

Para introducir datos en otro campo podemos volver a hacer clic con el ratón sobre otro campo o pulsar la tecla

Tabulador

. Este último método sin lugar a dudas es mucho más cómodo.

Además de la tecla

Tabulador

existen otros atajos de teclado que te pueden resultar útiles, observa la siguiente tabla:

Tecla | Acción
Flecha arriba | Si el cursor se encuentra en un campo numérico aumenta en uno la cantidad que el campo contenga. Si el cursor se encuentra en un campo de texto no hace nada.
Flecha abajo | Si el cursor se encuentra en un campo numérico disminuye en uno la cantidad que el campo contenga. Si el cursor se encuentra en un campo de texto no hace nada.
Inicio | Coloca el cursor al principio del campo en el que se encuentra.
Fin | Coloca el cursor al final del campo en el que se encuentra.
Tabulación o Intro | Al pulsar esta tecla el cursor se coloca en el campo siguiente del formulario. Si el cursor se encuentra en el último campo del formulario pasa al registro siguiente.
Mayús +Tabulación | Al pulsar esta combinación de teclas el cursor se coloca en el campo anterior del formulario. Si el cursor se encuentra en el primer campo del formulario pasa al registro anterior.

Actividad 1

Vamos a crear un sencillo formulario que utilizaremos para comprobar los profesores que tenemos en nuestra base de datos y añadir nuevos registros si fuera necesario. Si quieres, puedes hacer clic aquí para descargar una base de datos con todo lo necesario para completar la actividad

Abre la base de datos y eEjecuta el

Asistente para formularios

. En el Paso 1 selecciona la tabla

Profesores

.

Añade todos los campos al formulario menos

IDProfesor

y haz clic en el botón

Siguiente

.

En el Paso 2 del Asistente dejamos desactivada la casilla Agregar subformulario. Haz clic en el botón

Siguiente

.

Elige una opción entre alguna de las disposiciones disponibles para el formulario principal. Si decides utilizar la primera de ellas, también podrás elegir en la parte superior la orientación de los campos:

Izquierda

o

Derecha

.

Haz clic en el botón

Siguiente

.

En el Paso 6 deja todo tal como aparece por defecto y pulsa el botón

Siguiente

.

En este Paso 7 selecciona el estilo de fondo y el tipo de borde que más te guste para los campos del formulario. Puedes comprobar su aspecto de inmediato, OpenOffice Base aplica el estilo seleccionado sobre el formulario después de hacer clic sobre alguna de las opciones disponibles.

Haz clic en el botón

Siguiente

.

En el último paso, si es que no aparece ya por defecto, asigna al nuevo formulario el nombre de

Profesores

.

Selecciona

Trabajar con el formulario

y haz clic en

Finalizar

.

Con el formulario Profesores abierto, añade algún nuevo registro para practicar con él.

Recuerda que para añadir un registro nuevo debes hacer clic sobre el botón

Registro nuevo

Botón registro nuevo situado en la barra de herramientas Navegación de formularios.

« Anterior | Siguiente »

La barra de herramientas Navegación de formularios

Otra forma de navegar en un formulario es, como ya hemos dicho utilizando la barra de herramientas Navegación de formularios que podemos ver con detalle en la figura 3.14.

Figura 3.14

Los diferentes botones de esta barra no nos sirven para navegar por los campos que integran un formulario, sino para navegar por los diferentes registros que utiliza dicho formulario. A continuación se especifica qué acciones realizan algunos de estos botones:

Registro nuevo

: Si hacemos clic sobre este botón mostrará el formulario con todos los campos vacíos y el cursor intermitente en el primero de ellos para que comencemos a introducir los datos de un nuevo registro.

Guardar registro

: Este botón podemos usarlo para guardar los datos que hayamos introducido en un registro nuevo o en uno que estemos modificando. Los registros también se guardan automáticamente cuando pulsamos Entrar (Intro) estando en el último campo del formulario. Debemos tener en cuenta que para guardar un registro no es necesario rellenar todos los campos del formulario, bastará con que rellenemos aquellos que sean obligatorios.

Deshacer

: Este botón, al igual que en cualquier otra aplicación, elimina los cambios que hayamos realizado, bien sea modificando datos o introduciendo datos nuevos en el registro actual. Esta opción es válida en la edición de datos.

Eliminar registro

: Permite eliminar el contenido del registro que nos muestra el formulario. Esta acción elimina los datos de la tabla que los contiene y ya no podremos recuperarlos, por lo que conviene tener muy claro que queremos borrar los datos.

Actualizar

: Se trata de un botón que contiene en su interior dos acciones diferentes:

Actualizar

que muestra el contenido actualizado de la tabla de la base de datos de la que toma los datos el formulario y muestra el primer registro de dicha tabla, y

Reconstruir

que simplemente recompone la vista de la tabla de la base de datos. Debes utilizar esta última acción siempre que modifiques la estructura de la tabla.

Fuente de datos como tabla

: Este comando permite cambiar la forma en que se muestra el formulario en pantalla. Si hacemos clic sobre él cambiará el formulario mostrando los datos en forma de tabla (como podemos ver en la figura 3.15 y si volvemos a hacer clic, volverá a mostrarlos como formulario). Esta forma de visualización de los formularios también podemos utilizarla para navegar por los registros, para modificar datos de los registros y para añadir nuevos registros.

Figura 3.15

« Anterior | Siguiente »

Localizar datos desde el formulario

Además de las tareas de introducción y modificación de datos, el formulario también podemos utilizarlo para buscar datos en las tablas o consultas y mostrarlos con la estructura del formulario y para ello debemos saber cómo llegar hasta el registro concreto que queremos mostrar:

Navegando por los registros

Una forma sencilla de localizar esos datos que buscamos es utilizar los botones de navegación que nos ofrece la barra de herramientas Navegación de formularios:

Registro siguiente

o

Registro anterior

para ir avanzando o retrocediendo, uno a uno, por los registros que muestra el formulario y

Primer registro

o

Último registro

para ir directamente al principio o final de la tabla de datos o consulta. En la figura 3.16 podemos ver los botones que nos permiten este tipo de navegación.

Figura 3.16

Buscar datos en los campos

Otra forma de localizar datos a través de un formulario es utilizar el botón

Buscar

, que es el primero de la barra de herramientas Navegación de formularios. Cuando hacemos clic sobre él, aparece el cuadro de diálogo

Búsqueda de registro de datos

que nos muestra la figura 3.17. Escribe en el cuadro

Texto

la palabra o palabras relacionadas con el registro que necesitas localizar y haz clic en el botón

Buscar

.

Figura 3.17

Nota

El cuadro de diálogo

Búsqueda de registro de datos

se encuentra disponible tanto para formularios, como tablas o informes y sus funcionalidades son prácticamente las mismas.

Buscar por el número de registro

En la casilla

Número de registro

que muestra la figura 3.18, puedes escribir el número de registro al que quieres desplazarte y pulsa la tecla Intro. Al instante Base nos mostrará el contenido de ese registro en el formulario.

Figura 3.18

« Anterior | Siguiente »

Ordenar los datos en el formulario

Para mostrar ordenados los datos que aparecen en nuestro formulario lo más sencillo es utilizar los botones de la figura 3.19. El primero muestra el cuadro de diálogo

Orden

, pero los que necesitamos conocer en estos momentos son los dos siguientes:

Orden ascendente

y

Orden descendente

. Podemos deducir fácilmente el sentido de estos comandos por su propio nombre, así que para usarlos haz lo siguiente:

Sitúa el cursor sobre el campo que deseas utilizar como criterio de ordenación. Por ejemplo, si quieres ordenar por apellidos coloca el cursor en este campo, o si prefieres hacerlo por fecha coloca el cursor sobre el campo FechaNacimiento.

Una vez completado el paso anterior, haz clic en los botones

Orden ascendente

y

Orden descendente

según necesites en cada caso.

Figura 3.19

« Anterior | Siguiente »

Filtrar datos en el formulario

Los Autofiltros son un método muy sencillo para conseguir que nuestro formulario muestre únicamente aquellos registros que necesitemos en cada caso. Un ejemplo, imagina que estás trabajando con el formulario de Profesores y sólo quieres que muestre aquellos que viven en Madrid. En este caso, haz clic dentro del campo cuyo contenido queremos utilizar como criterio para filtrar los registros y después utiliza el icono Autofiltro localizado en el lugar que indica la figura 3.20. Observa como la barra de herramientas Navegación de formularios nos indica el número de registros que coinciden con el criterio de filtrado.

Figura 3.20

Importante

Después de utilizar el comando autofiltro observa cómo se activa el botón

Usar filtro

, esta es la forma que tiene OpenOffice base de indicarnos que el formulario muestra el resultado de aplicar un filtro determinado y no todos los registros de la tabla. Este botón permite activar o desactivar el último filtro creado, pero si lo que deseas es eliminarlo definitivamente debes hacer clic sobre el botón

Eliminar filtro/orden

.

« Anterior | Siguiente »

Añadir nuevos campos al formulario

En muchas ocasiones, pensaremos que es suficiente con una serie de campos y cuando comenzamos a utilizar el formulario comprobamos que es necesario contar con algunos más.

También puede ocurrir que inicialmente la tabla no cuente con algún campo que hemos añadido posteriormente y necesitamos que ese nuevo campo también aparezca en el formulario. En cualquiera de los casos, para añadir un nuevo campo debemos actuar de la siguiente forma:

Abrimos el formulario en modo diseño.

Abrimos la barra de herramientas

Diseño de formularios

, si no está presente. Para ello abrimos el menú

Ver

, seleccionamos la opción

Barras de herramientas

y en la lista que aparece, hacemos clic sobre

Diseño de formularios

.

Dentro de la barra de herramientas

Diseño de formularios

hacemos clic sobre el botón

Añadir campo

y aparecerá el cuadro de diálogo

Agregar campo

como puedes ver en la figura 3.21. En este cuadro de diálogo se muestran todos los campos disponibles en la tabla.

Para añadir cualquier campo al formulario, haz clic sobre él y sitúalo dentro del formulario. Posteriormente podemos cambiar su posición con tan sólo hacer clic y arrastrar.

Figura 3.21

Truco

También puedes añadir campos al formulario simplemente haciendo doble clic sobre el campo que desees.

« Anterior | Siguiente »

Propiedades más importantes del formulario

Es interesante conocer las propiedades del formulario ya que nos permiten configurar aspectos del mismo que no es posible hacer de ningún otro modo. Para acceder a ellas, haz clic con el botón derecho sobre cualquier campo y selecciona

Formulario

. Observaremos que aparece el cuadro de diálogo

Propiedades

, que vemos en la figura 3.22, y que en su primera pestaña,

General

, dentro del campo

Nombre

aparece “MainForm”. Esta es la forma que tiene Base de indicarnos que está seleccionado el formulario principal.

Figura 3.22

Nota

Mediante las opciones de configuración del cuadro de diálogo Propiedades del formulario podremos modificar algunas de las decisiones tomadas en los pasos del Asistente cuando creamos el formulario.

De las tres pestañas disponibles en el cuadro de diálogo

Propiedades del formulario

prestaremos especial atención a la pestaña

Datos

que puedes ver en la figura 3.23. En ella encontrarás las acciones que nos permitirán configurar el comportamiento de nuestro formulario. Veamos el significado de las más importantes:

Tipo de contenido

: Permite seleccionar el origen de los datos que muestra nuestro formulario pudiendo elegir entre: tabla, consulta o expresión SQL. Imagina que tienes un formulario que utiliza la tabla Alumnos pero necesitas algún dato más y creas una consulta. Pues bien, desde aquí puedes modificar el origen de datos del formulario que utilice tu nueva consulta.

Contenido

: Dependiendo de lo que hayamos seleccionado en la opción anterior, aquí tendremos que seleccionar la tabla, la consulta o escribir una sentencia SQL. Es decir, si decidimos utilizar una tabla, aquí deberás elegir el nombre de la tabla en cuestión que deseas usar.

Filtrar

: Permite establecer un filtro asociado a los datos que se muestran en el formulario. El filtro que establezcamos se aplicará siempre que abramos el formulario.

Ordenar

: Esta propiedad permite aplicar un orden a los registros que muestra el formulario. También hemos visto ya cómo ordenar datos.

Añadir datos

: Aquí debes decidir si utilizarás el formulario para añadir datos o sólo para ver los registros.

Modificar datos

: Igual que la opción anterior, pero en este caso hace referencia a la posibilidad de modificar los datos que se muestran en el formulario.

Permitir borrar

: Permite controlar desde el formulario la eliminación o no de los registros que se muestran.

Añadir sólo datos

: Si colocamos esta propiedad en

Sí

no podremos visualizar la información existente en el formulario y sólo podremos incluir nuevos registros.

Figura 3.23

« Anterior

Edición de formularios

Una vez creado el formulario nos pueden surgir multitud de ideas para mejorarlo; podemos añadir más campos, cambiar el fondo, el tamaño y la posición de los campos, el estilo de los caracteres que se muestran y un sinfín de características más.

Para editar cualquier formulario que tengamos ya creado:

Lo primero que debes hacer es abrir dicho formulario en modo diseño y para ello ve hasta la ventana de la base de datos y comprueba que en el panel izquierdo se encuentra seleccionada la opción

Formularios

.

A continuación haz clic sobre el nombre del formulario que deseas editar.

Finalmente haz clic sobre el botón

Editar

de la barra de herramientas como muestra la figura 3.24.

Figura 3.24

Otra forma de editar un formulario es seleccionar su nombre en la lista de formularios y hacer clic sobre él con el botón derecho. Con ello aparecerá un menú contextual en el que deberemos elegir la opción

Editar

.

Nota

Como puedes comprobar fácilmente, dentro del entorno de gestión de OpenOffice Base, las barras de herramientas varían dependiendo del objeto que esté seleccionado en el panel izquierdo. Más concretamente, cuando seleccionamos un formulario o cualquier otro objeto de la base de datos se activa la barra de herramientas que muestra la figura 3.25.

Figura 3.25

Objetivos

En la mayoría de los casos, el método más conveniente para crear un nuevo formulario es utilizar el asistente. Conocer y aprovechar todas las posibilidades de esta herramienta será nuestro objetivo en este módulo.

Siguiente »

Reglas y cuadrícula

Después de abrir un formulario en el modo edición debemos prestar atención a dos elementos que nos pueden ayudar a situar cualquier objeto de forma precisa, se trata de las reglas y la cuadrícula. Observa la figura 3.26 para que veas a que nos referimos.

Figura 3.26

Con respecto a las reglas, lo primero que debemos saber es que existe una vertical y otra horizontal, ambas muestran intervalos que corresponden con la unidad de medida establecida. Para modificar este parámetro puedes hacer clic en la esquina superior izquierda como hemos resaltado en la figura 3.27 y elegir la unidad que necesitemos usar en cada caso.

Figura 3.27.

Para mover cualquier objeto del formulario será suficiente con hacer clic sobre él y arrastrar. En ese momento, observa la regla y comprobarás que aparece en tono más claro el espacio correspondiente al ancho y al alto del objeto seleccionado como puedes ver en la figura 3.28.

Figura 3.28.

El propósito de la cuadrícula es servirnos como referencia para colocar cualquier elemento del formulario. Las divisiones simétricas nos ayudarán a mejorar la distribución de los diferentes objetos y conseguir un aspecto agradable.

Truco

Como ya sabes, la ventana de edición de formulario es en realidad una ventana de OpenOffice Writer. Esto supone una gran ventaja desde el punto de vista del diseño al contar con toda la potencia de sus herramientas y sus menús para mejorar el aspecto del formulario. Podemos cambiar los tipos de letras, los tamaños, añadir objetos desde la barra de herramientas Dibujo o Fontwork, etcétera.

« Anterior | Siguiente »

Barra de herramientas Diseño de formularios

Para la mayoría de las tareas relacionadas con la edición de nuestro formulario será necesario recurrir a la barra de herramientas Diseño de formularios que vemos con sus correspondientes indicaciones en la figura 3.29.

Figura 3.29

Teniendo en cuenta la importancia de esta barra de herramientas a continuación detallamos, de izquierda a derecha, el significado de cada uno de los elementos que la forman:

Selección

: Sería la opción por defecto y es imprescindible para activar el modo selección y hacer clic sobre cualquier objeto del formulario.

Modo diseño

: Con este botón podemos alternar fácilmente entre la vista de datos para comprobar el funcionamiento del formulario o la vista diseño para realizar cualquier cambio sobre él.

Control

: Selecciona cualquier objeto del formulario y haz clic sobre este icono para acceder a sus propiedades.

Formulario

: Abre la ventana de propiedades del formulario.

Navegador de formulario

: Muestra la pequeña ventana de navegación donde aparecerán todos los elementos que forman el formulario.

Añadir campo

: Después de hacer clic sobre este botón OpenOffice mostrará todos los campos de la tabla o consulta asociada al formulario.

Secuencia de activación

: Como sabes, la tecla tabulador es el método más sencillo para movernos entre los campos del formulario. Haz clic sobre este icono para mostrar el cuadro que puedes ver en la figura 3.30. En él podrás definir tú mismo el orden a seguir.

Abrir en modo diseño

: Activar esta opción significa que éste será el modo en que se abrirá el formulario la próxima vez que hagas doble clic sobre su nombre. Esta es la teoría, pero nosotros no hemos logrado hacer funcionar esta opción. Es cierto que tampoco es demasiado importante.

Activación de controles automática

: Si activamos esta opción el cursor siempre aparecerá en el primer campo del formulario. Recuerda que para definir el orden de tabulación debes utilizar el icono Secuencia de activación de esta misma barra de herramientas.

Posición y tamaño

: Abre el cuadro de diálogo del mismo nombre, y que trataremos en uno de los siguientes apartados.

Cambiar ancla

: Las posibilidades de anclaje en realidad son heredadas de OpenOffice Write y permiten asociar un campo a un determinado párrafo, texto o página. Su funcionalidad dentro de los formularios de Base no está tan clara.

Mostrar cuadrícula

: Hace visible o invisible la cuadrícula.

Usar cuadrícula

: Activa la propiedad "magnética" de la cuadrícula con la que sólo es necesario acercar cualquier objeto a cualquiera de sus líneas de división para fijar su posición.

Guías al desplazar

: El propósito de esta opción es muy interesante y de gran ayuda cuando se trata de colocar de forma precisa cualquier elemento del formulario. Actívala y mueve cualquier campo, y comprobarás como aparecen guías tanto verticales como horizontales que marcan en la regla la posición exacta en cada momento.

Figura 3.30.

Nota

En algunos casos es posible que la barra de herramientas Diseño de formularios no se encuentre visible. Si es así, haz clic en el menú

Ver

asociado a la ventana de diseño de formulario y selecciónala entre las opciones disponibles del comando

Barras de herramientas

.

« Anterior | Siguiente »

Etiquetas

Las etiquetas podrían parecer un elemento poco relevante pero no es así. Permiten colocar títulos, subtítulos, nombres de campos, nombres de secciones o incluso texto explicativo para realizar todas las aclaraciones que sean necesarias en tus formularios.

Para crear una etiqueta debes hacer lo siguiente:

Abre el formulario en la vista diseño y comprueba que la barra de herramientas

Controles del formulario

se encuentra visible. Si no es así, selecciona el comando del mismo nombre en el menú

Ver

>

Barras de herramientas

.

Haz clic sobre el botón

Campo de etiqueta

como puedes ver en la figura 3.31 y comprueba como el cursor cambia de aspecto.

Lleva el cursor al formulario, justo al lugar donde quieres colocar la etiqueta.

Haz clic y sin soltar el botón del ratón describe un rectángulo del tamaño que quieres que tenga la etiqueta. Al soltar el botón del ratón aparecerá un recuadro de texto y dentro de él encontraremos el texto indicativo “Campo de etiqueta" que después podrás cambiar por otro.

Con estos sencillos pasos, ya tendríamos insertada una nueva etiqueta.

Figura 3.31.

Una vez insertada la etiqueta en el formulario debemos elegir aquellos atributos que más nos interesen. Para ello, haz doble clic sobre el campo de etiqueta y comprueba como aparece el cuadro de diálogo

Propiedades

, que muestra la figura 3.32.

Figura 3.32

Dentro de este cuadro de diálogo, en la primera pestaña denominada

General

, encontrarás una serie de parámetros que te permitirán modificar la etiqueta y adaptarla a tus necesidades:

Nombre

: Es el nombre con el que se identifica el campo dentro del formulario, no confundirlo con el texto que muestra la etiqueta que debemos introducir en el siguiente parámetro.

Título

: Este es el texto visible que mostrará la etiqueta en el formulario.

Activado

: Por omisión aparece seleccionado como

Sí

indicando que se mostrará con el mismo aspecto que el resto de campos. Si elegimos

No

aparecerá la etiqueta atenuada.

Imprimir

: Esta opción inicialmente aparece activada para que se muestre la etiqueta si imprimimos el formulario. Si creamos etiquetas sólo para ser visualizadas debemos colocar esta propiedad en

No

.

Fuente

: Esta propiedad permite seleccionar el formato, así podremos elegir el tipo de fuente, el tamaño, el color, etc. Para cambiar estos atributos debemos hacer clic en el botón con puntos suspensivos que aparece a la derecha y se abrirá el cuadro de diálogo

Caracteres

.

Alineación y Alineación vert

: Permite establecer la alineación del texto de la etiqueta con respecto al cuadro de texto dentro del que se encuentra.

Color de fondo

: Inicialmente aparece seleccionado como predeterminado indicando que no tiene color de fondo pero basta con desplegar esta lista o hacer clic sobre el botón con puntos suspensivos situado a la derecha para mostrar el cuadro de diálogo

Color

que puedes ver en la figura 3.33 y desde el que puedes elegir el tono que más te guste.

Marco

: Aquí podrás seleccionar el formato del borde del marco de texto en el que se encuentra la etiqueta. Inicialmente aparece seleccionado como “Sin marco”, pero también podemos utilizar un marco “Plano” (con una línea simple alrededor del marco de texto) o “en 3D” (dando al marco de texto un efecto relieve).

Color de borde

: Esta opción sólo se encuentra activa si seleccionamos un tipo de marco en la opción anterior y nos permite elegir el color de la línea del borde. Si hacemos clic sobre el botón de puntos suspensivos accederemos al cuadro de diálogo

Color

.

División de palabras

: Permite mostrar texto en más de una línea. Si ajustamos esta propiedad en “Sí” podremos escribir el texto y si no cabe en una línea pasará automáticamente a la siguiente. Para introducir manualmente un salto de línea simplemente tenemos que pulsar la tecla Entrar.

Información adicional

: Se trata de un texto descriptivo que sirve para explicar algo sobre la etiqueta o campo sobre el que estamos definiendo las propiedades.

Texto de ayuda

: El texto que introduzcamos en esta propiedad será el que se muestre como ayuda emergente cuando dejemos el puntero del ratón quieto sobre la etiqueta. Esta opción puede parecer poco relevante pero resulta muy útil en formularios complejos.

URL de la ayuda

: En esta propiedad escribiremos la dirección URL que queramos que se muestre como ayuda emergente al colocar el ratón sobre la etiqueta. Esta dirección URL sólo se mostrará si no hemos escrito ningún texto en la propiedad Texto de ayuda.

El cuadro de diálogo

Color

, que vemos en la figura 3.33, nos sirve para editar cualquiera de los colores de la lista ya que en él contamos con un mayor número de opciones.

Figura 3.33

Nota

Muchas de las propiedades descritas en los puntos anteriores son comunes al resto de controles de formularios: Campos de texto, Listado, etcétera. Observa también que a medida que vamos cambiando las propiedades en el cuadro de diálogo

Propiedades

, éstas se van reflejando en la etiqueta que estamos editando.

Truco

Otra forma de añadir títulos o etiquetas al formulario es simplemente escribiendo. El texto aparecerá en la esquina superior derecha del formulario que en este caso será considerado como una hoja del procesador de texto. Esto tiene sus ventajas y sus inconvenientes. Como ventaja cuenta con mayores posibilidades de dar formato al texto y como inconveniente es que resulta más difícil mover este texto ya que no se encuentra dentro de un marco.

Una vez realizados los cambios en nuestra etiqueta podemos cerrar el cuadro de diálogo

Propiedades

haciendo clic sobre el botón

Cerrar

que aparece en la esquina superior derecha del mismo o también podemos seleccionar otro elemento de nuestro formulario y proceder del mismo modo para cambiar sus propiedades.

Actividad 2

Edita el formulario Profesores y añade una etiqueta con el título “PROFESORES”.

Utiliza un tamaño de letra grande y realiza algunos retoques sobre dicha etiqueta para dejar el formulario vistoso.

Entra en las propiedades de la página (Formato>Página) y cambia el tamaño de la misma a A5 horizontal, ya que se trata de un formulario muy pequeño.

« Anterior | Siguiente »

Tamaño y posición

Al seleccionar cualquier objeto, recuerda que debes utilizar la herramienta

Selección

situada en primer lugar dentro de la mayoría de las barras de herramientas del formulario como puedes ver en la figura 3.34. Aparecen a su alrededor ocho puntos de control. Haz clic sobre cualquiera de ellos y arrastra para modificar las proporciones del objeto.

Figura 3.34

Nota

Los puntos de control que aparecen en los vértices permiten cambiar el tamaño en dos dimensiones de manera simultánea, mientras que los puntos de control que aparecen en el centro de los lados sólo cambian el tamaño en una dirección.

Truco

Para modificar la posición de cualquier elemento del formulario con el ratón simplemente debes seleccionarlo en primer lugar, hacer clic sobre él y arrastrar. Una pequeña silueta te indicará su nueva posición.

Establecer el tamaño y la posición con precisión

Además de cambiar el tamaño y la posición de cualquier objeto del formulario utilizando el ratón, también podemos realizar estos cambios con precisión usando para ello las opciones que nos ofrece el cuadro de diálogo

Posición y tamaño

, que vemos en la figura 3.35.

Figura 3.35

Una vez seleccionado el objeto que deseamos editar, para abrir el cuadro de diálogo Posición y tamaño haz clic en el botón del mismo nombre situado en la barra de herramientas

Diseño de formularios

. Una vez abierto, en el cuadro de diálogo seleccionamos la primera pestaña,

Posición y tamaño

.

Dentro de esta primera pestaña vemos cuatro secciones claramente diferenciadas que vamos a detallar a continuación:

Tamaño

: En esta sección encontramos las casillas

Ancho

y

Alto

que permiten establecer numéricamente el tamaño de estas dos dimensiones. Además contamos con la casilla

Mantener proporciones

que al activarla permite que el tamaño se cambie en ambas dimensiones de manera proporcional conservando por ello su aspecto.

Anclar

: Permite especificar la posición del formulario a la que se ajustará el objeto seleccionado. Podemos anclar el objeto seleccionado

A la página

,

Al párrafo

,

Al carácter

o

Como carácter

. En este último caso, la altura de la línea se cambia de tamaño para que coincida con la altura de la selección.

Proteger

: Esta sección permite limitar los cambios tanto de posición como de tamaño del objeto seleccionado. Si marcamos la casilla

Posición

fijaremos su posición actual en el formulario y no podremos moverlo si no desactivamos antes esta casilla. Si marcamos la casilla

Tamaño

fijamos su tamaño y no podremos realizar cambios de tamaño sobre ese objeto.

Posición

: Con las posibilidades que ofrece esta sección podemos establecer la posición del objeto seleccionado dentro del formulario. Veamos cada una de ellas:

Horizontal

: Permite seleccionar la alineación horizontal del objeto respecto al formulario:

Izquierda

,

Derecha

,

Centro

o

Desde la izquierda

. Si eliges la última opción podrás establecer la distancia exacta en el cuadro que aparece a la derecha.

Hasta

: Permite seleccionar el punto de referencia con respecto al cual se realizará dicha alineación horizontal.

Reflejar en páginas pares

: Invierte los valores de alineación horizontal en las páginas pares. Esta opción resulta muy útil cuando se va a imprimir a doble cara para después encuadernar.

Vertical

: Permite seleccionar el tipo de alineación vertical del objeto dentro del formulario:

Superior

,

Inferior

,

Centro

o

Desde arriba

. Si eliges la última opción podrás establecer la distancia exacta en el cuadro que aparece a la derecha.

Seguir distribución del texto

: Mantiene el objeto seleccionado dentro de los límites de diseño del texto al que dicho objeto está anclado. No debemos seleccionar esta opción si queremos colocar el objeto seleccionado en cualquier otra parte del formulario.

« Anterior | Siguiente »

Atributos del texto

Dentro del cuadro de diálogo

Propiedades

de prácticamente todos los controles aparece la propiedad

Fuente

y a su derecha un pequeño botón con puntos suspensivos. Haz clic sobre este botón para mostrar el cuadro de diálogo

Caracteres

que vemos en la figura 3.36.

Figura 3.36

El cuadro de diálogo

Caracteres

contiene dos pestañas:

Fuente

y

Efectos de fuente

. Desde la primera de ellas puedes realizar los siguientes cambios en el texto del objeto seleccionado en el formulario:

Fuente

: Elige aquí cualquiera de los tipos de fuente que tengas instalados en tu ordenador.

Estilo

: Muestra los diferentes estilos disponibles para el tipo de fuente seleccionado en el cuadro anterior. Entre los estilos más comunes encontramos: Normal, Negrita, Cursiva, Negrita cursiva, etc.

Tamaño

: Selecciona aquí el tamaño más adecuado para la fuente elegida. Si en la lista no aparece el tamaño que nos interesa podemos escribir dicho tamaño en el cuadro de texto que aparece por encima de la lista.

Nota

Comprueba como los cambios que realices en el cuadro de diálogo

Caracteres

se muestran al instante en el recuadro de previsualización que aparece en la parte inferior.

En el cuadro de diálogo

Caracteres

encontramos una segunda pestaña denominada

Efectos de fuente

como puedes ver en la figura 3.37. Veamos a continuación la descripción de todas sus posibilidades:

Sobrelineado

: Con esta opción existe la posibilidad de utilizar diferentes tipos de línea justo encima del texto. Además, con la lista desplegable situada a la derecha podrás elegir también el color.

Subrayando

: En este cuadro de lista puedes seleccionar una opción sin subrayado y dieciséis tipos diferentes de subrayados. Con el cuadro de lista situado a la derecha podrás decidir el color que tendrá el subrayado que puede ser diferente del color del texto.

Tachado

: Aquí puedes elegir entre cinco opciones de tachado. Puedes comprobar el resultado de este efecto en la vista previa situada en la parte inferior del cuadro de diálogo.

Por palabras

: Esta casilla afecta tanto al subrayado como al tachado y por tanto sólo estará disponible si hemos seleccionado un tipo de subrayado o un tipo de tachado. Al activarla indicamos que el subrayado o el tachado no sea continuo, sino que sólo se subrayen o tachen las palabras y no los espacios de separación entre palabras.

Color de fuente

: Muestra una lista de colores para que seleccionemos el color que tendrá el texto.

Relieve

: En este cuadro de lista aparecen dos opciones para realzar el texto. Este relieve es diferente al que podemos aplicar al marco de texto desde el cuadro de diálogo Propiedades.

Palabras individuales

: A activar esta casilla, los efectos de tachado, subrayado o sobrelineado no se aplicarán sobre los espacios entre palabras.

Figura 3.37

« Anterior | Siguiente »

Barra de herramientas Dibujo

Ya hemos visto cómo modificar las propiedades de una etiqueta y de cualquier tipo de campos, pero además de estas acciones que dan a nuestro formulario un aspecto más intuitivo y más atractivo, en los formularios también podemos utilizar imágenes, dibujos, textos con formas especiales, tablas, marcos, etc., para lograr realzar aún más su apariencia.

Si abrimos la barra de herramientas Dibujo podremos añadir a nuestro formulario una gran variedad de objetos que podemos diseñar con la gran cantidad de herramientas que nos proporciona esta barra.

También podemos añadir imágenes que ya tenemos almacenadas y usarlas como fondo de nuestro formulario utilizando para ello el botón

A partir de archivo

de la barra de herramientas Dibujo como muestra la figura 3.38.

Figura 3.38.

Incluso podemos añadir textos artísticos utilizando el botón

Galería de Fontwork

de la barra de herramientas

Dibujo

. O aplicar sobre ciertos objetos una extrusión para darle un aspecto tridimensional como muestra la figura 3.39.

Figura 3.39.

A todos los objetos que introduzcamos podremos también realizarles las correspondientes modificaciones para adaptarlos a nuestro gusto, del mismo modo que se hace con OpenOffice Draw u OpenOffice Impress. Si quieres saber más de estos aspectos puedes consultar el curso “Diseño de presentaciones en la enseñanza” o el curso “Diseño gráfico en la enseñanza”, ambos del ITE.

Actividad 3

Practica todo lo aprendido hasta ahora y crea otro formulario.

Introdúcele un título, coloca bien los diferentes campos, mejora el aspecto del formulario, etc.

« Anterior

Controles de formulario

El control más habitual de un formulario es el

Campo de texto

, ya sabes, una etiqueta y un recuadro a la derecha para introducir o editar la información del campo. Pero esta no es la única forma de mostrar los datos en un formulario, existen diferentes posibilidades dependiendo del tipo de datos y de la forma que deseemos representarlo.

OpenOffice Base dispone de controles diseñados para distintos propósitos y situaciones como puedes comprobar en la figura 3.40 donde puedes ver la barra de herramientas

Controles de formulario

con todos sus componentes.

Figura 3.40

Nota

Si por cualquier motivo la barra de herramientas

Controles de formulario

no está visible, recuerda que puedes mostrarla haciendo clic sobre el menú

Ver

>

Barras de herramientas

>

Controles de formulario

.

Objetivos

En los siguientes apartados estudiaremos los controles más frecuentes, veremos sus propiedades y la mejor forma de utilizarlos en nuestros formularios.

Siguiente »

Campos de texto

Como hemos comentado, los campos de texto son los controles que usaremos con más frecuencia. Para añadir un campo de texto debes seguir los siguientes pasos:

Haz clic sobre el icono

Campo de texto

de la barra de herramientas

Campos de control

.

A continuación, haz clic en el lugar donde desees colocar el control y arrastra para trazar un rectángulo que definirá inicialmente su tamaño.

Después de esto en el formulario aparecerá un campo de texto vacío al que posteriormente podremos asignar un campo de la tabla y configurar sus propiedades. También puedes cambiar su posición con tan solo hacer clic sobre él y arrastrar. Del mismo modo, si lo que necesitas es cambiar sus proporciones, haz clic sobre el campo para seleccionarlo y utiliza los puntos de control.

Nota

Debes saber que cuando se añaden los campos desde el Asistente o desde la ventana para añadir nuevos campos estos aparecen como campos de texto con su correspondiente etiqueta, pero cuando añadimos un campo de texto directamente al formulario sólo aparece el espacio del campo. Para seleccionar por separado la etiqueta o el campo es necesario hacer clic sobre cualquiera de ellos mientras mantenemos pulsada la tecla Control.

Una vez creado el campo de texto haz doble clic sobre el nuevo campo de texto para acceder al cuadro de diálogo

Propiedades

que puedes ver en la figura 3.41. En él encontrarás interesantes opciones para configurarlo como veremos a continuación.

Figura 3.41

Truco

Si necesitas acceder a las propiedades de un campo de texto ya creado, por ejemplo con el asistente para formularios, mantén pulsada la tecla Control y haz doble clic sobre el campo, no sobre la etiqueta.

En primer lugar, veamos las posibilidades más importantes de la pestaña

General

del cuadro de diálogo Propiedades del Campo de texto donde encontraremos algunas opciones que resultarán familiares y otras no tanto:

Longitud máx. del texto

: Determina el número máximo de caracteres que el usuario podrá introducir en ese campo. El valor 0 por defecto indica que la longitud será la definida en la tabla.

Activado

: Cuando esta propiedad está en “Sí” el usuario del formulario puede utilizar dicho campo para introducir datos; si esta propiedad está en “No” aparecerá en color gris y no se podrá utilizar.

Sólo lectura

: Se asigna “Sí” cuando deseamos prohibir que el usuario pueda insertar datos nuevos en la base de datos.

Tabstop

: Esta propiedad determina si un campo se puede seleccionar con la tecla Tabulación. Si la marcamos como “No” nunca accederemos a este campo pulsando la tecla Tabulación.

Orden de tabuladores

: En esta propiedad se establece el orden de tabulación de este campo. Al crear un formulario, a cada campo se le asigna automáticamente un índice de tabulación pero se puede modificar el orden utilizando esta propiedad. También puedes establecer el orden de tabulación de todos los campos del formulario seleccionando el icono

Secuencia de activación

de la barra de herramientas

Diseño del formulario

.

Texto predeterminado

: Si lo deseamos, podemos indicar en esta propiedad el texto que queremos que aparezca ya escrito en el campo. Por ejemplo, si trabajamos con alumnos de un centro de Madrid en el que la mayoría pertenecen a esa población sería conveniente colocar en esta propiedad el valor Madrid. De ese modo nos ahorramos escribir este valor. Si alguno de nuestros alumnos es de otra población, al llegar a este campo sólo tendremos que escribir el nombre de la nueva población que sustituirá al que aparece como predeterminado.

Tipo de texto

: Permite decidir si el contenido del campo aparecerá en una línea, en múltiples líneas o en múltiples líneas con formato. Si elegimos múltiples líneas nos permitirá crear nuevas líneas cada vez que pulsemos la tecla Entrar.

Las líneas de texto acaban con

: Esta propiedad sólo estará activa si configuramos el cuadro de texto para múltiples líneas. Con ella podemos elegir el tipo de final de línea que utilizaremos al escribir el texto en función del sistema operativo que vayamos a utilizar.

Barras de desplazamiento

: Agrega al cuadro de texto el tipo de barras de desplazamiento que indiquemos. Evidentemente, solo tiene sentido esta propiedad si nuestro cuadro de texto tiene activada la opción más de una línea en

Tipo de texto

.

Existen más opciones pero las descritas serán las que utilizaremos con más frecuencia. Además, muchas de estas propiedades son comunes y tienen el mismo significado para otros controles disponibles en la barra de herramientas Controles del formulario.

La segunda de las pestañas disponible en el cuadro de diálogo Propiedades, denominada

Datos

, cuenta con algunas opciones que necesitas configurar para que el nuevo campo de texto contenga los datos que realmente necesitas. En la figura 3.42 puedes ver el aspecto de esta pestaña.

Figura 3.42

Campo de datos

: Probablemente se trata de una de las propiedades más importante ya que permite determinar el campo de la base de datos asociado al control. Elige en la lista desplegable el valor que quieres utilizar.

Serie de caracteres vacía es NULL

: Permite especificar cómo debe actuar el control ante la entrada de una cadena vacía. Así, si está colocada en “Sí” e introducimos uno o varios espacios lo interpretará como un valor NULL y así lo almacenará en la base de datos. Si colocamos la propiedad en “No” la cadena de espacios será tratada como un valor vacío.

Entrada requerida

: Activa esta opción si quieres obligar a introducir un valor en el campo para poder continuar con la introducción de datos en el formulario. Debes utilizarla para aquellos campos que contengan datos importantes, como por ejemplo el número de expediente en el caso de alumnos, y que en ningún caso pueden quedar vacíos.

Propuesta de filtro

: Debes usar con precaución este parámetro ya que al activarlo conseguirás mejorar el sistema de búsqueda de datos en el formulario pero al mismo tiempo aumentará drásticamente el tiempo de acceso sobre todo en bases de datos de gran tamaño.

« Anterior | Siguiente »

Campo formateado

Se trata de un campo de texto especial que permite aplicar automáticamente un formato determinado a la hora de mostrar su contenido en el formulario. Tiene sentido, por ejemplo, cuando quieres mostrar una fecha en formato distinto al que está almacenada en la base de datos. También es muy útil con formatos numéricos ya que sus posibilidades de representación son realmente extensas.

Las propiedades de este control ofrecen algunas diferencias con respecto al Campo de texto estándar que tratamos a continuación:

Campo giratorio

: Este extraño nombre corresponde con una propiedad que tiene como propósito hacer más sencilla la entrada de datos. Observa en la figura 3.43 el aspecto de un

Campo formateado

antes y después de activar esta característica. Como puedes comprobar, aparecen dos pequeños botones en el extremo derecho del control que permitirán aumentar o disminuir su valor. Un ejemplo sencillo podría ser el siguiente: imagina que quieres añadir un campo Edad a tu formulario de Alumnos, pues bien activa esta característica y podrás incrementar o reducir la edad que muestra el campo con estos botones sin necesidad de escribir. Los tipos de datos a los que podemos aplicar esta propiedad son numéricos, de moneda, de fecha y hora.

Figura 3.43

Repetir

: Relacionada directamente con la opción anterior, permite modificar el valor automáticamente al mantener pulsado el botón de incremento o decremento. Vamos, que ni siquiera tenemos que hacer clic varias veces para llegar al valor deseado, basta pulsar y no soltar.

Retraso

: Aquí debes indicar el tiempo que tarda en cambiar de valor cuando activamos la opción anterior. El valor por defecto suele ser el más adecuado.

Formateo

: Es la propiedad que realmente da sentido al control, ya que permite seleccionar el formato en el que se presentarán los datos. Haz clic sobre el botón con puntos suspensivos que aparece a su derecha y podrás acceder al cuadro de diálogo

Formato de número

, que muestra la figura 3.44.

Figura 3.44

Observa como el cuadro de diálogo

Formato de número

, en el cuadro de lista

Categoría

, incluye los diferentes tipos de datos que podemos representar. Una vez seleccionado el tipo de datos, el cuadro de lista

Formato

mostrará las variantes disponibles.

Si se trata de representar números, en la sección

Opciones

podremos indicar:

El número de decimales.

El número de ceros a la izquierda.

Si queremos que los números negativos aparezcan de color rojo.

Si las cantidades deben llevar el separador de miles.

Truco

En el cuadro de texto

Formato de código

podemos establecer nuestros propios diseños de formato. El único requisito es seguir las reglas de nomenclatura que exige Base. Para aprender un poco sobre estas reglas puedes seleccionar cualquier tipo en la lista

Categoría

y luego en alguna de sus variantes dentro de la sección

Formato

. Después de hacer esto observa el aspecto del cuadro

Formato de código

en la figura 3.45. Repite esta operación con varios tipos de datos para saber cómo se marcan números, fechas, valores negativos, etcétera.

Figura 3.45

« Anterior | Siguiente »

Casilla de verificación

La característica principal de las casillas de verificación es que sólo admite dos estados, activado o desactivado. Si trasladamos esto a una base de datos deberías asociar este control a todos los campos que tengan asociado el tipo de datos

Sí/No [Boolean]

. La introducción de datos resulta mucho más cómoda si utilizamos casillas de verificación que si tienes que escribir sí, no o cualquier otra cosa.

Un ejemplo, imagina que quieres llevar un control de vacunaciones con tus alumnos para saber de qué enfermedades han sido o no vacunados. En este caso, las casillas de verificación nos resultarán de gran ayuda para hacer más ágil el trabajo como puedes comprobar en la figura 3.46.

Figura 3.46

Con respecto a sus propiedades, las casillas de verificación también disponen de sus propias opciones. Muchas de ellas son comunes a controles como los Campos de texto pero existen otras específicas que describimos a continuación:

Imagen

: Esta propiedad permite colocar una imagen, más o menos grande en el texto de las casillas.

Alineación de gráficos

: Permite indicar en qué posición se colocará el gráfico indicado en la opción anterior.

Estado triple

: No es una propiedad muy frecuente pero es conveniente que conozcas su propósito.

Estado triple

permite especificar si una casilla de verificación puede representar también valores Zero de una base de datos vinculada, además de los valores True y False. Esta opción sólo estará disponible si la base de datos acepta estos tres estados.

« Anterior | Siguiente »

Botón

Los botones ofrecen la posibilidad de realizar diferentes tipos de acciones como ir al siguiente registro o al anterior, o para borrar el contenido del formulario, etc. Si queremos ir un poco más lejos podemos asociarles un macro y realizar prácticamente cualquier cosa que necesites. En la figura 3.47 puedes ver el aspecto de este control.

Figura 3.47

Los botones también tienen sus propiedades específicas. A continuación describimos las más importantes:

Acción

: Es la propiedad más importante del control. Haz clic sobre esta lista desplegable para acceder a las acciones disponibles para asignar al botón como puedes ver en la figura 3.48.

Alternar

: Modifica el comportamiento del botón del siguiente modo: Si activas esta propiedad y pulsas el botón, éste permanecerá pulsado hasta que hagas clic de nuevo sobre él. En cambio si no la activas, el comportamiento del botón será el habitual.

Botón predeterminado

: Activa esta opción si quieres que el botón se active por defecto cuando pulsamos la tecla Enter (Intro). Puede ser una buena idea asociar esta propiedad a un botón que nos permita pasar al registro siguiente. De este modo, será un poco más cómoda la introducción de datos en el formulario.

Figura 3.48

« Anterior | Siguiente »

Botón de opción

Aunque es muy probable que ya lo conozcas, en la figura 3.49 puedes comprobar el aspecto de un botón de opción. Los botones de opción suelen ir agrupados para que el usuario del formulario pueda elegir entre varias opciones pero con una particularidad, sólo es posible marcar una de ellas.

Figura 3.49

Nota

Como hemos comentado, lo habitual es encontrar los botones de opción agrupados, estos grupos se crean con la herramienta

Cuadro de grupo

que vemos a continuación. La herramienta

Cuadro de grupo

tiene asociado un asistente que simplifica la creación de estos elementos pero debes comprobar que el botón que hemos marcado en la figura 3.50 está activado para que funcione correctamente.

Figura 3.50

Actividad 4

Para comprobar el funcionamiento de los botones de opción añadiremos un control al formulario de profesores que nos permita indicar su sexo durante el proceso de introducción de datos. Los requisitos para completar esta actividad serían los siguientes:

Tener una base de datos con una tabla denominada

Profesores

.

Añadir a la tabla Profesores un campo denominado

Sexo

del tipo

Texto [Varchar]

.

Tener un formulario asociado a la tabla

Profesores

que nos permita mostrar y editar su información.

Comprobar que está activada la opción

Activar o desactivar asistentes

de la barra de herramientas

Controles de formulario

.

Una vez comprobado todo, sigue los siguientes pasos para crear el control:

Haz clic en el botón

Más campos de control

de la barra de herramientas

Campos de control de formulario

para mostrar una nueva barra de herramientas como puedes comprobar en la figura 3.51.

Figura 3.51

En la barra de herramientas

Más campos de control

selecciona la opción

Cuadro de grupo

. Haz clic en el lugar del formulario donde quieres colocar el control y arrastra para trazar un rectángulo que determinará sus proporciones. Al soltar, OpenOffice Base muestra el primer paso del asistente.

Dentro de este primer paso del Asistente debemos escribir el nombre que mostrará cada uno de los botones de opción en el formulario o lo que es lo mismo, su etiqueta. Escribe

Hombre

y haz clic en el botón

>>

para añadirlo al cuadro.

A continuación escribe

Mujer

y haz clic en el botón

>>

para añadirlo al cuadro. Cuando termines, el aspecto del cuadro de diálogo debe ser igual al que muestra la figura 3.52. Haz clic sobre el botón

Siguiente

para ir al siguiente paso del asistente.

Figura 3.52

En este segundo paso del Asistente debemos decidir si queremos que alguno de los botones de opción aparezca seleccionado de manera predeterminada o indicar que no queremos que aparezca seleccionada ninguna de las opciones. En este caso utiliza la segunda de las opciones y haz clic en el botón

Siguiente

para continuar.

Este paso es muy importante ya que debes indicar el valor que se almacenará en la base de datos cuando seleccionemos cada uno de los botones de opción. En el cuadro que tienes a la derecha, selecciona

Hombre

y como valor para almacenar en la base de datos podrías utilizar la letra

H

como muestra la figura 3.53, aunque si lo prefieres puedes utilizar cualquier otra cosa como la palabra entera, un valor numérico, etcétera. El único requisito es que coincidida con el tipo de datos que tiene el campo en la base de datos. Selecciona

Mujer

y como valor para almacenar en la base de datos podrías utilizar la letra

M

. Haz clic sobre el botón

Siguiente

y accedemos así al cuarto paso.

Figura 3.53

No tendría mucho sentido recoger datos para no almacenarlos en ningún lugar. Pues bien, en este paso del asistente debes indicar el campo donde se guardará la información del control. Para hacerlo selecciona la opción

Sí, en el siguiente campo

y despliega la lista que aparece a la derecha. En ella elige el campo

Sexo

como puedes ver en la figura 3.54.

Haz clic en

Siguiente

para llegar al último paso de este asistente en el que sólo tendrás que escribir el nombre que tendrá el cuadro, por ejemplo Sexo, y selecciona el botón

Finalizar

para tener un nuevo cuadro de grupo creado con sus correspondientes opciones en el interior.

Figura 3.54

Importante

Puedes configurar las propiedades del cuadro de grupo haciendo doble clic sobre la línea del recuadro para abrir el cuadro

Propiedades

. Pero también, es posible cambiar las propiedades de uno de los botones interiores del cuadro haciendo clic sobre cualquiera de ellos, manteniendo pulsada la tecla

Control

, y el cuadro

Propiedades

mostrará las propiedades de ese botón en concreto.

Presta atención a la propiedad

Estado predeterminado

. Con ella podrás indicar el botón de opción que aparecerá activado por defecto cuando trabajes con el formulario.

« Anterior | Siguiente »

Campo de fecha

Los

Campos de fecha

son elementos frecuentes dentro de cualquier formulario. OpenOffice Base dispone de un control específico que hace más sencilla la tarea de introducción de estos datos. En la figura 3.55 puedes comprobar el aspecto del control

Campo de fecha

en su configuración más habitual.

Figura 3.55

Nota

Para acceder al control

Campo de fecha

(figura 3.56) debes mostrar la barra de herramienta

Más controles

. Recuerda que puedes activar esta barra con la opción

Más campos de control

de la barra de herramientas

Controles de formulario

.

Figura 3.56

Actividad 5

Para practicar un poco con el control

Campo de fecha

te propongo incluir un nuevo campo a la tabla

Alumnos

que nos permita guardar la fecha de matriculación del alumno y añadir este dato al formulario. Los requisitos para completar esta actividad serían los siguientes:

Tener una base de datos con una tabla denominada

Alumnos

.

Añadir a la tabla

Alumnos

una campo denominado

FechaMatriculación

del tipo

Fecha[Date]

.

Tener un formulario asociado a la tabla Alumnos que nos permita mostrar y editar su información.

Activar la barra de herramientas

Más controles

.

Una vez comprobado todo, sigue los siguientes pasos para crear el control:

Abre el formulario en modo diseño.

Selecciona

Campo de fecha

en la barra de herramientas

Más controles

. Haz clic y arrastra para determinar la posición y las dimensiones del control.

Una vez creado el control haz doble clic sobre él para mostrar el cuadro de diálogo

Propiedades

que puedes ver en la figura 3.57.

En la ficha

General

activa la propiedad denominada

Desplegable

.

A continuación, en la ficha

Datos

, despliega la única opción disponible y selecciona el campo

FechaMatriculación

. Cierra el cuadro de propiedades y guarda el formulario.

Figura 3.57

Truco

Si has seguido los pasos de la actividad anterior tendrás el nuevo control en tu formulario y podrás introducir fechas de forma mucho más cómoda. En cualquier caso, algunas ideas para mejorarlo serían:

Añadir una etiqueta para identificar el campo y mejorar la estética del formulario.

Modificar su aspecto para que coincida con el resto del campo del formulario.

Configurar las propiedades

Fecha mín

y

Fecha máx

para evitar errores y acotar el rango de fechas.

Utilizar alguna de las posibilidades que ofrece la propiedad

Formato de fecha

.

Activar la propiedad

Campo giratorio

para incrementar o reducir la fecha con un solo clic.

« Anterior | Siguiente »

Listado

El control

Listado

muestra un desplegable con diferentes valores para seleccionar como puedes ver en la figura 3.58. Hasta aquí te puede resultar más o menos interesante, pero si además te digo que esta información la puedes obtener de una tabla o consulta de la base de datos seguro que te parece mucho más útil.

Figura 3.58

Nota

Piensa en el control Listado como una forma sencilla de introducir datos pero también como una forma de enviar errores y homegeneizar la información de tus tablas. Por ejemplo, puedes crear un listado con los cursos y de ese modo, evitar que se cometan errores poniendo unas veces “3A”, otras “3ºA”, otras “3º A”, etc.

Actividad 6

Con el propósito de mejorar la introducción de datos de alumnos, modificaremos el campo de texto que nos sirve para introducir el curso al que pertenece el alumno por un control

Listado

. Los requisitos para realizar esta actividad son:

Tener una base de datos con una tabla denominada

Alumnos

y otra

Cursos

.

La tabla

Cursos

debe tener dos campos:

IdCurso

y

Curso

. El primero de ellos sería campo clave y el segundo, la descripción del curso (1A, 2B, 2C, etcétera).

Las dos tablas deben estar relacionadas, es decir, entre el campo

Grupo

de la tabla

Alumnos

y el campo

IdCurso

de la tabla

Cursos

debe existir una relación definida del tipo

uno a muchos

.

Tener un formulario asociado a la tabla

Alumnos

que permita mostrar y editar su información. Si no lo tienes creado con el Asistente lo puedes tener en unos minutos.

Comprobar que está activada la opción

Activar o desactivar asistentes

de la barra de herramientas

Controles de formulario

.

A partir de estos requisitos los pasos para convertir el campo Grupo del formulario de alumnos en un control de tipo Listado serían los siguientes:

Abre el formulario

Alumnos

. Mantén pulsada la tecla Control mientras haces clic en el cuadro de texto asociado al campo

Grupo

. Una vez seleccionado, pulsa la tecla Supr para eliminar el campo. Es importante utilizar la tecla Control para seleccionar sólo el campo de texto porque, de esta forma, mantienes la etiqueta que servirá para el nuevo control.

En la barra de herramientas

Controles de formulario

selecciona la herramienta

Listado

. A continuación, haz clic sobre el formulario y arrastra para definir la posición y el tamaño del control. Al terminar aparecerá el Asistente.

En el primer paso del asistente debes seleccionar la tabla cuyos datos quieres que aparezcan en el listado como muestra la figura 3.59, en nuestro caso,

Cursos.

Haz clic en

Siguiente

para continuar con el siguiente paso del Asistente.

Figura 3.59

El segundo paso muestra una lista con los campos de la tabla que hemos elegido en el paso anterior. Aquí debes seleccionar el campo cuyo contenido quieres mostrar en el listado, en nuestro caso será el nombre del curso (1A, 2A, 2C, etcétera) denominado

Curso

. Haz clic en el botón

Siguiente

para continuar con el siguiente paso del Asistente.

Como hemos comentado al principio de la actividad, las tablas

Alumnos

y

Cursos

deben estar relacionadas por un campo para que el control

Listado

funcione correctamente, pero... ¿por qué? Pues bien, OpenOffice Base necesita esta información para almacenar la información correcta en la tabla de modo que cuando selecciones "2A" en el listado de la tabla se almacene el valor 4 que sería el código de este curso. Dicho todo esto, para completar la actividad selecciona

Grupo

en la lista de la izquierda y el campo

IdCurso

en la lista que aparece a la derecha como muestra la figura 3.60. Una vez realizado este paso, haz clic sobre el botón

Finalizar

.

Figura 3.60

Prueba el formulario para comprobar que el nuevo control funciona correctamente. Recuerda que desde la misma vista diseño puedes hacer clic sobre el botón

Modo diseño

de la barra de herramientas

Diseño de formulario

para alternar entre la vista diseño y la vista normal en la que puedes introducir y editar datos. La figura 3.61 muestra el botón al que hacemos referencia.

Figura 3.61

Truco

Después de completar la actividad anterior comprobarás que el aspecto del nuevo control es algo distinto de los que ya tenías en el formulario, el color de fondo, el relieve, las dimensiones, etcétera. Para mejorar su aspecto, o al menos unificarlo con el resto de controles, te propongo lo siguiente: mantén pulsada la tecla Control y haz doble clic sobre alguno de los controles que ya tenías para ver propiedades como Altura, Color de fondo o Marco. A continuación, haz doble clic en el Listado que acabas de crear y aplica los mismos valores a las propiedades que hemos comentado.

« Anterior | Siguiente »

Cuadro combinado

El

Cuadro combinado

mezcla en un mismo control las posibilidades de un campo de texto y las ventajas de un Listado. El cuadro combinado permite elegir uno de los datos de la lista o introducir un nuevo dato si no se encuentra en la lista. Para crear un cuadro combinado debemos seguir los mismos pasos que para la creación de un listado pero mejor veamos un sencillo ejemplo. La idea es buscar una manera más sencilla de introducir datos en la tabla

Departamentos

de modo que exista la posibilidad de añadir nuevos departamentos pero al mismo tiempo consultar los ya existentes.

En primer lugar, utiliza el asistente para crear un nuevo formulario asociado a la tabla

Departamentos

. Utiliza sólo el campo Nombre y en el paso 5 del asistente, selecciona cualquiera de las opciones basadas en etiquetas, por ejemplo:

En columnas - Etiquetas a la izquierda.

En el último paso, selecciona la opción

Modificar el formulario

para ir directamente al modo Edición.

Selecciona sólo el campo

Nombre

, sin la etiqueta. Para hacer esto recuerda que debes mantener pulsada la tecla Control y hacer clic únicamente sobre el campo.

Haz clic con el botón derecho del ratón sobre el objeto seleccionado. En el menú contextual selecciona la opción

Reemplazar por

y elige

Campo combinado

.

Comprueba que el objeto sigue seleccionado y haz ahora doble clic para abrir el cuadro de diálogo

Propiedades

.

Selecciona la pestaña

Datos

y en la propiedad

Tipo del contenido

de lista

asegúrate de que se encuentra seleccionada la opción

Tabla

.

A continuación, presta atención a la opción

Contenido de lista

. En ella, selecciona la tabla

Departamentos

y cierra el cuadro de diálogo de propiedades.

Cambia ahora el tamaño del recuadro del campo, hazlo más alto, que tenga unas 6 o 7 líneas de alto.

Guarda el formulario para mantener los cambios.

Una vez completados los pasos, el aspecto del formulario debería ser similar al que muestra la figura 3.62. En esta ocasión puedes comprobar que aparecen todos los departamentos de la base de datos, pero también existe la posibilidad de añadir uno nuevo escribiendo su nombre, ¡pruébalo!

Figura 3.62

Nota

OpenOffice Base ofrece un buen número de controles. Hasta aquí has podido comprobar el funcionamiento de los usados con más frecuencia pero como puedes ver en la figura 3.63 las posibilidades son muchas más.

Figura 3.63

« Anterior | Siguiente »

Crear formularios sin el Asistente

Lo habitual en la mayoría de los casos es crear formularios a partir del asistente pero en determinadas circunstancias puede que necesites crearlo completamente desde cero.

Si quieres crear un formulario sin usar el asistente debes seguir los pasos siguientes:

Abre la base de datos y sitúate en la ventana principal de OpenOffice Base.

Selecciona Formulario en el panel de la izquierda y en la parte superior haz clic sobre la opción

Crear formulario en vista Diseño

. Después de esto aparecerá una ventana con un formulario completamente en blanco.

A continuación el primer paso debe ser siempre vincular el formulario a un origen de datos, normalmente una tabla o una consulta. Si no hacemos esto no podemos seleccionar campos y asociar controles a datos, etcétera. Para ello, selecciona el icono

Navegador

, después en la pequeña ventana que aparece, haz clic con el botón derecho sobre

Formularios

y selecciona el comando

Nuevo

>

Formulario

como muestra la figura 3.64.

Figura 3.64

Con el paso anterior hemos dejado de tener una hoja en blanco para tener un formulario. Selecciona el icono

Formulario

en la barra de herramientas

Diseño de formulario

para acceder a sus propiedades.

En la ficha

Datos

, despliega la lista

Tipo de contenido

y selecciona alguno de los elementos disponibles:

Tabla

o

Consulta

será lo más habitual. Una vez hecho esto, en lista

Contenido

elige el objeto que quieres utilizar como puedes ver en la figura 3.65.

Una vez vinculado el origen de datos al formulario puedes utilizar la opción

Añadir campo

de la barra de herramientas Diseño de formulario o los controles para incluir los campos que necesites.

No olvides incluir etiquetas y cuidar el aspecto del formulario.

Figura 3.65

Truco

Antes de ponerte manos a la obra y diseñar un formulario desde cero, piensa si es posible crear su estructura más básica con el asistente para después adaptarlo a tus necesidades añadiendo controles o modificando su aspecto.

« Anterior | Siguiente »

Mejorar la entrada de datos

Los controles de formulario sencillos como los campos de texto son imprescindibles para trabajar con los datos de un formulario pero no debes limitarte a usar únicamente controles simples. Un formulario puede mejorar mucho si utilizamos Listados, Botones de opción, Campos de fecha, etcétera.

A continuación veremos cómo transformar un formulario "incómodo" en otro mucho más amigable para el usuario. La idea es diseñar un formulario que nos permita introducir las actividades y equipos en los que participa cada alumno utilizando todo lo aprendido hasta ahora.

El origen de datos sería la tabla

Participantes

que tiene como campos el nombre del alumno, la actividad en la que participa y el nombre del equipo. Si lo deseas, haz clic aquí para descargar una base de datos con las tablas y relaciones ya definidas de modo que puedas realizar la actividad sin problemas.

Actividad 7

Abre la base de datos y crea un formulario con el Asistente que tenga como origen de datos la tabla

Participantes

y todos sus campos. En cuanto a la disposición de los campos, elige la primera de las opciones denominada

En columnas - Etiquetas a la izquierda

para que resulte más sencillo editar los controles y aprovechar las etiquetas que incluye el Asistente.

Una vez finalizado, el aspecto del nuevo formulario debe ser similar al que muestra la figura 3.66 y como nos temíamos, la introducción de datos no promete ser demasiado cómoda. Piensa que para cada registro debes introducir el número de expediente del alumno, el código de la actividad y el identificador del equipo.

Figura 3.66.

Sigue los pasos siguientes para mejorar la entrada de datos en el formulario creado por el asistente:

Con el formulario en la vista Diseño, mantén pulsada la tecla Control y haz clic sobre el campo de texto

Alumno

, no sobre la etiqueta.

Ahora haz clic con el botón derecho, y busca el comando

Reemplazar por

. A continuación selecciona

Listado.

Probablemente sea necesario hacer más grande el tamaño del campo, pero eso lo podemos hacer en cualquier otro momento. El siguiente paso será hacer doble clic sobre el campo que acabamos de transformar, teniendo cuidado de que sólo esté seleccionado el campo y no la etiqueta, para mostrar su cuadro de propiedades donde debes hacer clic en la pestaña

Datos

. Los datos que debes introducir en cada opción son los siguientes:

En la propiedad

Campo de datos

selecciona

Alumno

para indicarle al control que éste debe ser el campo de tabla que debe almacenar cuando seleccionemos un valor de la lista.

En

Entrada requerida

debes marcar

Sí

, ya que este campo es imprescindible. Bueno en realidad todos son necesarios en este formulario para introducir un nuevo registro.

En

Tipo del contenido de lista

selecciona

Sql[Native]

. Aquí establecemos el método que vamos a utilizar para localizar los datos que deseamos mostrar en la lista. En este caso, utilizaremos SQL para poder concatenar los campos Apellidos y Nombre y así formar el Nombre completo del alumno.

En

Contenido de la lista

escribe el siguiente texto tal y como está a continuación. Esta será la consulta escrita en lenguaje SQL necesaria para mostrar el nombre completo del alumno:

SELECT

"Apellidos" + ', ' + "Nombre"

AS

NombreCompleto, "Expediente"

FROM

"Alumnos"

ORDER BY

NombreCompleto

Por último en

Campo ligado

selecciona el valor

1

para indicar cuál será el campo de la consulta que debe almacenar, por supuesto, el código de alumno, ya que el nombre sólo lo queremos como ayuda para mejorar la comprensión del formulario. Después de esto el aspecto de la ventana de propiedades deberá ser similar al que muestra la figura 3.67:

Figura 3.67

Finalmente y para que nuestro nuevo control funcione correctamente, debemos asegurarnos de que la opción

Desplegable

de la ficha

General

del cuadro de propiedades está puesta en

Sí

.

Con todo esto, el aspecto de nuestro nuevo campo sería el que muestra la figura 3.68. Ahora sólo tendremos que seleccionar el nombre del alumno y automáticamente Base guardará su número de expediente. Otra ventaja, sólo tienes que empezar a escribir las primeras letras del nombre que buscas para que el listado muestre todas las coincidencias.

Figura 3.68.

Una vez solucionado el campo

Alumno

debes mejorar también la entrada de datos de los campos que nos quedan:

Actividades

y

Equipos

. Convierte estos dos campos en controles Listado para que muestren sus datos como lista y podamos elegir alguna de las opciones disponibles en lugar de escribir su código.

Para transformar los campos

Actividades

y

Equipos

en controles

Listado

te recomiendo que elimines el campo de texto original y añadas el control desde la barra de herramientas

Controles de formulario

. De esta forma tendrás acceso al asistente y te resultará mucho más sencilla su configuración siguiendo los mismos pasos que vimos en el apartado dedicado al control Listado. El resultado final debe ser similar al formulario que muestra la figura 3.69.

Figura 3.69

Mostrar la imagen Campo Actividades Campo Actividades | Mostrar la imagen Campo Equipos Campo Equipos | Mostrar la imagen Campo Alumno Campo Alumno |

Nota

SQL es un potente lenguaje de programación que se utiliza mucho en los entornos de bases de datos que nos permite realizar consultas, añadir datos, modificar información, crear tablas, etcétera.

« Anterior

Subformularios

Subformularios, formularios con más de una tabla

Una de las grandes ventajas de las bases de datos relacionales es la posibilidad de trabajar con información almacenada en más de una tabla. De esta forma podrás mejorar el rendimiento de tu sistema pero también, y sobre todo, trabajar más cómodamente con los datos guardados en la base de datos.

Los formularios con más de una tabla aprovechan las posibilidades de OpenOffice como bases de datos relacional para mostrar y trabajar al mismo tiempo con los datos de varias tablas.

Objetivos

El propósito principal de este módulo es aprender a diseñar formularios con más de una tabla utilizando el asistente para formularios. Para que nos resulte más fácil, un sencillo ejemplo nos guiará en todo el proceso.

Siguiente »

Formulario principal

Paso 1

La mejor manera de entender la filosofía de los subformularios y comprobar cómo aprovechar las posibilidades de las relaciones entre tablas de OpenOffice Base es plantear un ejemplo. En este caso, la idea es crear un formulario principal que únicamente incluya un listado de cursos y un subformulario que muestre todos los alumnos que pertenecen a cada grupo.

Nota

El origen de datos serán las tablas

Cursos

y

Alumnos

; ambas tablas deben estar creadas y relacionadas para seguir el ejemplo. Si lo deseas, haz clic aquí para descargar una base de datos con las tablas y las relaciones ya definidas de modo que puedas realizar la actividad sin problemas.

Para comenzar, abre la base de datos y comprueba que la opción

Formularios

situada en el margen izquierdo se encuentra seleccionada. En la parte superior elige

Usar el asistente para crear formularios

.

En el primer paso del Asistente despliega el cuadro de lista

Tabla o consulta

y selecciona la tabla

Cursos

para utilizar sus campos en el formulario que vamos a crear. Automáticamente veremos que el cuadro de lista

Campos disponibles

nos muestra todos los campos que contiene la tabla que hemos seleccionado.

Haz doble clic sobre el campo

Curso

para situarlo en el cuadro de lista

Campos del formulario

como puedes ver en la figura 3.70 y haz clic en el botón

Siguiente

para continuar con el siguiente paso del Asistente para formularios.

Figura 3.70

« Anterior | Siguiente »

Agregar subformulario

Paso 2

Llega el momento de añadir el subformulario al formulario principal y para ello en el paso dos del Asistente activa la opción denominada

Agregar subformulario

, como puedes ver en la figura 3.71.

Figura 3.71

Tras activar la opción de utilizar subformularios en el Asistente, OpenOffice Base nos plantea dos posibilidades:

Subformulario basado en relación existente

: Sin lugar a dudas, la opción más conveniente en la mayoría de los casos. Se trata de aprovechar las propiedades de las relaciones existentes en la base de datos y vincular la información de aquellas tablas relacionadas con la tabla principal seleccionada en el primer paso del Asistente. Como puedes comprobar en la figura 3.72, OpenOffice Base reconoce las tablas disponibles para este fin y las muestra en el cuadro

¿Qué relación desea agregar?

Subformulario basado en selección manual de campos

: En ese caso, OpenOffice Base permite elegir cualquier tabla o consulta incluida en la base de datos, esté o no, relacionada con la tabla principal del formulario. Si decidimos utilizar esta opción, debemos tener en cuenta que necesitaremos algún campo que nos permita relacionar la tabla del formulario principal con la tabla o consulta del subformulario.

Para completar nuestro ejemplo elige la primera de las opciones,

Subformulario basado en relación existente

, y entre las tablas que aparecen deberás seleccionar

Alumnos

. Una vez hecho esto, haz clic en

Siguiente

para continuar.

Figura 3.72

« Anterior | Siguiente »

Campos del subformulario

Paso 3

Independientemente de la opción elegida en el paso anterior, en el siguiente paso debes usar el cuadro de lista

Campos disponibles

para seleccionar los campos que deseas mostrar en el subformulario. Observa la figura 3.73 donde ya hemos seleccionado los campos necesarios para nuestro ejemplo.

Figura 3.73

Nota

El cuarto paso del Asistente, que vemos en la figura 3.74, sólo estará disponible si en el segundo paso hemos seleccionado

Subformulario basado en selección manual de campos

. En este caso debes indicar los campos que servirán para vincular los datos de ambos formularios. Si no lo haces, OpenOffice Base utilizará la relación definida por defecto para establecer automáticamente los campos que debe utilizar para vincular los datos del subformulario.

Figura 3.74

« Anterior | Siguiente »

Diseño y configuración

Pasos 5, 6, 7 y 8

En el siguiente paso del Asistente debes elegir la disposición más adecuada para los campos del formulario principal y del subformulario. Como puedes ver en la figura 3.75, OpenOffice Base muestra en la sección

Disposición del formulario principal

, varios modelos predeterminados para que seleccionemos el que más nos interese para nuestro formulario y de igual forma, puedes elegir la combinación que desees para el subformulario.

Figura 3.75

Habitualmente, la combinación más adecuada será

En columnas - Etiquetas a la izquierda

(la primera opción) para el formulario principal y

Como hoja de datos

(la tercera opción) para el subformulario. Por lo tanto, elige esta configuración y a continuación haz clic en

Siguiente

para configurar la entrada de datos como muestra la figura 3.76.

Haz de nuevo clic en

Siguiente

y elige la combinación de colores que más te guste. Por último, debes asignar un nombre al formulario, por ejemplo “Alumnos-Curso”.

Figura 3.76

Una vez terminado el formulario la forma de trabajar con él sería la siguiente:

Coloca el cursor sobre el campo

Curso

y utiliza la barra de navegación inferior para desplazarte entre los diferentes registros como puedes ver en la figura 3.77. Cada vez que cambies el valor de este campo, el subformulario mostrará los alumnos que pertenecen a ese grupo.

Si necesitas añadir un nuevo curso, haz clic sobre el icono

Registro nuevo

de la barra de navegación y escribe el valor en el cuadro de texto. En este caso, el subformulario aparecerá en blanco, listo para añadir nuevos alumnos.

Después de seleccionar el curso, puedes hacer clic sobre cualquier campo del subformulario para editar los datos de los alumnos que pertenecen a ese grupo.

Utiliza la barra de navegación asociada al subformulario para desplazarte entre sus registros o añadir nuevos datos.

Figura 3.77

Actividad 8

Crea un formulario que muestre los profesores asociados a cada uno de los departamentos. En realidad es prácticamente lo mismo que hemos hecho con los grupos y los alumnos pero, esta vez, con departamentos y profesores.

« Anterior

Consultas en OpenOffice Base

De nada sirve tener nuestra información perfectamente estructurada en tablas, si no existe la posibilidad de recuperar esos datos. Para tal fin, los Sistemas Gestores de Bases de Datos y, más concretamente, OpenOffice Base dispone de un tipo predeterminado de objeto denominado

Consultas

.

Mediante las consultas tendrás la posibilidad de obtener toda la información contenida en las tablas añadiendo interesantes funcionalidades:

Filtrar la información para recuperar sólo aquellos datos que te interesen en cada caso.

Ordenar la información recuperada utilizando tantos criterios como necesites.

Utilizar varias tablas para obtener datos combinados de ellas. Sin duda, sólo por este motivo ya tienen sentido las bases de datos, y más concretamente las consultas.

Objetivos

Nuestros objetivos por ahora no serán demasiado ambiciosos, simplemente llevaremos a cabo todos los pasos necesarios para diseñar una consulta sencilla sobre tablas creadas previamente en una base de datos.

Siguiente »

Cómo crear una consulta sencilla

Existen varias formas de crear consultas en OpenOffice Base según las características de cada proyecto:

Puedes crear una consulta en la vista Diseño.

Utilizar el asistente para consultas.

O trabajar con el lenguaje de consultas estructurado SQL, si bien es cierto que esta última opción sólo es recomendable para personas con un alto grado de experiencia en bases de datos.

Estas tres posibilidades las encuentras en la parte superior de la ventana de la aplicación como puedes ver en la figura 4.1:

Figura 4.1

Nota

El origen de datos

para nuestra primera consulta será la tabla

Alumnos

. Esta tabla debe estar creada para seguir el ejemplo. Si lo deseas, haz clic aquí para descargar una base de datos con todo lo necesario para realizar la actividad sin problemas.

Actividad 1

Abre la base de datos y haz clic en el icono que representa al objeto

Consultas

en la columna de la izquierda.

Selecciona la opción

Crear consulta en vista Diseño

.

En la ventana de diseño, tu primera tarea será elegir la tabla que contiene los datos con los que deseas trabajar. Observa en el vídeo que hay al final de estos pasos cómo la pequeña ventana que aparece en el centro de la ventana muestra todas las tablas disponibles.

Haz doble clic sobre la tabla

Alumnos

o selecciónala en primer lugar y después utiliza el botón

Añadir

.

Haz clic sobre el botón

Cerrar

del cuadro de diálogo

Agregar tabla o consulta

para continuar con el diseño de la consulta.

A continuación, en la parte inferior de la ventana de diseño, debes añadir los campos que deseas mostrar en la consulta. Para ello, es necesario hacer clic sobre el nombre del campo, mantener pulsado el botón izquierdo del ratón y arrastrar hasta el nombre de la celda

Campo

, primera del listado y con fondo gris.

Debes repetir el paso anterior para incluir tantos campos como necesites. Por ejemplo, en el vídeo que aparece al final de estos pasos hemos diseñado una consulta para mostrar el nombre de todos los alumnos junto con su número de expediente.

Una vez compuesta la consulta, si deseas conocer los resultados es necesario utilizar el botón

Ejecutar consulta

.

Observa cómo la ventana de Diseño de consulta muestra un nuevo espacio donde aparecen los registros de la tabla que has seleccionado mediante la consulta diseñada.

Después de trabajar en el diseño de una consulta y comprobar que funciona correctamente, es conveniente asignarle un nombre y guardarla por si necesitas utilizarla en cualquier otra ocasión. Haz clic en el botón

Guardar

de la barra de herramientas y en el cuadro de diálogo que aparece, escribe un nombre para la consulta.
Tras estos pasos, ya puedes cerrar la consulta y comprobar cómo aparece en la ventana principal de OpenOffice Base.

Importante

Como has podido comprobar después de crear la consulta anterior, el cuadro de diálogo

Agregar tabla o consulta

permitía añadir tablas pero también consultas. Es decir, puedes utilizar los datos obtenidos mediante una o más consultas como origen de datos para diseñar una nueva consulta.

Esto significa que NO puedes utilizar el mismo nombre para una consulta y para una tabla, debes tener esto en cuenta a la hora de guardar tus consultas.

« Anterior

Tareas básicas con los resultados de las consultas

Después de ejecutar la consulta y tener acceso a los registros resultantes, tendremos la posibilidad de realizar diferentes operaciones con ellos como por ejemplo: editar o modificar cualquiera de los registros resultantes, cortar, copiar y pegar, buscar información, etcétera.

Nota

Algunas operaciones de edición no están permitidas. Esta circunstancia la encontrarás sobre todo cuando realices consultas sobre varias tablas.

Objetivos

Las consultas son uno los ejes principales sobre los que se sustentan las bases de datos. El propósito de los apartados siguientes es avanzar un poco más en su conocimiento y manejar con soltura las tareas más habituales.

Siguiente »

Editar registros

Para editar aquellos campos que hayas mostrado en el resultado de la consulta, basta con hacer clic sobre el campo y escribir el nuevo valor como muestra la figura 4.2. O también, hacer doble clic sobre cualquier término que forme parte del campo para modificarlo, del mismo modo que lo harías con un texto.

Figura 4.2

Importante

No está permitido editar aquellos campos que formen parte de la clave de la tabla o tablas origen de la consulta.

« Anterior | Siguiente »

Navegar por los registros de la consulta

Si el resultado de la consulta contiene pocos registros no tendrás demasiados problemas, pero si el número aumenta podrás utilizar los botones de navegación que hemos resaltado en la figura 4.3.

Figura 4.3

Lo primero que muestra la barra de navegación es el número del registro actual en el que te encuentras del total de la consulta: 1 de 10, 5 de 200, 34 de 1240, etcétera. El primero de estos valores es editable, lo que significa que puedes escribir un número de registro y desplazarte hasta él directamente. Introduce un valor dentro del rango de registros y pulsa la tecla Intro.

botón retroceder a inicio Ir hasta el primer registro de la vista previa.

botón ir anterior Ir al registro anterior.

botón ir siguiente Avanzar hasta el registro siguiente.

botón ir final Ir hasta el último registro de la tabla.

botón nuevo registro Añadir un nuevo registro.

Importante

Para añadir un nuevo registro, es necesario cumplir algunas condiciones, sobre todo porque no debes olvidar que estás trabajando sobre los registros seleccionados de una tabla y no sobre la tabla en sí.

Por ejemplo, si la consulta la realizas utilizando la información de dos o más tablas será imposible añadir ningún dato. También es necesario que se encuentre activado el botón

Editar datos

resaltado en la figura 4.4

Figura 4.4

« Anterior | Siguiente »

Cortar, copiar y pegar

Los comandos

Cortar

,

Copiar

y

Pegar

también se encuentran disponibles en la edición de registros y su uso es idéntico al que ya conoces de otras aplicaciones más comunes como procesadores de texto y hojas de cálculo.

Para cortar, copiar y pegar puedes utilizar los botones de la barra de herramientas que muestra la figura 4.5, los comandos del menú

Editar

o alguna de las combinaciones de teclas siguientes:

Control + C para copiar.

Control + X para cortar.

Control + V para pegar.

Figura 4.5

Nota

Debes saber que OpenOffice Base no permite cortar ni copiar registros completos.

Un pequeño truco para copiar rápidamente el contenido de un campo es hacer clic sobre él con el botón derecho y en el menú que muestra la figura 4.6 seleccionar el comando

Copiar

.

Figura 4.6

« Anterior | Siguiente »

Buscar información en el resultado de la consulta

Dentro del resultado de una consulta, también puedes buscar y localizar cualquier información. Compruébalo y selecciona el botón

Buscar registro de datos

para tener acceso al cuadro de diálogo que muestra la figura 4.7.

Figura 4.7

El cuadro de diálogo

Búsqueda de registro de datos

, en su primera sección, tiene tres posibilidades aunque la que se usa con más frecuencia es sin lugar a dudas la primera, donde debes introducir la palabra o término que deseas buscar. Otras posibilidades serán localizar registros que contengan valores NULL pero esta opción se explica un poco más adelante.

A continuación, en la siguiente sección del cuadro de diálogo (figura 4.8), debes indicar si la búsqueda deseas localizarla en un campo concreto de la consulta o en cualquiera de ellos.

Figura 4.8

Por último, dentro del apartado

Configuración

encontrarás diferentes opciones para concretar el ámbito de la búsqueda:

Posición

: Aquí puedes elegir la situación exacta del campo donde se buscará el término que quieres localizar: al principio o al final del campo, en cualquier parte del mismo o en todo el campo. Esta última opción implica que la totalidad del contenido del campo tiene que coincidir con el término de búsqueda.

Usar formato de campo

: Una opción que debes tener muy en cuenta si necesitas localizar valores de fecha y hora en el resultado de la consulta. El motivo es que no siempre coinciden los formatos de representación con la forma en que la base de datos almacena esta información.

Un ejemplo, pero antes haz lo siguiente: Añade a la consulta el campo

Fecha de nacimiento

de la tabla

Alumnos

. Para ello, haz clic en el nombre del campo y arrástralo hasta la siguiente columna libre de la rejilla de diseño. También hemos realizado un pequeño cambio en la forma en la que se representa este valor en la tabla, modificando el formato inicial dd/mm/aa por uno más elaborado. Esto último se puede hacer editando la propiedad

Ejemplo de formato

del campo

FechaNacimiento

en la tabla

Alumnos

.

A continuación ejecuta de nuevo la consulta pulsando la tecla

+

o utilizando el botón

Ejecutar consulta

de la barra de herramientas. La idea es buscar fechas que contengan el mes de febrero, y para ello haz clic en el botón

Buscar

de la barra de herramientas. De esta forma, se muestra el cuadro de diálogo

Búsqueda de registro de datos

. Ahora introduce el término “02” sin marcar la casilla

Usar formato de campo

. Como puedes comprobar en la figura 4.9, Base entiende perfectamente lo que buscas y muestra la primera fecha con el mes de febrero.

Figura 4.9

Ahora bien, si repites la búsqueda pero esta vez, marcas la casilla

Usar formato de campo

, el programa no encontrará ninguna coincidencia y mostrará un mensaje de error. En este caso es necesario escribir

feb

para localizar el resultado correcto.

Nota

Debes saber que la opción

Usar formato de campo

ralentiza el proceso de búsqueda en bases de datos de gran tamaño.

Buscar hacia atrás

: Comienza la búsqueda desde el último hasta el primer registro de la consulta, es decir, justo al revés.

Coincidencia exacta

: A la hora de buscar, activa esta casilla de verificación si necesitas distinguir entre mayúsculas o minúsculas. Si no es así, no hará esta distinción en el momento de la búsqueda.

Desde Arriba

: Inicia el proceso de búsqueda desde el primer registro.

Búsqueda por semejanza

: Sin duda otra opción interesante dentro de esta potente función de búsqueda. Se trata de localizar términos semejantes al patrón de búsqueda. Activa esta casilla y haz clic en el pequeño botón situado a la derecha para mostrar el cuadro de diálogo que aparece en la figura 4.10.

Figura 4.10

En el cuadro de diálogo

Búsqueda por semejanza

encontrarás diferentes elementos de configuración cuyo significado es el siguiente:

Intercambiar caracteres

: Indica el número de caracteres que puede cambiar el programa para identificar palabras similares. Por ejemplo, si decides utilizar el valor 1 para esta opción, teja y toja se considerarán palabras similares.

Agregar caracteres

: En este caso, el programa podrá utilizar el número de caracteres extras que indique aquí para encontrar términos semejantes. Por ejemplo, si el término de búsqueda es Panel, la palabra Paneles se considerará similar para la herramienta de búsqueda si decides añadir 2 caracteres.

Eliminar caracteres

: Igual que ocurre con la opción anterior, pero esta vez eliminando caracteres. Siguiendo con el mismo ejemplo, si buscas Panel, la palabra

Pan

se considerará similar.

Combinar

: Permite utilizar al mismo tiempo todas las opciones anteriores para localizar términos semejantes según los valores introducidos en:

Intercambiar caracteres

,

Agregar caracteres

y

Eliminar caracteres

.

« Anterior | Siguiente »

Expresiones comodín

Las expresiones comodín son un conjunto de reglas que permiten ampliar las posibilidades de la herramienta de búsqueda. Más concretamente, puedes usar determinados caracteres como “comodines” para localizar términos similares. Por ejemplo, si escribes Cas* en la herramienta de búsqueda como muestra la figura 4.11, el programa considera válidas todas aquellas palabras que comiencen por Cas, es decir, Casa, Caserón, Casucha, etcétera.

Figura 4.11

Los caracteres comodín son dos: el asterisco “*” y la interrogación “?”

El

asterisco

sustituye a cualquier número de caracteres. Por lo tanto si escribes “Per*”, el programa mostrará resultados como: Perro, Perico, Perrito, etcétera.

La

interrogación

, en cambio, sustituye a un único carácter. En este caso si escribes “To?a”, el programa mostrará resultados como: Toga, Toca o Toda.

Importante

Recuerda que es imprescindible marcar la casilla

Expresión comodín

para utilizar tanto el

*

como la

?

en el término de búsqueda. En caso contrario, el programa interpretará estos caracteres tal como son.

« Anterior | Siguiente »

¿Qué significa NULL en OpenOffice Base?

Null

es un término habitual no sólo en OpenOffice Base sino en la mayoría de los Sistemas Gestores de Bases de Datos. Esta constante hace referencia a un campo vacío o que contiene un valor indeterminado. Por ejemplo, si quieres buscar todos aquellos registros donde un campo esté vacío podrás utilizar NULL.

Cuando hemos visto las posibilidades del cuadro de diálogo Buscar, su primera sección contenía estas dos opciones como puedes ver en la figura 4.12:

Contenido del campo es NULL

.

Contenido del campo no es NULL

.

Con ellas podrás localizar todos aquellos registros que contengan este valor en el campo seleccionado.

Figura 4.12

« Anterior | Siguiente »

Editar y ejecutar consultas una vez creadas

Con las consultas creadas puedes llevar a cabo diferentes operaciones según tus necesidades con los iconos que se describen en la figura 4.13 y que comentamos a continuación:

Para ejecutar la consulta directamente haz doble clic sobre su nombre y al instante se mostrarán los resultados en la ventana.

Si lo que necesitas es editar la consulta para realizar cualquier modificación sobre ella, haz clic sobre el nombre de la consulta para seleccionarla y después utiliza el botón

Editar

de la barra de herramientas.

También puedes cambiar el nombre de cualquier consulta con tan sólo seleccionarla y hacer clic después en el botón

Cambiar nombre

.

Para eliminar una consulta de la lista, haz clic sobre ella para seleccionarla y después pulsa la tecla Supr. Antes de borrarla definitivamente un cuadro de diálogo te pedirá que confirmes la operación.

Figura 4.13

Importante

Debes estar seguro antes de eliminar una consulta, ya que OpenOffice Base no permite deshacer esta operación.

« Anterior

Ordenar y filtrar registros

Las consultas son objetos de la base de datos que contemplan entre sus funciones principales el filtrado y la ordenación de información obtenida directamente desde tablas y otras consultas. Si bien esto es cierto, también existe la posibilidad de recurrir a herramientas de ordenación y filtrado para organizar los datos del resultado de la búsqueda.

Objetivos

Cuando el volumen de los resultados de nuestras consultas sea importante debemos recurrir a las herramientas de ordenación y filtrado disponibles en OpenOffice Base. En los siguientes apartados aprenderemos a:

Utilizar la ordenación automática, la más sencilla.

Mejorar los resultados mediante los métodos de ordenación avanzada.

Trabajar con el autofiltro y con los filtros más complejos.

Eliminar filtros.

Reconocer los diferentes operadores de comparación.

Siguiente »

Ordenación automática

Si lo único que necesitas es ordenar los resultados de la consulta utilizando como criterio un único campo, lo más sencillo es utilizar los botones que hemos resaltado en la figura 4.14. Más concretamente:

Haz clic sobre el nombre del campo para seleccionar la columna por la que se ordenarán los datos.

Utiliza los botones

Ordenar ascendente

u

Ordenar descendente

.

Figura 4.14

« Anterior | Siguiente »

Ordenación avanzada

Si necesitas ordenar sobre más de un campo, entonces debes recurrir al botón

Ordenar

para tener acceso al cuadro de diálogo que puedes ver en la figura 4.15.

Figura 4.15

Nota

El cuadro de diálogo

Orden

permite ordenar utilizando un máximo de tres campos.

Actividad 2

Selecciona en la primera lista el nombre de campo cuyo contenido usarás como referencia. Por ejemplo,

Apellidos

.

En la lista de la derecha, en el sentido de la ordenación, selecciona

Ascendente

para obtener un listado alfabético de alumnos.

Como segundo criterio de ordenación utiliza el

Nombre

. Por lo tanto, en la línea precedida por la palabra después despliega la primera lista y selecciona el campo

Nombre

. Como sentido de ordenación puedes utilizar

Ascendente

.

Para terminar, haz clic en

Aceptar

y comprueba los resultados.

« Anterior | Siguiente »

Autofiltro

El filtrado de registros ayuda en aquellos casos donde el resultado de la consulta es muy amplio y necesitas sólo parte de la información que muestra. En la figura 4.16 puedes ver los botones que te permitirán trabajar con filtros dentro del resultado de una consulta.

Figura 4.16

Actividad 3

El modelo de filtro más sencillo se denomina Autofiltro y funciona del siguiente modo:

Abre la consulta que muestra el listado de alumnos y haz clic sobre alguno de los valores del campo

Nombre

para seleccionarlo.

A continuación, selecciona el botón

Autofiltro

de la barra de herramientas. Comprueba en la figura 4.17 cómo el resultado son todos aquellos registros que contienen el mismo valor en el campo

Nombre

.

Figura 4.17

« Anterior | Siguiente »

Filtro estándar

En el caso de necesitar más control sobre la selección de registros puedes recurrir al

Filtro estándar

. Observa a continuación cómo mostrar únicamente aquellos alumnos nacidos en el año 1990.

Actividad 4

En la consulta que muestra el listado de alumno, haz clic en el botón

Filtro estándar

para mostrar el cuadro de diálogo de la figura 4.18.

En la primera lista denominada

Nombre del campo

selecciona

FechaNacimiento

.

Ahora en la lista

Condición

selecciona el símbolo

>=

correspondiente con la expresión mayor o igual.

En el campo

Valor

debes escribir 01/01/1990. Al terminar, OpenOffice Base incluirá almohadillas al principio y al final de modo que la expresión sea correcta.

Figura 4.18

Con los pasos anteriores has definido el límite inferior de la selección; ahora tienes que hacer lo mismo para el límite superior. Haz clic en el botón

Filtro estándar

para mostrar el cuadro de diálogo del mismo nombre.

De nuevo, pero en esta ocasión en la segunda fila, selecciona la lista

Nombre del campo

y elige de nuevo

FechaNacimiento

.

En la lista Condición selecciona el símbolo <= correspondiente con la expresión menor o igual.

Por último, escribe en el campo

Valor

la expresión #31/12/1990#. Después de realizar estos pasos, el cuadro de diálogo debe tener un aspecto similar al que muestra la figura 4.19.

Para finalizar, haz clic en

Aceptar

y la vista previa mostrará los registros filtrados.

Figura 4.19

« Anterior | Siguiente »

Eliminar filtro

Para devolver los resultados de la consulta a su aspecto inicial y deshacer los cambios generados por la aplicación de uno o varios filtros, debes utilizar el botón

Eliminar filtro

situado en la barra de herramientas como puedes ver en la figura 4.20.

Figura 4.20

« Anterior | Siguiente »

Operadores de comparación

Los operadores de comparación no sólo se utilizan en los filtros. Como podrás comprobar son un elemento fundamental dentro de la estructura de consultas más complejas y elaboradas. Para que no tengas ningún problema con ellos aquí tienes una tabla con los que más se utilizan.

Operador | Se lee | Resultado
= | Igual a | Devuelve los registros que coinciden con la condición.
< | Menor que | Muestra aquellos registros cuyos valores son estrictamente menores que la condición.
> | Mayor que | Muestra aquellos registros cuyos valores son estrictamente mayores que la condición.
<= | Menor o igual que | Devuelve los registros cuyos valores son menores o iguales a la condición.
>= | Mayor o igual que | Devuelve los registros cuyos valores son mayores o iguales a la condición.
<> | Distinto de | Sólo muestra aquellos registros que tienen valores distintos a la condición.

« Anterior

Más información sobre el Diseñador de consultas

Como habrás podido comprobar el

Diseñador de consultas

es el elemento principal a la hora de componer, editar y ejecutar consultas en OpenOffice Base. Por este motivo es imprescindible conocer a fondo todos sus elementos si quieres aprovechar las posibilidades que nos ofrece.

Objetivos

Los propósitos para los siguientes apartados serían los siguientes:

Aprender a modificar la posición de los campos durante el diseño de la consulta.

Reconocer los diferentes elementos que componen la rejilla de diseño: Alias, Orden, etcétera.

Utilizar los atajos de teclado más comunes.

Siguiente »

Tareas sencillas

En la parte superior del

Diseñador de consultas

se encuentra un espacio reservado para colocar las tablas que utilizaremos en el diseño de la consulta. Estas tablas pueden modificar su posición para mejorar su visibilidad y el acceso a los campos. Lleva a cabo las siguientes operaciones para comprobarlo.

Actividad 5

Haz clic sobre el nombre de la tabla y arrástrala hasta donde deseas para cambiar la posición de la tabla.

Coloca el ratón en algún extremo, haz clic y arrastra para cambiar el tamaño de la tabla como muestra la figura 4.21. Esta acción puede ayudarte a mostrar mejor los campos que contiene.

Para añadir nuevas tablas utiliza este botón

Para eliminar cualquiera de las tablas, haz clic para seleccionarla y pulsa la tecla Supr.

Figura 4.21

Pero sin lugar a dudas el espacio más importante del diseñador es la parte inferior donde se establecerá el diseño de la consulta y donde encontrarás los campos que conforman el diseño. Si deseas eliminar cualquiera de ellos, basta con hacer clic con el botón derecho sobre su encabezado y seleccionar el comando

Eliminar

como puedes ver en la figura 4.22.

Figura 4.22

Si necesitas que los campos aparezcan de una forma determinada para mejorar la comprensión de los resultados de la consulta, también puedes modificar la posición de cualquiera de ellos. Prueba lo siguiente:

Actividad 6

Haz clic sobre el encabezado del campo que quieres cambiar de posición.

A continuación, y sin soltar el botón izquierdo del ratón, arrastra hacia la derecha o la izquierda según necesites.

A medida que avances comprueba cómo una flecha de color negro te indica la posición donde será colocado el campo. Observa la figura 4.23 para entenderlo mejor.

Figura 4.23

Nota

La posición de un campo no afecta al resultado de la consulta, simplemente modifica el orden en que aparecen los campos en la vista previa.

« Anterior | Siguiente »

Rejilla de diseño

Para cada campo, se encuentran disponibles una serie de elementos que permiten configurar determinados aspectos de la consulta como puedes ver en la figura 4.24. Lo habitual es utilizar los valores

Campo

y

Tabla

pero existen algunos más.

Figura 4.24

Truco

En la parte superior de la ventana de diseño de consulta encontrarás varios iconos que permiten ocultar o mostrar algunas de las filas de la rejilla de diseño, concretamente: Funciones, Nombre de la tabla y Alias.

« Anterior | Siguiente »

Campo

Como puedes imaginar, y dado que ya la has utilizado, la función de esta línea no es otra que hacer referencia al campo de la tabla cuya información quieres mostrar.

Si seleccionas este campo, a la derecha aparecerá un botón que permitirá seleccionar cualquier otro campo de la tabla. Si utilizas este método en una columna vacía, será otra buena forma de añadir campos al diseño de una consulta como puedes ver en la figura 4.25. Utiliza el método que te resulte más cómodo en cada caso.

Figura 4.25

« Anterior | Siguiente »

Alias

En muchos casos los nombres asignados a los campos de la tabla puede que no sean lo suficientemente descriptivos como para entender correctamente el nombre de la consulta. Para solucionar este inconveniente puedes utilizar la línea

Alias

de la vista Diseño como muestra la siguiente actividad.

Actividad 7

Toma como referencia una consulta sencilla sobre la tabla Alumnos y fíjate en el campo

Fecha Nacimiento

.

Haz clic en la línea

Alias

de este campo y escribe

Fecha de Nacimiento

como muestra la figura 4.26.

Ejecuta de nuevo la consulta pulsando la tecla F5 o utiliza el botón

Ejecutar

de la barra de herramientas. Observa como el nombre del campo ha cambiado y ahora aparece el texto que has utilizado en la línea

Alias

.

Figura 4.26

Tabla

Esta línea muestra la tabla asociada al campo. En el ejemplo visto hasta ahora no tiene mucho sentido esta utilidad ya que sólo utilizabas una tabla, pero cuando diseñes consultas más complejas donde intervengan varias tablas será un elemento importante que no debes perder de vista. En la figura 4.27 puedes ver un ejemplo.

Figura 4.27

« Anterior | Siguiente »

Nota

El texto usado como alias de un campo admite espacios entre palabras y otros caracteres especiales no permitidos en el nombre de los campos.

« Anterior | Siguiente »

Orden

Si el campo

Orden

de algún campo queda vacío, OpenOffice Base no lo utiliza como referencia para ordenar el resultado de la consulta. En cambio, si deseas mostrar los registros ordenados deberás elegir aquí una de las dos posibilidades:

Ascendente

o

Descendente

.

Podrás utilizar tantos campos como necesites para ordenar el resultado de la consulta, pero debes tener en cuenta que cuando utilices más de uno, la prioridad de orden será de izquierda a derecha. Veamos un ejemplo para entenderlo mejor.

Actividad 8

Recurrimos de nuevo a la consulta sencilla diseñada sobre la tabla

Alumnos

. En este caso, nuestro propósito será obtener un listado alfabético de alumnos, teniendo en cuenta que, si existen hermanos con el mismo apellido, el orden se resolverá según su nombre de pila. Por lo tanto, haz clic con el botón derecho sobre esta consulta y selecciona el comando

Editar

.

Actualmente los campos de la vista Diseño están situados de la siguiente forma:

Nombre

,

Apellidos

,

Expediente

y

Fecha de Nacimiento

. Por ahora, no cambies nada de esto.

Haz clic en la línea

Orden

del campo

Nombre

, selecciona el pequeño botón que aparece a la derecha y elige la opción

Ascendente

.

Haz lo mismo con el campo

Apellidos

.

Después, ejecuta la consulta (

Editar

>

Ejecutar consulta

) o

F5

y comprobarás que el resultado no es el esperado, ya que OpenOffice Base ha utilizado como primer criterio de ordenación el nombre y necesitábamos que fuera el apellido del alumno. Esto ocurre porque al utilizar más de un criterio de ordenación, la prioridad más alta corresponde a los campos situados más a la izquierda.

Para solucionarlo, haz clic sobre el encabezado del campo

Apellidos

(la celda gris sin texto situada sobre la celda Apellidos) y arrástralo hacia la izquierda hasta que se encuentre justo delante del campo Nombre. Ejecuta de nuevo la consulta, y ahora sí, los resultados serán los deseados como puedes ver en la figura 4.28.

Figura 4.28

« Anterior | Siguiente »

Visible

Lo único que se muestra en esta línea es una casilla de verificación que permitirá mostrar o no un campo concreto en el resultado de la consulta.

El verdadero sentido de esta funcionalidad lo encontrarás en aquellas ocasiones en las que utilices campos como criterio de ordenación o para sumar valores que no deseas que aparezcan en el resultado.

Actividad 9

Crea una nueva consulta, recuerda que debes seleccionar la opción

Crear consulta

en la vista Diseño entre las tareas disponibles para consultas. Para esta actividad utiliza la tabla

Departamentos

.

Arrastra los dos únicos campos que contiene esta tabla para componer el diseño de la consulta. El propósito es ordenar por el código de departamento pero que en el resultado aparezca sólo el nombre del departamento.

En la línea

Orden

del campo

IdDepartamento

, selecciona la opción

Ascendente

.

Haz clic sobre la casilla de verificación

Visible

del campo

IdDepartamento

para evitar que este campo se muestre como puedes ver en la figura 4.29.

Por último ejecuta la consulta, pulsando la tecla F5 o utilizando el botón

Ejecutar

de la barra de herramientas.

Figura 4.29

« Anterior | Siguiente »

Función

Las consultas no sólo permiten seleccionar ciertos registros de una o varias tablas, también existe otra funcionalidad importante denominada de agrupación o totales. Añadiendo ciertas funciones puedes sumar, contar, hallar la media, calcular el máximo o el mínimo de una serie de valores.

Observa en la figura 4.30 el aspecto de una consulta que nos permite contar el número de alumnos que tiene cada curso.

Figura 4.30

« Anterior | Siguiente »

Criterio

Las opciones de

Criterio

permiten crear consultas complejas utilizando los operadores lógicos AND y OR en función del lugar donde coloquemos cada criterio. Horizontalmente equivalen al operador AND y verticalmente al operador OR.

La forma de sacar todo el partido de esta importante funcionalidad queda fuera de nuestros propósitos en este momento. En cualquier caso la figura 4.31 muestra un ejemplo.

Figura 4.31

« Anterior | Siguiente »

Atajos de teclado

Si deseas ahorrar tiempo mientras trabajas con consultas en OpenOffice Base es conveniente conocer los siguientes atajos de teclado:

F4

: Muestra u oculta la vista previa de la consulta en la ventana de diseño.

F5

: Equivale a utilizar el botón

Ejecutar consulta

, mostrando los resultados en la vista previa.

F7

: Muestra el cuadro de diálogo

Agregar tabla o consulta

para incluir nuevos datos al diseño.

« Anterior

Crear consultas más complejas

Consultas con criterios, operadores Y y O

Si queremos exprimir al máximo las consultas en OpenOffice Base en particular y en cualquier base de datos en general, es necesario dominar las consultas. Pero no sólo las más simples y evidentes, cuando nuestra base de datos tenga un número importante de tablas las consultas sencillas serán insuficientes y necesitaremos algo más.

Las consultas con varios criterios permiten seleccionar de forma precisa los registros que necesitas en cada momento. En este sentido es importante diferenciar claramente entre los operadores lógicos más importantes Y (AND) y O (OR). Para entender cómo funciona cada uno de ellos lo mejor es ver algunos ejemplos.

Objetivos

Crear consultas con criterios.

Familiarizarnos con los operadores AND y OR.

Combinar varios operadores en una misma consulta.

Establecer el modelo de unión correcto entre las tablas que intervienen en una consulta.

Diseñar consultas de agrupación y totales.

Siguiente »

Uso del operador Y (AND)

El operador Y obliga a que se cumplan TODOS los criterios para seleccionar un registro. Por ejemplo, si deseas conocer cuántos encuentros tienen lugar en una fecha concreta y en una de las pistas disponibles de nuestro centro deberías diseñar la consulta que muestra la siguiente actividad.

Nota

Si lo deseas, haz clic aquí para descargar una base de datos con todo lo necesario para realizar las actividades del módulo sin problemas.

Actividad 10

Abre la base de datos y selecciona

Consultas

en el margen izquierdo y haz clic sobre

Crear consulta

en la vista Diseño

. En este caso utiliza la tabla

Calendario.

Arrastra los campos

Jornada

,

Fecha

,

Hora

y

Lugar

. En principio, estos datos serán suficientes para entender el significado del operador Y.

En la línea

Criterio

del campo

Fecha

escribe 12/02/07. Al salir del campo, OpenOffice Base corrige la entrada y añade automáticamente una almohadilla al principio y al final de la fecha, ya que ésta es la forma correcta de introducir una fecha en un campo de criterio.

Ahora, en la línea

Criterio

del campo

Lugar

escribe Pista 1. En este caso, OpenOffice Base también corrige la entrada y añade comillas simples al principio y al final. De nuevo, el programa indica de esta forma la sintaxis necesaria para incluir un campo de texto en un criterio.

Si ejecutas ahora la consulta, recuerda pulsar la tecla

F5

. El resultado serán todos aquellos registros que cumplan las dos condiciones

AL MISMO TIEMPO

como puedes comprobar en la figura 4.32. Es decir, que la fecha sea el 12/2/07 y que el lugar del encuentro corresponda con la pista 1. En cualquier otro caso no se mostrará el registro.

Figura 4.32

En el diseño de consulta, los criterios que se encuentren en la misma línea se interpretan como condición Y (AND). Por lo tanto, se tendrán que cumplir todas las condiciones para que el registro se muestre en el resultado de la consulta.

A continuación, un ejemplo de otra situación habitual en el operador AND: utilizar el mismo campo para el criterio Y (AND). Busca los alumnos que hayan nacido en 1992.

Actividad 11

Crea una nueva consulta, y esta vez utiliza la tabla

Alumnos

.

Arrastra todos los campos hasta el área de diseño de la ventana de consulta.

Ahora en la línea

Criterio

del campo

FechaNacimiento

escribe la siguiente expresión:

>= #01/01/1992# Y <= #31/12/1992#.

Ejecuta la consulta para comprobar los resultados.

En este caso, el operador Y obliga a que sólo se muestren los registros cuya fecha esté comprendida entre las dos indicadas. La diferencia es que esta vez usas un único campo para componer la condición como muestra la figura 4.33.

Figura 4.33

Truco

Un truco para colocar campos en la consulta más rápidamente es hacer doble clic sobre el nombre del campo y automáticamente se colocará en la siguiente columna libre.

« Anterior | Siguiente »

Uso del operador O (OR)

Las condiciones compuestas mediante el operador O (OR) son menos restrictivas y es suficiente con que se cumpla una de las condiciones para añadir el registro al resultado de la consulta.

Utilizaremos ahora la tabla

Tutorías

para ver un sencillo ejemplo donde se ilustra el modo de funcionamiento del operador O (OR). La idea es buscar todos los datos relacionados con las tutorías que tengan lugar en lunes o jueves.

Nota

En principio, en los campos

Profesor

y

Grupo

aparece el identificador de cada elemento en lugar de los valores del mismo, sin lugar a dudas, con esto conseguiríamos que el resultado fuera mucho más legible. La solución a este problema pasa por relacionar información de varias tablas en la misma consulta.

Actividad 12

Abre la base de datos si es que no la tienes abierta y crea una nueva consulta. En este caso utiliza la tabla

Tutorías

de la base de datos.

Añade todos los campos de la tabla. Recuerda que basta con hacer doble clic sobre el nombre del campo para añadirlo a la siguiente columna vacía de la rejilla de diseño.

A continuación, en la línea

Criterio

del campo

DiaSemana

escribe

Lunes

(sin comillas, de esto ya se encarga OpenOffice Base).

Bajo la casilla anterior, justo en la primera línea escribe

Jueves

. Después de este paso, el aspecto de la consulta debe ser similar al que muestra la figura 4.34.

Haz clic en

F5

para mostrar el resultado y revísalo durante unos instantes. Comprueba que aparecen todos los registros que contienen alguno de los dos valores del criterio.

Como puedes comprobar, aparecen registros que tienen alguno de los dos valores que has indicado, es decir, basta con cumplir una de las condiciones para añadir el registro a los resultados.

Figura 4.34

Importante

Cuando utilices el operador O (OR) sobre más de un campo, las condiciones deben estar en filas distintas. Si se encuentran en la misma fila se interpretan como condiciones Y (AND).

« Anterior | Siguiente »

Combinación de operadores lógicos Y y O

No es necesario utilizar los operadores Y y O de forma individual. OpenOffice Base permite combinarlos para ajustar el diseño de la consulta a cada necesidad.

Para nuestra siguiente actividad seleccionaremos todos los alumnos nacidos en 1992 y que se llamen David o Mario. El diseño de esta consulta sería el siguiente:

Actividad 13

Crea una nueva consulta y añade la tabla

Alumnos

.

A continuación, incluye todos los campos de la tabla en la rejilla de diseño.

En la primera línea de criterio del campo

Nombre

escribe

David

. También en esta primera línea pero bajo el campo

FechaNacimiento

escribe la expresión:

>= #01/01/1992# Y <= #31/12/1992#

.

Ahora, en la segunda línea del campo

Nombre

escribe

Mario

y en la misma línea del campo

FechaNacimiento

repite la expresión anterior, es decir:

>= #01/01/1992# Y <= #31/12/1992#

.

El diseño de la consulta debe ser similar al que puedes ver en la figura 4.35.

La lectura de la consulta sería algo así como:

Selecciona todos los registros de la tabla Alumnos cuyo nombre sea David Y hayan nacido en 1992,

O

su nombre sea Mario

Y

hayan nacido en 1992

.

Como puedes comprobar en la figura 4.35

los criterios situados en la misma línea corresponden a condiciones obligatorias del operador

Y

.

O

que obligan a cumplir al menos una de las condiciones

Mientras que los situados en la misma columna corresponden con criterios .

Figura 4.35

« Anterior | Siguiente »

Consultas sobre varias tablas

Uno de los objetos que mejor aprovechan las posibilidades de las relaciones entre tablas son las consultas. No resulta complicado buscar casos prácticos para demostrarlo. Por ejemplo, ¿qué tal si diseñas una consulta para obtener todos los equipos que participan en las distintas competiciones junto con los nombres de los alumnos que los componen? Pues bien, esto sólo es posible si utilizas dos tablas y las relacionas para obtener los resultados combinados.

Antes de diseñar consultas con varias tablas es importante revisar el contenido de la ventana Diseño de relación, es importante, que se encuentren correctamente definidos los enlaces entre las distintas tablas antes de combinarlas en una consulta. Si lo deseas, haz clic aquí para descargar una base de datos con todo lo necesario para realizar las actividades del módulo sin problemas y con las relaciones que puedes ver en la figura 4.36.

Figura 4.36

Nota

Recuerda que para añadir tablas a la ventana Diseño de relación, debes utilizar el botón

Agregar tabla

botón agregar tabla situado en la barra de herramientas. Después, para vincular dos tablas haz clic en el campo que desees utilizar de la primera tabla y arrástralo hasta el campo elegido en la tabla de destino.

Actividad 14

En la siguiente actividad, diseña una consulta que permita conocer los integrantes de cada uno de los equipos que participan en las actividades deportivas del centro.

Haz clic en la opción

Crear consulta

en la vista Diseño y añade las siguientes tablas:

Alumnos

,

Participantes

y

Equipos

. Como puedes comprobar en la figura 4.37, al estar definidas las relaciones previamente, OpenOffice Base ya muestra los campos que se encuentran enlazados.

Figura 4.37

Ahora toca el turno de incluir en el diseño los campos necesarios. Teniendo en cuenta que el propósito es conocer los miembros de un equipo, los campos podrían ser los siguientes: De la tabla

Equipos

selecciona el campo

Nombre

, y de la tabla

Alumnos

elige los campos

Apellido

y

Nombre

.

Para mejorar la comprensión de la consulta, ordena en primer lugar por el nombre del equipo y a continuación por el apellido del alumno. Para hacerlo, despliega la lista de opciones de la línea

Orden

y en ella, selecciona

Ascendente

.

También puede resultar interesante utilizar la opción

Alias

para el campo

Nombre

de la tabla

Equipos

y así diferenciarlo del nombre del alumno. Por ejemplo podemos escribir: Equipo en la línea

Alias

de este campo.

Después de ejecutar la consulta, podrás comprobar que obtienes el resultado deseado como aparece en la figura 4.38.

Figura 4.38

Después del último ejemplo, quizás te haya surgido más de una duda, pero posiblemente la más importante será la de buscar el significado de la tabla

Participantes

, de la que además no has seleccionado ningún campo pero ha permitido obtener los resultados deseados.

No debes olvidar que el objetivo de las bases de datos relacionales como OpenOffice Base es estructurar de manera óptima la información almacenada para evitar redundancias y así mejorar su rendimiento. Podrías pensar que por qué no puedes tener una única tabla con el nombre de cada equipo y de todos los alumnos que lo componen y de esta forma olvidarte de complejas relaciones. Pues bien, actuando de esta forma lo único que conseguirías sería tener mucha información repetida o redundante en las tablas y poca eficacia a la hora de recuperar los datos.

Nota

A medida que aumenten tus conocimientos sobre las bases de datos, comprobarás que sin las relaciones entre tablas las bases de datos no tendrían mucho sentido. La práctica y el uso harán que aproveches cada vez mejor esta importante característica.

Actividad 15

Diseña una consulta que muestre todo el plan de tutorías del centro. Evidentemente, debemos vincular las tablas

Profesores

y

Cursos

para que aparezca el nombre completo de cada profesor y la denominación del curso (1A, 1B, 2A…). Para que tengas alguna pista, en la figura 4.39 puedes ver el aspecto que deberían tener las relaciones en la ventana de diseño de consultas.

Figura 4.39

« Anterior | Siguiente »

Tipos de unión

Después de añadir las tablas a la consulta, existe la posibilidad de configurar la forma en la que se vincularán los registros para mostrar la información que necesitas en cada caso. Haz doble clic sobre la línea que representa la relación entre las dos tablas y tendrás acceso al cuadro de diálogo que aparece en la figura 4.40.

Figura 4.40

Del cuadro de diálogo

Propiedades de unión

debes prestar atención principalmente a la lista desplegable

Tipo

donde encontraremos las siguientes opciones:

JOIN interno

: El resultado muestra sólo los registros en los que el campo vinculado de ambas tablas sea el mismo. Observa la figura 4.41.

Figura 4.41

JOIN

izquierdo

: En este caso, el resultado muestra todos los registros de la tabla izquierda, y sólo aquellos de la tabla derecha donde coincida el campo vinculado. Observa la figura 4.42.

Figura 4.42

JOIN

derecho

: Con este modelo ocurriría justo lo contrario, aparecerían todos los registros de la tabla derecha y sólo aquellos de la tabla izquierda en los que coincidan los campos vinculados. Observa la figura 4.43.

Figura 4.43

Nota

El

JOIN cruzado

se utiliza muy poco por el volumen de los resultados. Muestra para cada uno de los registros de la primera tabla todas sus posibles combinaciones con la tabla secundaria. Se trata de aplicar las propiedades del producto cartesiano a la combinación de dos tablas.

« Anterior | Siguiente »

Consultas de agrupación y totales

En la rejilla de diseño de la ventana de diseño de consulta la línea

Función

permite realizar determinadas operaciones sobre el conjunto de registros obtenidos por la consulta. Concretamente las que usaremos con más frecuencia son:

Sumar todos los valores de un grupo de registros.

Hallar el valor medio.

Contar el número total de registros.

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.

Para entender esta información, a continuación realiza un sencillo ejemplo: se trata de contar los alumnos que tiene cada grupo, 1A, 1B, 2A…

Actividad 16

Crea una nueva consulta en la vista Diseño y añade la tabla

Alumnos

.

Añade los campos

Grupo

y

Expediente

de la tabla a la rejilla de diseño en este mismo orden.

Haz clic en la línea

Función

del campo

Grupo

y en la lista desplegable que aparece selecciona

Agrupar

. De esta forma indicamos a OpenOffice Base que este campo será el que utilicemos para saber qué es lo que deseamos contar, sumar o cualquiera de las funciones disponibles. En nuestro ejemplo pretendemos saber cuántos alumnos tiene asociado cada grupo.

Ahora, en la línea

Función

del campo

Expediente

, debes seleccionar la función

Contar.

Una vez decidido el campo de agrupación, en nuestro caso

Grupo

, ya podemos decidir qué tipo de operación deseamos aplicar; en nuestro caso, simplemente contarlos.

Para mejorar el aspecto de la consulta, utiliza la línea

Alias

del campo

Expediente

y escribe:

Total grupo

. Observa la figura 4.44.

Ejecuta la consulta y comprueba el resultado.

Figura 4.44

« Anterior

Asistente para consultas

El Asistente para consultas te ayudará a crear consultas de forma rápida y sencilla. Si bien es cierto que según la complejidad de las consultas, no siempre podrás recurrir a esta herramienta.

Objetivos

Crear una nueva consulta desde el

Asistente para consultas

y comprobar cómo se pueden solucionar los pequeños problemas que nos podemos encontrar.

Siguiente »

Primer paso

El asistente para consultas resulta muy intuitivo, observa a continuación cómo utilizarlo paso a paso:

Abre la base de datos y en la ventana principal de OpenOffice Base comprueba que se encuentra seleccionado el objeto

Consultas

.

Haz doble clic sobre la opción denominada

Usar el asistente para crear consultas

.

En el primer paso del asistente utiliza la lista

Tablas

para seleccionar la tabla de la base de datos que servirá de origen de datos para obtener los registros que necesitas.

Para incluir los campos en la consulta utiliza los botones que hemos resaltado en la figura 4.45.

Figura 4.45

Nota

Si lo deseas, haz clic aquí para descargar una base de datos con todo lo necesario para realizar la actividad sin problemas.

« Anterior | Siguiente »

Segundo paso

En el segundo paso del asistente que muestra la figura 4.46, debes indicar el criterio de ordenación para el resultado de la consulta. Despliega la lista para elegir un campo y después utiliza el botón

Ascendente

o

Descendente

.

Figura 4.46

« Anterior | Siguiente »

Tercer paso

Como suele ser habitual debemos utilizar el botón

Siguiente

para continuar con el siguiente paso del Asistente. En la nueva ventana que muestra la figura 4.47 establece los criterios de selección de la consulta, de modo que muestre sólo aquellos datos que deseamos en cada caso. La forma de hacerlo es muy sencilla, primero eliges el campo, después el criterio y finalmente, el valor. Pero… ¿qué ocurre con las condiciones tipo

Y(AND)

o tipo

O (OR)

? Pues bien, marcar el primero de los botones de opción denominado

Coincidencia con todos los siguientes

, equivale a utilizar el

operador Y

, mientras que si te decides por el segundo,

Coincidencia con cualquiera de los siguientes

, estarás aplicando el

operador O

.

Figura 4.47

« Anterior | Siguiente »

Pasos finales

Una vez seleccionado el criterio de selección para la consulta y tras hacer clic en

Siguiente

, el nuevo paso está relacionado con la creación de consultas de agrupación y el uso de funciones sobre los campos.

Si decidimos no seleccionar nada en el paso anterior, el asistente nos llevará directamente hasta el séptimo paso, donde ofrece la oportunidad de cambiar el nombre de los campos por otros más descriptivos. Lo mismo que ya sabemos hacer con la función alias en la ventana de diseño de consultas.

En el último paso (figura 4.48), indicaremos un nombre para la consulta y podremos ver un resumen completo con las opciones elegidas en los distintos pasos.

Figura 4.48

« Anterior | Siguiente »

Ejemplo práctico

En la siguiente actividad crearás un listado de todos los alumnos que componen cada uno de los equipos que participan en la competición. A primera vista puede parecer una tarea sencilla pero tiene un pequeño inconveniente que resolveremos y nos ayudará a mejorar nuestra base de conocimiento sobre las consultas.

Actividad 17

Selecciona la opción

Usar el asistente para crear consultas

.

En la lista desplegable

Tablas

del primer paso, selecciona la tabla

Equipos

y añade el campo

Nombre

.

A continuación despliega de nuevo la lista y esta vez, selecciona la tabla

Alumnos

y añade los campos:

Nombre

y

Apellidos

. Observa la figura 4.49 y haz clic en

Siguiente

.

Figura 4.49

Como criterio de ordenación, en la primera lista elige

Equipos.Nombre

para agrupar los alumnos que conforman cada equipo. Como segundo criterio puedes usar el apellido de los alumnos. Haz clic en

Siguiente

.

No vas a realizar ningún tipo de filtrado de datos por lo que ve al siguiente paso.

Como verás existe algo de ambigüedad en cuanto a los nombres de los campos por lo que puedes aprovechar la propiedad

Alias

para mejorar la comprensión de los resultados. Concretamente, para el campo

Equipos.Nombre

escribe

Equipo

.

Haz clic en

Siguiente

y observa el último paso del asistente donde se muestra un resumen del diseño de la consulta.

Escribe un nombre para la consulta y haz clic en

Finalizar

para comprobar los resultados. Observa la figura 4.50.

Figura 4.50

¿Qué ha pasado? Si prestas algo de atención observarás que los resultados no son correctos. Para ver qué ha ocurrido, cierra la vista previa y edita la consulta que acabas de crear con el asistente. Recuerda que para hacerlo debes hacer clic sobre el nombre de la consulta y después, utilizar el botón

Editar botón editar

de la barra de herramientas para mostrar la ventana que puedes ver en la figura 4.51.

Figura 4.51

Es posible que a simple vista no detectes ningún problema, pero si prestas un poco de atención podrás comprobar que no se encuentran definidas las relaciones entre las tablas que forman la consulta y que falta una tabla, ¿cuál? Efectivamente, falta la tabla

Participantes

que contiene la relación de equipos y los alumnos que los forman. El asistente aún no es lo suficientemente potente como para detectar este problema, así que lo tendrás que solucionar tú mismo.

Haz clic en el botón

Agregar tabla o consulta

Botón agregar tabla y añade la tabla

Participantes

a la consulta.

En este caso OpenOffice Base sí ha sido un poco más listo y ha incluido automáticamente las relaciones entre las tres tablas como puedes ver en la figura 4.52.

Ejecuta la consulta y comprueba que ahora el resultado sí es correcto.

Figura 4.52

De este último ejemplo podemos extraer dos conclusiones, por un lado que el

Asistente para consultas

de OpenOffice Base aún no es una herramienta totalmente fiable y que es necesario revisar la consulta generada por esta herramienta. Y por otro lado, has comprobado la importancia de las relaciones en OpenOffice Base.

« Anterior

Informes

Los informes son la herramienta encargada de presentar los datos en papel, perfectamente tabulados y maquetados. Es cierto que para imprimir datos también podemos hacerlo desde las tablas, desde las consultas e incluso desde los formularios, pero el resultado final no sería tan bueno como la presentación de los datos a través de un informe.

OpenOffice Base utiliza Writer como soporte para la generación de informes. Esto supone una gran ventaja a la hora de diseñar nuestros informes por tratarse de una herramienta conocida y de gran versatilidad.

Objetivos

En este módulo aprenderás a:

Utilizar el asistente para diseñar informes de forma rápida y sencilla.

Modificar los informes una vez creados.

Distinguir entre informes estáticos y dinámicos.

Siguiente »

Asistente para informes, paso 1

Para entendernos digamos que un informe de una base de datos se compone de una serie de apartados que permiten presentar la información de manera ordenada facilitando la interpretación de la misma por parte del lector.

Un informe puede contar al comienzo del mismo con una cabecera en la que se incluye el título de dicho informe así como las cabeceras de las columnas que contienen la información. Debajo de las cabeceras aparecen las líneas que contendrán los datos que queremos mostrar, es el cuerpo del informe, y al final del mismo puede aparecer el pie del informe en el que se pueden realizar cálculos sobre los datos que muestra el cuerpo del informe.

Para crear un informe, lo primero que tenemos que hacer es seleccionar el icono

Informes

en el margen izquierdo de la base de datos y en el panel de tareas vemos como única opción

Usar el asistente para crear informe

tal como muestra la figura 5.1.

Figura 5.1

Haz clic sobre la opción

Usar el asistente para crear informe

y tras unos segundos se abrirá una ventana de OpenOffice Writer junto con el primer paso tal como vemos en la figura 5.2.

Figura 5.2

Observa detenidamente y comprueba como en el informe se distinguen varias partes:

Un rectángulo en la parte superior donde aparecerán datos como el título del informe, el autor, la fecha...

Otro espacio en la parte inferior para el pie del informe.

Y finalmente, un rectángulo central, de mayor tamaño en el que aparecerán los datos del informe.

Truco

Un informe puede utilizar como origen de datos tanto tablas como consultas. Las consultas son una gran ayuda para filtrar y seleccionar sólo aquellos datos que deseas mostrar en el informe.

En el primer paso del Asistente, elije la tabla o la consulta origen de los datos del informe y a continuación selecciona los campos que quieres mostrar en el informe.

« Anterior | Siguiente »

Asistente para informes, paso 2

Una vez seleccionados los campos hacemos clic en el botón

Siguiente

para acceder al segundo paso del Asistente que puedes ver en la figura 5.3.

Figura 5.3

En este segundo paso debes elegir el nombre que tendrá cada uno de los campos como cabecera de columna. Por defecto el Asistente utiliza el nombre del propio campo en la tabla o consulta que sirven como origen de datos. Puedes aceptar los nombres que propone el Asistente o escribir el que quieras que aparezca en cada caso.

« Anterior | Siguiente »

Asistente para informes, paso 3

Una vez realizados los cambios correspondientes, haz de nuevo clic en el botón

Siguiente

para acceder al tercer paso de este Asistente.

Figura 5.4

En este paso podrás agrupar los registros que mostrará el informe a partir de los valores de cualquiera de sus campos. En un informe se puede realizar un agrupamiento como máximo por cuatro campos como puedes comprobar en la figura 5.4. Si agrupamos por más de un campo, dichos agrupamientos se van anidando en función del nivel de cada grupo.

Para entenderlo mejor supongamos que hacemos una lista de alumnos de los tres últimos cursos académicos. Esta lista la organizamos en primer nivel por el curso académico y en segundo nivel por el nivel escolar al que pertenece y en tercer nivel por el grupo al que pertenece cada uno dentro del mismo nivel. En este caso, el informe creará un primer nivel de agrupamiento para el curso 2004/05, dentro de él creará un grupo para 1º y dentro de él un grupo para A en el que aparecerá la relación de alumnos que estaban en 1ºA en 04/05. A continuación aparecerá el grupo B con su relación de alumnos. Si no hay más grupos aparecerá 2º con sus correspondientes grupos y así sucesivamente para los tres cursos académicos.

« Anterior | Siguiente »

Asistente para informes, paso 4

Cuando hayamos decidido los campos que utilizaremos para realizar los agrupamientos en el informe hacemos clic en el botón

Siguiente

para acceder al paso cuarto que se muestra en la figura 5.5.

Figura 5.5

En este paso selecciona el criterio de ordenación de campos del informe en función del agrupamiento que hayas elegido. Podemos ordenar por un máximo de cuatro campos y en orden ascendente o descendente. Recuerda que los campos agrupados sólo se pueden ordenar dentro de cada grupo.

« Anterior | Siguiente »

Asistente para informes, paso 5

Una vez decidido el tipo de ordenación que deseas utilizar haz clic en el botón

Siguiente

para acceder al paso quinto que vemos en la figura 5.6.

Figura 5.6

En este paso debes elegir el aspecto externo del informe. Para ello cuentas con el cuadro de lista

Diseño de datos

en el que se muestra un buen número de plantillas predeterminadas. Además, observa cómo al seleccionar cualquiera de los diseños de esta lista se refleja al instante en el informe.

Una vez decidido el diseño para los datos utiliza el cuadro de lista

Diseño de encabezados

y pies de página

para localizar el modelo que más te guste para la presentación de los pies y las cabeceras del informe. Al igual que ocurre con los diseños de datos, con los encabezados y pies de página también puedes comprobar el resultado en la página del informe.

La última decisión que debes tomar en este paso es la orientación del informe: vertical u horizontal. La utilización de una u otra dependerá fundamentalmente de la cantidad de columnas que tenga nuestro informe.

Haz clic en el botón

Siguiente

para acceder al último paso del asistente para la creación de informes.

« Anterior | Siguiente »

Asistente para informes, paso 6

En el último paso del Asistente, lo primero que debes hacer es ponerle el nombre al informe que estás creando como puedes ver en la figura 5.7. Ese nombre será el que aparezca como título en la primera página del informe.

Figura 5.7

A continuación, en la opción denominada

¿Qué clase de informe desea crear?

debes indicar si el tipo de informe que estás creando es un informe estático o dinámico:

Estático

: Si decides que el tipo de informe que vas a crear es un informe estático, OpenOffice Base genera automáticamente el informe con los datos seleccionados, pero no reflejará ningún cambio realizado sobre los datos de origen después de crearlo, de tal forma que si después de crear dicho informe añades o modificas cualquier registro de la base de datos, el informe, al ser estático no lo mostrará.

Dinámico

: En informes del tipo dinámico, OpenOffice Base reflejará cualquier cambio realizado sobre los registros del origen de datos del informe antes de ejecutarlo.

Nota

La elección de uno u otro tipo de informe dependerá fundamentalmente del uso que pretendamos darle a dichos informes. Si se trata de un listado donde los datos no tienen posibilidad de modificación deberías elegir el modelo estático; en caso contrario, utiliza la opción dinámico.

A continuación en

¿Cómo desea proseguir tras crear el informe?

debes indicar la acción que se llevará a cabo cuando pulsemos sobre el botón

Finalizar

. Si eliges

Modificar diseño de informe

al finalizar el asistente OpenOffice edita el informe para realizar sobre él los cambios que estimemos oportunos.

Si eliges

Crear informe ahora

, el informe se guarda y aparecerá en pantalla el resultado para ser impreso tal y como se muestra en la figura 5.8.

Figura 5.8

Actividad 1

Crea un informe utilizando el Asistente que muestre un listado completo de los profesores del centro y sus horarios de tutoría. Si lo deseas, haz clic aquí para descargar una base de datos con todo lo necesario para realizar la actividad sin problemas.

Para que el informe sea realmente útil te recomendamos crear en primer lugar una consulta que combine los datos de las tablas

Profesores

,

Tutorías

y

Cursos

. Después, en el primer paso del Asistente para informes elige como origen de datos la consulta que acabas de crear.

Al tratarse de un informe que toma los datos de una consulta, OpenOffice Base no permite realizar ningún tipo de ordenación en los pasos correspondientes del asistente para Informes. Por este motivo, te recomendamos que utilices las posibilidades de ordenación de las consultas para mostrar el resultado correctamente.

« Anterior | Siguiente »

Modificar un informe

El último paso del Asistente ofrece la posibilidad de generar el resultado del informe o abrirlo en modo edición para modificarlo. Si eliges la primera de las opciones y generas el informe no debes preocuparte si al verlo observas que hay algo que te gustaría cambiar, ya que del mismo modo que podemos modificar las tablas, las consultas y los formularios, también podemos editar cualquier informe sin demasiadas complicaciones.

Para editar un informe, en primer lugar debes seleccionar

Informes

en la ventana principal de OpenOffice Base. A continuación haz clic con el botón derecho sobre el informe que deseas modificar y selecciona

Editar

para abrir la ventana de OpenOffice Writer con el informe que deseas modificar.

Dentro del informe podemos seleccionar todas las líneas de la cabecera, una línea de la misma, o una palabra y modificar el tipo de fuente, el tamaño, el color, el fondo de la fuente, el estilo, etc., es decir, sobre el texto seleccionado podemos realizar cualquiera de los tipos de cambios que efectuamos frecuentemente sobre el texto de un documento. Los mismos tipos de acciones de modificación podemos llevarlos a cabo en los pies del informe.

Truco

No sólo puedes modificar los atributos del texto, también puedes borrar parte del texto o escribir texto nuevo en cualquiera de sus líneas.

Por lo que se refiere al cuerpo del informe podrás comprobar que únicamente muestra la cabecera de cada una de las columnas que hemos pedido que aparezcan en él. Para los datos sólo aparecen meras expresiones para que veamos en ellas los cambios que introduzcamos. Los datos reales no se mostrarán hasta que ejecutes el informe.

Al situar el cursor en cualquier parte del cuerpo del informe comprobarás que automáticamente aparece la barra de herramientas

Tablas

, ya que los datos del cuerpo del informe aparecen representados dentro de una tabla. Por tanto sobre ellos no sólo podemos realizar los cambios que realizamos sobre cualquier tipo de texto, sino que además podemos realizar todo tipo de cambios en las celdas de dicha tabla estableciendo diferente ancho o diferente alto para las columnas o las filas, estableciendo diferentes tipos de líneas para los bordes de las celdas y estableciendo diferentes tipos de relleno para el fondo de las celdas.

El desarrollar todos estos tipos de modificaciones no es objetivo de este curso, por tanto, si quieres profundizar en ellos puedes realizar el curso de “Diseño de presentaciones en la enseñanza” o “Diseño gráfico en la enseñanza”, como ya hemos dicho, ambos del ITE.

Actividad 2

Mejora el informe realizado en la Actividad 1, añadiendo títulos, cambiando el formato de los campos, etcétera.

« Anterior

Informes con Oracle Report Builder

En su configuración original, OpenOffice no ofrece demasiadas posibilidades a la hora de trabajar con informes. Si bien es cierto que en la mayoría de los casos con el asistente tendremos más que suficiente existen determinadas ocasiones en las que necesitaremos algo más de control sobre nuestros proyectos y por qué no, incluso crearlos desde cero, posibilidad que no se encuentra disponible por defecto en OpenOffice Base.

Para solucionar esta situación podemos recurrir a las extensiones de OpenOffice, pero... ¿qué son las extensiones? Pues se trata de complementos que permiten mejorar las funcionalidades originales de la aplicación. Existen extensiones para multitud de propósitos, y en la siguiente dirección puedes encontrar un buen número de ellas:

http://extensions.services.openoffice.org/

Truco

En el margen izquierdo encontrarás diferentes categorías y una potente herramienta de búsqueda para localizar la extensión que necesites o simplemente comprobar las que más utilizan los usuarios de OpenOffice.

Siguiente »

Instalar Report Builder

Oracle Report Builder es una extensión de OpenOffice que mejora las opciones para trabajar con informes, añadiendo nuevas funcionalidades y ofreciendo la posibilidad de crear informes sin utilizar el asistente.

Para disponer de Report Builder lo primero que debemos hacer es descargarlo e instalarlo como se indica a continuación:

Abre tu navegador e introduce la siguiente dirección:

http://extensions.services.openoffice.org/node/79/release

Aparecerá la página que puedes ver en la figura 5.9. En ella, haz clic sobre el enlace que indicamos para descargar la última versión de la extensión Report Builder y tras unos segundos, tendrás el archivo en tu equipo.

Figura 5.9

El siguiente paso será abrir cualquiera de las aplicaciones de OpenOffice, por ejemplo cualquier base de datos, o crear una base de datos en blanco. El único propósito es acceder a la interfaz de OpenOffice por lo que también nos valdría abrir el procesador de textos o la hoja de cálculo.

Haz clic sobre el menú

Herramientas

y después selecciona el comando

Administrador de extensiones

para mostrar el cuadro de diálogo que puedes ver en la figura 5.10.

Con el

Administrador de extensiones

abierto, haz clic en el botón

Añadir

y localiza el archivo

sun-report-builder.oxt

que has descargado previamente.

Haz clic en el botón

Bajar

para llegar al final del contrato de licencia o utiliza la barra de desplazamiento. Selecciona

Aceptar

para instalar finalmente la extensión seleccionada. Tras unos segundos, la extensión quedará instalada.

Haz clic en

Cerrar

para salir del

Administrador de extensiones

.

Cierra OpenOffice y aunque no siempre es necesario, reinicia tu sistema.

Figura 5.10

Nota

En la parte inferior del Administrador de extensiones encontrarás un botón denominado

Buscar actualizaciones

como puedes ver en la figura 5.11. Es conveniente utilizarlo con regularidad para comprobar si existen nuevas versiones de las extensiones instaladas.

Figura 5.11

Importante

Para el correcto funcionamiento de Report Builder es imprescindible que el entorno de ejecución de java se encuentre instalado y actualizado. Si lo necesitas puedes descargarlo de la siguiente dirección:

http://www.java.com/es/download/

« Anterior | Siguiente »

Entorno Report Builder

Lo primero que llama nuestra atención después de instalar la extensión Report Builder es la aparición de un nuevo elemento en la lista de tareas disponibles para el objeto

Informes

como puedes comprobar en la figura 5.12. Con la configuración por defecto de OpenOffice, es decir, sin instalar ninguna extensión la única posibilidad para crear un informe es utilizar el Asistente.

Figura 5.12

Haz clic en

Crear informe en la vista Diseño

y tendrás acceso a la ventana de diseño de informes de Report Builder donde podemos distinguir varios elementos como puedes ver en la figura 5.13. En la parte superior se encuentran tanto la barra de menús como las diferentes barras de herramientas disponibles. A la derecha tenemos un elemento muy importante, se trata de las propiedades del informe que podemos activar o desactivar pulsando la tecla

F4

. Las dos pestañas de propiedades permitirán configurar aspectos tan importantes como el nombre del informe o su origen de datos.

Figura 5.13

Nota

Si únicamente te aparece la ficha

General

en las propiedades del informe, haz clic en la parte vacía gris situada debajo del último encabezado.

Dentro del área de trabajo del diseñador de informes podemos distinguir tres zonas:

Encabezado de página

: Es el típico espacio para ubicar el título del informe, la fecha, un logotipo....

Detalle

: Aquí debes incluir los campos de la tabla o consulta que debe mostrar el informe.

Pie de página

: Información que aparecerá en la parte inferior de todas las páginas del informe. Lo más común es colocar aquí la numeración de páginas.

Esta información aparece en todas las páginas del informe, pero si deseas incluir algún dato que se muestre únicamente al principio o al final del documento haz clic con el botón derecho sobre el informe y en el menú emergente selecciona

Insertar encabezado y pie de página

del informe

. Después de esto aparecen dos nuevas secciones como puedes ver en la figura 5.14. En ellas puedes añadir la información que necesites del mismo modo que lo haríamos en los encabezados de página. Para eliminar estas secciones repite la misma operación, es decir, botón derecho sobre el informe y selecciona

Quitar encabezado y pie de página del informe

.

Figura 5.14

Truco

Para añadir la fecha del informe o la numeración de página utiliza los dos primeros comandos que encontrarás en el menú

Insertar

como puedes ver en la figura 5.15. Después de seleccionar cualquiera de ellos aparecerá un cuadro de diálogo donde debes indicar la posición (Encabezado de página o Pie de página), la alineación (izquierda, central...) y el formato.

Figura 5.15

Nota

Una vez instalada la extensión Report Builder todo el entorno de edición de informes se realizará con ella. Incluso cuando diseñemos un informe con el Asistente, de fondo tendrás el entorno de Report Builder para su posible edición posterior.

« Anterior | Siguiente »

Crear informe en modo diseño

Una vez abierta la base de datos y seleccionada la opción

Informes

en el margen izquierdo del entorno de OpenOffice Base, haz clic en

Crear un informe en la vista diseño

. Al instante tendrás acceso a la ventana de diseño de informes de Report Builder, donde lo primero que debes hacer es seleccionar la tabla o consulta que servirá como origen de datos del informe:

Actividad 3

Comprueba que en la parte derecha se encuentra seleccionada la pestaña

Datos

. A continuación en la opción

Tipo de contenido

debes establecer donde se encuentran los datos: en una tabla, una consulta o un comando SQL.

En la lista

Contenido

debes seleccionar la tabla o consulta concreta que tiene los datos que quieres utilizar en el informe.

Como puedes ver en la figura 5.16, una vez hecho todo esto la ventana

Agregar campo

contiene todos los campos de la tabla o consulta seleccionada listos para incluirlos en el informe.

Con todo esto simplemente tienes que arrastrar cada campo al lugar que desees del informe.

Figura 5.16

Truco

Para incluir cualquier información estática en el informe como títulos, referencias, pequeños textos, etcétera puedes utilizar etiquetas siguiendo los pasos siguientes:

Selecciona el icono

Campo de etiqueta

de la barra de herramientas.

Haz clic y arrastra para definir la posición y las dimensiones de la etiqueta.

A continuación, en la ficha

General

utiliza el campo

Título

para escribir el texto de la etiqueta y la opción

Fuente

para establecer el tamaño, el tipo de letra, etcétera.

En la figura 5.17 puedes comprobar la situación de todos los elementos descritos y un pequeño ejemplo.

Figura 5.17

« Anterior | Siguiente »

Ejecutar el informe

Una vez diseñado el informe puedes comprobar su aspecto real con tan sólo hacer clic en el botón

Ejecutar el reporte

que hemos resaltado en la figura 5.18. Como puedes comprobar el resultado es una página de OpenOffice Write lista para imprimir.

Figura 5.18

« Anterior | Siguiente »

Ordenar y agrupar

Una de las ventajas que ofrece el Asistente para informes es la posibilidad de ordenar y agrupar los datos de forma sencilla. Con Report Builder también puedes ordenar y agrupar los datos del informe por los campos que necesites. Veamos un ejemplo sencillo, se trata de crear un informe de todos los profesores agrupados por provincia y ordenados por apellidos.

Si lo deseas, haz clic aquí para descargar una base de datos con todo lo necesario para realizar la actividad sin problemas.

Actividad 4

Selecciona

Crear informe en la vista Diseño

para abrir el generador de informes de Report Builder. Comprueba que en la parte derecha se encuentra seleccionada la pestaña

Datos

y a continuación, en la opción

Tipo de contenido

elige

Tabla

.

En la lista

Contenido

selecciona la tabla

Profesores

. Una vez hecho esto la ventana

Agregar campo

incluirá todos los campos de la tabla

Profesores

.

Arrastra los campos

Apellidos

,

Nombre

y

Dirección

a la sección

Detalle

. Con esto tendrías terminadas las tareas habituales para crear un informe con Report Builder.

Ahora, haz clic sobre el icono

Agrupar y Ordenar

de la barra de herramientas para mostrar el cuadro de diálogo

Ordenando y Agrupando

. En él debes hacer clic sobre la primera línea de la sección

Grupos

y en la lista desplegable, seleccionar el campo

Provincia

. Comprueba en la figura 5.19 como aparece un nuevo encabezado con el nombre del campo. Este sería el encabezado de grupo.

Figura 5.19.

Arrastra el campo

Provincia

hasta el nuevo encabezado para crear la agrupación.

El siguiente paso será la ordenación por apellidos dentro de cada grupo. Para conseguirlo en el cuadro de diálogo

Ordenando y Agrupando

selecciona el campo

Apellidos

en el segundo lugar de la sección

Grupos

.

Ahora no queremos agrupar por este campo simplemente queremos ordenar, así que en la opción

Encabezado de grupo

selecciona

No presente

. El aspecto del cuadro de diálogo

Ordenando y Agrupando

sería el que puedes ver en la figura 5.20.

Figura 5.20.

Nota

Si únicamente quieres ordenar por uno o varios campos sin utilizar ningún nivel de agrupación debes elige los campos que deseas utilizar en la sección

Grupos

del cuadro de diálogo

Ordenando y Agrupando

y seleccionar

No presente

para la opción

Encabezado de grupo

de todos los campos.

Nota

Si deseas eliminar alguno de los campos del cuadro de diálogo

Ordenando y Agrupando

, seleccionalo y haz clic en el icono que hemos resaltado en la figura 5.21.

Figura 5.21

« Anterior | Siguiente »

Editar informes creados

Una de las ventajas que ofrece la extensión Report Builder es su completa integración con el entorno de OpenOffice, tanto es así que después de instalarla podremos editar cualquier informe utilizando su entorno de trabajo.

Para editar cualquier informe puedes hacer clic con el botón derecho sobre su nombre y seleccionar el comando

Editar

.

Actividad 5

Con los conocimientos adquiridos crea un informe en modo diseño que permita obtener un listado de todos los profesores que pertenecen a cada uno de los departamentos. Para ello crea en primer lugar una consulta que contenga estos datos y utilízala después como origen de datos para el informe.

« Anterior

Iniciación al lenguaje estructurado de consultas (SQL)

El lenguaje estructurado de consultas, más comúnmente llamado SQL, lo conforman una serie de comandos, cláusulas y funciones que permiten realizar cualquier operación sobre la información almacenada en la base de datos.

SQL no es exactamente un lenguaje de programación pero lleva implícita la complejidad de estas herramientas. En realidad, los sistemas gestores de bases de datos como Microsoft Access o el mismo OpenOffice Base tienen como principal fin ocultar el lado oscuro de este lenguaje mediante el uso de utilidades gráficas. Aunque si tu intención es llegar a dominar el mundo de las bases de datos es imprescindible conocer ciertos aspectos de SQL.

Nota

OpenOffice Base tiene limitaciones que se pueden suplir mediante el uso de sentencias SQL.

Uno de los métodos más sencillos para trabajar directamente con sentencias SQL en OpenOffice Base es tener seleccionada la opción

Consultas

en la ventana principal de la base de datos y a continuación hacer clic sobre el elemento denominado

Crear consulta en vista SQL

como puedes ver en la figura 6.1. Después te encontrarás ante una fría ventana sobre la que deberás ir escribiendo las instrucciones necesarias.

Figura 6.1

Nota

Mediante los comandos disponibles en el conjunto de elementos que agrupa SQL puedes realizar cualquier operación sobre una base de datos, desde seleccionar registros hasta crear una tabla o definir sus claves.

Siguiente »

Seleccionar registros, sentencia SELECT

La sentencia

SELECT

va a permitir realizar operaciones de selección, ordenación, agrupación y filtrado de registros; veamos algunos ejemplos. Si lo deseas, haz clic aquí para descargar una base de datos con todo lo necesario para realizar las actividades siguientes.

Actividad 1

En primer lugar abre la base de datos con la que deseas trabajar y dentro del apartado Consultas, selecciona la opción

Crear consulta en vista SQL

. De esta forma tendrás acceso a la ventana que puedes ver en la figura 6.2 y podrás completar los pasos que se describen a continuación:

Figura 6.2

Ahora escribe:

SELECT

. Para que te resulte más sencillo distinguir entre aquellas palabras que forman parte de la sintaxis de SQL y los parámetros que proporcionas, escribe siempre en mayúsculas las palabras reservadas que utiliza SQL.

A continuación debes indicar los campos de la tabla que deseas mostrar en la consulta. Si escribes un asterisco “*” le estás indicando al intérprete SQL que muestre todos los campos.

La siguiente palabra reservada de la instrucción es:

FROM

. Escríbela a continuación, dejando un espacio en blanco entre el elemento anterior.

Para terminar es necesario proporcionar el nombre de la tabla desde la que obtendrás la información. En el primer ejemplo usa

Alumnos

.

Por lo tanto, la primera sentencia SQL quedaría de la siguiente forma:

SELECT * FROM Alumnos

.

Ejecuta la consulta. Recuerda que basta con pulsar la tecla

F5

para hacerlo y comprobar los resultados como puedes ver en la figura 6.3.

Figura 6.3

Para seleccionar sólo algunos de los campos de la tabla debes enumerarlos tras la palabra reservada

SELECT

y antes del

FROM

:

Selecciona de nuevo la opción

Crear consulta en vista SQL

para crear un nuevo diseño.

Ahora escribe:

SELECT

.

A continuación debes indicar los campos de la tabla que deseas mostrar en la consulta. Escribe

Nombre

, añade una coma, un espacio y escribe el siguiente nombre de campo

Apellidos

. Siguiendo este patrón podrás incluir tantos campos como necesites.

La siguiente palabra reservada de la instrucción es

FROM

. Escríbela a continuación, dejando un espacio en blanco entre el elemento anterior.

Para terminar es necesario proporcionar el nombre de la tabla desde la que obtendrás la información:

Alumnos

.

SELECT Nombre, Apellidos FROM Alumnos

.

Por lo tanto, después de estos pasos la sentencia SQL quedaría de la siguiente forma:

Ejecuta la consulta para comprobar los resultados como puedes observar en la figura 6.4.

Figura 6.4

Importante

Como cualquier otro lenguaje de programación, no respetar la sintaxis de las instrucciones es uno de los problemas más habituales. Revisa cuidadosamente la sentencia completa antes de ejecutarla.

Nota

En determinadas ocasiones puede ser necesario anteponer el nombre de la tabla al nombre del campo en la definición de la consulta del siguiente modo:

SELECT Alumnos.Nombre, Alumnos.Apellidos FROM Alumnos

Si bien es cierto que sólo es realmente necesario cuando hay más de una tabla en la consulta y se hace indispensable identificar el origen de cada campo.

« Anterior | Siguiente »

Filtrar registros, cláusula WHERE

La función principal de una consulta es seleccionar sólo aquellos registros de la tabla o tablas seleccionadas que necesites en cada caso. Pues bien, si quieres hacerlo mediante sentencias SQL es imprescindible añadir la cláusula WHERE al comando SELECT.

Por ejemplo, a continuación mostramos cómo diseñar la consulta SQL que nos permitiría seleccionar aquellos alumnos cuya fecha de nacimiento sea anterior al 31 de Diciembre de 1992.

Selecciona la opción

Crear consulta en vista SQL

.

Empieza escribiendo

SELECT

.

A continuación debes indicar los campos de la tabla que deseas mostrar en la consulta. En este caso utiliza el nombre, los apellidos y la fecha de nacimiento.

La siguiente palabra reservada de la instrucción es

FROM

. Escríbela a continuación, dejando un espacio en blanco entre el elemento anterior.

Ahora indica el nombre de la tabla desde la que obtendrás la información, en este caso

Alumnos

.

Después, añade la cláusula

WHERE

para indicar la condición de filtrado.

El criterio sería el siguiente:

FechaNacimiento <= '1992-12-31'

El formato es distinto al que conoces hasta ahora pero es la sintaxis que acepta el intérprete de SQL para las fechas. Por lo tanto, después de estos pasos la sentencia SQL quedaría de la siguiente forma:

SELECT Nombre, Apellidos, FechaNacimiento FROM Alumnos WHERE FechaNacimiento <= '1992-12-31'

Ejecuta la consulta y comprueba los resultados con los que aparecen en la figura 6.5.

Figura 6.5

Actividad 2

Para practicar con todo lo comentado, diseña una consulta SQL que permita seleccionar el nombre y apellidos de los profesores que vivan en la provincia de Badajoz.

« Anterior | Siguiente »

Operadores lógicos

Los operadores lógicos que puedes utilizar en sentencias SQL son los mismos que se encuentran disponibles para el diseño de consultas en OpenOffice Base:

Operador | Se lee | Resultado
= | Igual a | Devuelve los registros que coinciden con la condición.
< | Menor que | Muestra aquellos registros cuyos valores son estrictamente menores que la condición.
> | Mayor que | Muestra aquellos registros cuyos valores son estrictamente mayores que la condición.
<= | Menor o igual que | Devuelve los registros cuyos valores son menores o iguales a la condición.
>= | Mayor o igual que | Devuelve los registros cuyos valores son mayores o iguales a la condición.
<> | Distinto de | Sólo muestra aquellos registros que tienen valores distintos a la condición.

« Anterior | Siguiente »

Condiciones OR en la cláusula WHERE

Al igual que ocurre con las consultas en el modo Diseño, mediante sentencias SQL también puedes utilizar los operadores Y (AND) y O (OR) y por supuesto, no se ve alterada su lógica de funcionamiento.

Veamos en primer lugar un ejemplo práctico donde se utiliza el operador OR. Concretamente, diseñaremos una consulta SQL que nos permita conocer las tutorías que tienen lugar los Martes o los Jueves.

Actividad 3

Selecciona la opción

Crear consulta en vista SQL

y empieza escribiendo

SELECT

.

A continuación debes indicar los campos de la tabla que deseas mostrar en la consulta. En este caso utiliza

Profesor

,

Curso

,

DiaSemana

y

HoraTutoria

.

La siguiente palabra reservada de la instrucción es

FROM

. Escríbela a continuación, dejando un espacio en blanco entre el elemento anterior.

Ahora indica el nombre de la tabla desde la que obtendrás la información, en este caso

Tutorias

.

Después añade la cláusula

WHERE

para indicar la primera condición de filtrado.

El criterio sería el siguiente:

DiaSemana = ‘Martes’

. No olvides las comillas simples para encerrar el literal de la condición de búsqueda.

Ahora escribe el operador lógico

OR

y deja un espacio.

A continuación indica la segunda condición:

DiaSemana = ‘Jueves’

. Por lo tanto, después de estos pasos la sentencia SQL quedaría de la siguiente forma:

SELECT Profesor, Curso, DiaSemana, HoraTutoria FROM Tutorias WHERE DiaSemana = 'Martes' OR DiaSemana = 'Jueves'

Comprueba los resultados ejecutando la consulta. En la figura 6.6 puedes ver el aspecto de la sentencia junto con los resultados obtenidos.

Figura 6.6

Nota

Quizás todos estos pasos te puedan parecer un poco complejos al principio pero si prestas un poco de atención comprobarás que incluso se pueden leer:

SELECCIONA LOS CAMPOS PROFESOR, CURSO, DIASEMANA Y HORATUTORIA DE LA TABLA TUTORIAS DONDE EL DIA DE LA SEMANA ES MARTES O JUEVES

.

« Anterior | Siguiente »

Condiciones AND en la cláusula WHERE

Veamos la siguiente posibilidad, el operador

AND

. La idea es diseñar una consulta que permita conocer los encuentros que se disputarán entre dos fechas concretas.

Actividad 4

Selecciona la opción

Crear consulta en vista SQ

L y empieza escribiendo

SELECT

.

A continuación indica los campos de la tabla que deseas mostrar en la consulta. En este caso utiliza

Jornada

,

Lugar

,

Fecha

,

EquipoA

y

EquipoB

.

Escribe

FROM

, dejando un espacio en blanco entre el elemento anterior y el siguiente.

Ahora indica el nombre de la tabla desde la que obtendrás la información, en este caso

Calendario

.

Después añade la cláusula

WHERE

para indicar la primera condición de filtrado.

El criterio sería el siguiente:

Fecha >= '2007-02-01'

. Quizás te parecerá un poco extraño el formato utilizado para las fechas, pero es así como lo entiende el intérprete de SQL de OpenOffice Base.

Ahora escribe el operador lógico

AND

y deja un espacio.

A continuación indica la segunda condición:

Fecha <= '2007-02-19'

.

Después de estos pasos la sentencia SQL quedaría de la siguiente forma:

SELECT Jornada, Fecha, Lugar, EquipoA, EquipoB FROM Calendario WHERE Fecha >= '2007-02-01' AND Fecha <= '2007-02-19'

Ejecuta la consulta y comprueba el resultado en la figura 6.7.

Figura 6.7

Una vez diseñada la consulta y comprobados sus resultados puedes utilizar el botón

Guardar

para dar un nombre y archivar la consulta en la base de datos.

Nota

Como has podido comprobar el interprete SQL de OpenOffice Base tampoco utiliza las almohadillas para representar las fechas, como hacías en las consultas. En este caso, siempre debes usar comillas simples, separar con un guión el año, mes y día y escribirlo en este orden. Estas instrucciones son imprescindibles a la hora de incluir fechas en tus sentencias SQL, y teniendo en cuenta que es algo distinto de lo que conocemos, nuestra recomendación es que practiques un poco con todo lo visto hasta ahora.

Importante

Hay que insistir en la importancia de las comillas simples a la hora de expresar las fechas en una consulta de criterios. Por este motivo para que no tengas ninguna duda en la figura 6.8 puedes ver la tecla concreta a la que hacemos referencia.

Lugar que ocupa la tecla comilla simple en el teclado
Figura 6.8

« Anterior | Siguiente »

Condiciones AND y OR en la cláusula WHERE

Con el objetivo de abarcar todas las posibilidades, veamos a continuación cómo sería el diseño de una consulta donde se combinen al mismo tiempo operadores

AND

y

OR

. Concretamente, el objetivo es conocer los encuentros que se juegan el día 12/02/2007 o el 14/02/2007 pero sólo en la Pista 1.

Actividad 5

Selecciona la opción

Crear consulta en vista SQL

y empieza escribiendo:

SELECT

.

A continuación indica los campos de la tabla que deseas mostrar en la consulta. En este caso utiliza

Jornada

,

Lugar

,

Fecha

,

EquipoA

y

EquipoB

.

Escribe

FROM

, dejando un espacio en blanco entre el elemento anterior y el siguiente.

Ahora indica el nombre de la tabla desde la que obtendrás la información, en este caso

Calendario

.

Después añade la cláusula

WHERE

para indicar la primera condición de filtrado.

El criterio sería el siguiente:

Fecha = '2007-02-12'

Ahora escribe el operador lógico

AND

y deja un espacio.

A continuación escribe:

Lugar = ‘Pista 1’

. De esta forma compones el primer criterio.

Deja un espacio, escribe

OR

y deja otro espacio.

El criterio siguiente sería:

Fecha = '2007-02-14'

Ahora escribe el operador lógico

AND

y deja un espacio.

A continuación escribe:

Lugar = ‘Pista 1’

. De esta forma compones el segundo criterio.

Después de estos pasos la sentencia SQL quedaría de la siguiente forma. Revisa con cuidado todo lo escrito y no olvides incluir los paréntesis tal y como puedes ver a continuación:

SELECT Jornada, Fecha, Lugar, EquipoA, EquipoB FROM Calendario WHERE ((Fecha = '2007-02-12' AND Lugar = 'Pista 1') OR (Fecha = '2007-02-14' AND Lugar = 'Pista 1'))

Comprueba los resultados ejecutando la consulta y observa la figura 6.9.

Figura 6.9

Importante

Cuando anidas varios criterios de filtrado es imprescindible utilizar los paréntesis para agrupar cada uno de los bloques que conforman la consulta a partir de la cláusula WHERE.

« Anterior | Siguiente »

Ordenar registros, cláusula ORDER BY

Otro aspecto importante cuando diseñas consultas son los criterios de ordenación. Con ellos, el resultado presentará los datos clasificados de la forma que necesites en cada caso. En SQL la cláusula dedicada a este fin se denomina

ORDER BY

y debes situarla después de todos los campos de filtrados asociados a la cláusula WHERE.

Como siempre, lo mejor será ver un ejemplo pero en este caso no demasiado complicado: obtendremos un listado ordenado alfabéticamente de todos los alumnos que pertenezcan al grupo 2.

Selecciona la opción

Crear consulta en vista SQL

y empieza escribiendo:

SELECT

.

A continuación indica los campos de la tabla que deseas mostrar en la consulta. En este caso, utiliza el

*

para añadir todos los campos.

Escribe

FROM

, dejando un espacio en blanco entre el elemento anterior y el siguiente.

Indica el nombre de la tabla desde la que obtendrás la información, en este caso

Alumnos

.

Después añade la cláusula

WHERE

para indicar la primera condición de filtrado.

El criterio sería el siguiente:

Grupo = 2

Ahora deja un espacio, escribe la cláusula

ORDER BY

y deja otro espacio.

El campo que usarás como patrón de ordenación será el

Apellido

, por lo tanto escríbelo después de

ORDER BY

.

Después de estos pasos la sentencia SQL quedaría de la siguiente forma:

SELECT * FROM Alumnos WHERE Grupo = 2 ORDER BY Apellidos

Comprueba los resultados ejecutando la consulta y observa la figura 6.10.

Figura 6.10

Nota

El campo

Grupo

, al ser un valor estrictamente numérico, no necesita añadirle comillas simples en la sentencia SQL.

Cuando quieras ordenar por más de un campo, escríbelos uno a continuación de otro y sepáralos con una coma.

Actividad 6

Diseña una consulta que nos permita conocer todos aquellos profesores que viven en Badajoz o en Cáceres. Además, ordena el resultado en primer lugar por la provincia y en segundo lugar por el apellido del profesor.

« Anterior | Siguiente »

Cambiar el nombre de los campos en el resultado con ALIAS

OpenOffice Base utiliza la propiedad

Alias

en el diseño de consultas para modificar el nombre de cualquier campo en el resultado. En SQL también se encuentra disponible esta característica, compruébalo en el siguiente ejemplo.

Actividad 7

Selecciona la opción

Crear consulta en vista SQL

y empieza escribiendo:

SELECT

.

A continuación indica los campos de la tabla que deseas mostrar en la consulta. En este caso, utiliza el campo

Nombre

.

Deja un espacio y escribe la palabra reservada

AS

y después el nombre con el que representarás el campo en la consulta, por ejemplo

Nombre Departamento

.

Escribe

FROM

, dejando un espacio en blanco entre el elemento anterior y el siguiente.

Indica el nombre de la tabla desde la que obtendrás la información, en este caso

Departamentos

.

A continuación, ordena el resultado alfabéticamente por el nombre del departamento. Para ello, añade la cláusula

ORDER BY

y a continuación, el campo

Nombre

.

Después de estos pasos la sentencia SQL quedaría de la siguiente forma:

SELECT Nombre AS "Nombre Departamento" FROM Departamentos ORDER BY Nombre

Ejecuta la consulta y comprueba que los resultados sean similares a los que muestra la figura 6.11.

Figura 6.11

Importante

Si el nombre utilizado como alias está compuesto por más de una palabra es imprescindible escribirlo entre comillas dobles. Cuando está compuesto por una única palabra no sería necesario.

Nota

SQL permite utilizar en la cláusula

ORDER BY

el nombre del alias en lugar del nombre original del campo. De este modo también mejorarás la comprensión general de la instrucción. La sentencia de nuestro último ejemplo quedaría del siguiente modo:

SELECT Nombre AS "Nombre del equipo" FROM Equipos ORDER BY "Nombre del equipo"

« Anterior | Siguiente »

Obtener información de varias tablas

De igual modo que existe la posibilidad en la vista Diseño de vincular dos o más tablas para obtener resultados combinados, SQL también dispone de las herramientas necesarias para realizar este tipo de tareas. El proceso es sin duda más complicado que lo visto con el diseñador de consultas, pero a cambio tendrás mucho más control sobre todo el proceso.

SQL propone un método para identificar la tabla asociada a cada uno de los campos cuando trabajas con varias tablas. La sintaxis consiste en anteponer el nombre de la tabla al nombre del campo y separarlos por un punto:

NombreTabla.NombreCampo

Antes de ver el primer ejemplo, revisemos los distintos tipos de relación que se pueden definir entre las tablas.

Interna (JOIN INTERNO)

: El resultado muestra sólo los registros en los que el campo vinculado de ambas tablas sea el mismo.

Izquierda (JOIN IZQUIERDO)

: En este caso, el resultado muestra todos los registros de la tabla izquierda, y sólo aquellos de la tabla derecha donde coincida el campo vinculado.

Derecha (JOIN DERECHO)

: Con este modelo ocurriría justo lo contrario que en el anterior, aparecerían todos los registros de la tabla derecha y sólo aquellos de la tabla izquierda en los que coincidan los campos vinculados.

Completa (JOIN CRUZADO)

: Muestra todos los registros de ambas tablas.

Por supuesto, en SQL también existe la posibilidad de reproducir cada uno de estos tipos de unión pero en estos momentos no es necesario añadir este nivel de complejidad al curso, así que utilizaremos la fórmula más sencilla, la vinculación de tablas mediante la cláusula

WHERE

. Este método equivale a seleccionar aquellos registros donde ambas tablas tengan coincidencia que, por otra parte, es la situación más común cuando trabajes con bases de datos.

En nuestro primer ejemplo, utilizaremos las tablas

Alumnos

y

Cursos

para representar en una consulta el grupo al que pertenece cada uno de los alumnos que forman nuestra base de datos.

Selecciona la opción

Crear consulta en vista SQL

y empieza escribiendo:

SELECT

.

A continuación indica los campos de la tabla que deseas mostrar en la consulta, pero recuerda que ahora debes anteponer el nombre de la tabla. Incluye los campos

Nombre

y

Apellidos

de la tabla

Alumnos

.

De la tabla Cursos utiliza sólo el campo

Curso

.

Ahora añade la cláusula

FROM

y escribe el nombre de las dos tablas implicadas:

Alumnos

y

Cursos

.

Esta es la parte más delicada de la consulta, donde debes vincular los campos de ambas tablas que permitirán obtener los resultados correctos. En este caso es necesario relacionar el campo

Grupo

de la tabla

Alumnos

con el campo

IdCurso

de la tabla

Curso

. Escribe en primer lugar la cláusula

WHERE

y después lo siguiente:

Alumnos.Grupo=Cursos.IdCurso

La instrucción SQL queda del siguiente modo:

SELECT Alumnos.Nombre, Alumnos.Apellidos, Cursos.Curso FROM Alumnos, Cursos WHERE Alumnos.Grupo=Cursos.IdCurso

Por ahora es suficiente, ejecuta la consulta. En la figura 6.12 puedes ver su aspecto y el resultado obtenido.

Figura 6.12

Actividad 8

Pero puedes depurar un poco más el ejemplo. ¿Qué tal si ordenas el resultado alfabéticamente por los apellidos del alumno? La figura 6.13 muestra el resultado de la nueva consulta. Una vez terminada, guarda la consulta.

Figura 6.13

Actividad 9

También puedes añadir una condición a la consulta anterior. Por ejemplo, muestra únicamente los alumnos de 1A. Para ello, debes añadir una nueva condición a la cláusula

WHERE

, antes de

ORDER BY

y enlazarla mediante el operador

AND

. El resultado que obtengas debe ser similar al que muestra la figura 6.14. Una vez terminada, guarda la consulta.

Figura 6.14

Actividad 10

Ahora riza un poco más el rizo, y modifica la consulta diseñada en la actividad 9, para que muestre los alumnos que pertenezcan a 1A o a 1B, pero esta vez los ordenarás primero por el grupo y a continuación, por el apellido. La forma de conseguirlo es utilizar un nuevo criterio enlazado con el anterior mediante el operador OR ya que quieres mostrar cualquiera de las dos opciones. Observa el resultado en la figura 6.15 y guarda la consulta.

Figura 6.15

Nota

Quizás te parezcan un poco complicadas las últimas actividades, pero analízalas con atención y comprobarás que todas siguen una pauta lógica. En cualquier caso, es necesario adquirir cierta destreza con este lenguaje para dominar su uso.

« Anterior | Siguiente »

Consultas de agrupación y totales con SQL

En el apartado anterior tratamos la forma de relacionar varias tablas en una sentencia SQL, pero aún hay más. Mediante la cláusula

GROUP BY

puedes utilizar uno o varios campos para agrupar registros y realizar determinadas operaciones con ellos. Algunas de estas funciones son las mismas que ya tratamos en el capítulo de consultas y permiten:

COUNT

: Cuenta el total de elementos de un grupo.

SUM

: Suma los valores numéricos de los registros agrupados.

MIN

: Muestra el valor más pequeño de un grupo.

MAX

: Muestra el valor máximo de todo el conjunto de registros agrupados.

AVERAGE

: Calcula la media de todos los valores seleccionados.

A continuación, diseñemos una nueva consulta donde el objetivo será contar el número total de alumnos que componen cada grupo (1A, 1B, 1C, 2A…):

Selecciona la opción

Crear consulta en vista SQL

y empieza escribiendo:

SELECT

.

A continuación indica los campos de la tabla que deseas mostrar en la consulta. Indica en primer lugar el nombre del grupo.

En segundo lugar, debes escribir la sentencia que calcule el total de alumnos:

COUNT (Alumnos.Expediente)

Ahora añade la cláusula

FROM

y escribe el nombre de las dos tablas implicadas:

Alumnos

y

Cursos

.

Toca el turno de vincular los campos de ambas tablas que te permitirán obtener los resultados correctos. En este caso es necesario relacionar el campo

Grupo

de la tabla

Alumnos

con el campo

IdCurso

de la tabla

Curso

. Escribe en primer lugar la cláusula

WHERE

y después

Alumnos.Grupo=Cursos.IdGrupo

Por último debes indicar el campo que utilizarás como elemento de agrupación, escribe

GROUP BY Cursos.Curso

La instrucción SQL queda del siguiente modo:

SELECT Cursos.Curso, COUNT(Alumnos.Expediente)
FROM Alumnos, Cursos
WHERE Alumnos.Grupo=Cursos.IdCurso
GROUP BY Cursos.Curso

Ejecútala y comprueba que los resultados sean similares a los que puedes ver en la figura 6.16.

Figura 6.16

Una buena idea podría ser añadir un alias al campo calculado y así mejorar la comprensión de los resultados:

SELECT Cursos.Curso, COUNT(Alumnos.Expediente) AS "Total Alumnos por Grupo"
FROM Alumnos, Cursos
WHERE Alumnos.Grupo=Cursos.IdCurso
GROUP BY Cursos.Curso

Importante

Recuerda las dobles comillas en el nombre de alias cuando se trata de más de una palabra.

« Anterior | Siguiente »

Criterios de filtrado en consultas de agrupación y totales, cláusula HAVING

Cuando se trata de consultas de agrupación y totales, la forma de utilizar criterios de ordenación es algo distinta de lo que has visto hasta ahora. La diferencia se encuentra en que debes utilizar una nueva cláusula:

HAVING

(figura 6.17). Por ejemplo, si sólo deseas contar los alumnos de 1A, la consulta quedaría del siguiente modo:

SELECT Cursos.Curso, COUNT (Alumnos.Expediente)
FROM Alumnos, Cursos
WHERE Alumnos.Grupo=Cursos.IdCurso
GROUP BY Cursos.Curso HAVING Cursos.Curso = '1A'

Figura 6.17

Si lo deseas puedes complicar los criterios añadiendo nuevos filtrados mediante los operadores

AND

y

OR

. La siguiente consulta es idéntica a la anterior pero obtiene el total de alumnos de los grupos 1A y 1B.

SELECT Cursos.Curso, COUNT(Alumnos.Expediente)
FROM Alumnos, Cursos
WHERE Alumnos.Grupo=Cursos.IdCurso
GROUP BY Cursos.Curso HAVING Cursos.Curso = '1A'
OR Cursos.Curso = '1B'

Nota

Es posible que llegados a este punto te estés planteando, por qué debes complicarte tanto la vida con SQL si lo puedes hacer de forma mucho más sencilla con el diseñador de consultas. La explicación la encuentras por una parte en las limitaciones que aún presenta OpenOffice Base y que únicamente se pueden suplir mediante sentencias SQL. También es necesario tener ciertas nociones de SQL ya que al tratarse de un lenguaje universal y estándar puedes utilizar las consultas en cualquier otra base de datos.

« Anterior | Siguiente »

Eliminar registros, comando DELETE

La versión actual de OpenOffice no permite diseñar visualmente consultas de eliminación, inserción o actualización. Por lo tanto, para realizar este tipo de tareas en la base de datos debes recurrir a SQL.

La sentencia

DELETE

permite eliminar registros de una tabla. Esta es sin duda una operación delicada por lo que debes estar muy seguro de lo que haces pues una vez ejecutada no existe la posibilidad de deshacer la operación.

Importante

Una buena recomendación cuando realizamos procesos de eliminación de registros es realizar en primer lugar una consulta de selección para comprobar que estás seleccionando realmente los datos que deseas eliminar.

Los comandos

DELETE

,

INSERT

y

UPDATE

no se pueden ejecutar del modo que lo has estado haciendo hasta ahora con las consultas de selección (

SELECT

). OpenOffice Base no permite hacerlo, pero sí incluye una herramienta que ofrece la posibilidad de ejecutar estas instrucciones y en general, cualquier sentencia SQL.

En la ventana principal del programa, en la parte superior, haz clic sobre el menú

Herramientas

.

A continuación, selecciona el comando

SQL

para tener acceso al cuadro de diálogo que muestra la figura 6.18.

Figura 6.18

En esta ventana encuentras en primer lugar el cuadro denominado

Comando a ejecutar

. Será aquí donde debas escribir la sentencia SQL que deseas aplicar sobre la base de datos. Bajo este espacio se encuentra el botón

Ejecutar

que tendrás que utilizar para llevar a cabo las operaciones indicadas en el comando SQL.

A continuación dispones de una lista desplegable con las últimas sentencias SQL ejecutadas, una especie de histórico que puede servir para no tener que escribir varias veces la misma instrucción si ya la has utilizado con anterioridad. Observa este elemento resaltado en la figura 6.19.

Figura 6.19

Por último, la sección Estado que hemos resaltado en la figura 6.20, mostrará todos los mensajes relacionados con la ejecución de la sentencia SQL.

Figura 6.20

« Anterior | Siguiente »

Sintaxis de las sentencias en el intérprete SQL

Sintaxis de las sentencias en el intérprete SQL

El nivel de exigencia del intérprete SQL en cuanto a la sintaxis de las instrucciones es muy alto y necesitas actuar de modo algo distinto a lo que has hecho hasta ahora. Algunos datos importantes que debes tener en cuenta son:

Los nombres de tablas y campos deben estar entre comillas dobles. Por ejemplo:

SELECT "Nombre", "Apellidos" FROM "Alumnos"

En cuanto a las condiciones, los literales deben estar incluidos entre comillas simples y cada una de las condiciones encerradas entre paréntesis. Por ejemplo:

SELECT "Nombre", "Apellidos" FROM "Alumnos"
WHERE ("Nombre" = 'Antonio')

Nota

El término literal dentro del diseño de consultas mediante lenguaje SQL hace referencia al texto de una condición; en el ejemplo anterior, Antonio sería un literal.

Si la condición fuera una fecha no habría demasiados cambios:

SELECT "Nombre", "Apellidos" FROM "Alumnos"
WHERE ("FechaNacimiento" = '2008-12-01')

Cuando hay varias condiciones es conveniente encerrar todo el contenido de la cláusula

WHERE

entre paréntesis:

SELECT "Nombre", "Apellidos" FROM "Alumnos"
WHERE (("FechaNacimiento" = '2008-12-01')
AND ("FechaNacimiento" = '2008-12-31'))

Nota

Es esencial que sigas al pie de la letra la sintaxis requerida por el intérprete de SQL incluido en OpenOffice; de lo contrario un mensaje indicará que algo no está bien.

« Anterior | Siguiente »

Ejemplo de eliminación de registros

A continuación un ejemplo del proceso completo de eliminación de registros con OpenOffice Base. Eso sí, aplicaremos el principio de prudencia, es decir, crearemos en primer lugar una consulta de selección estándar y la convertiremos después en una consulta de eliminación. De esta forma podemos comprobar si los registros que serán eliminados corresponden exactamente con los que deseamos borrar de la base de datos. La idea es eliminar los alumnos cuya fecha de nacimiento sea inferior a 31/12/1990. El resultado lo debes ordenar alfabéticamente. Empecemos por diseñar la consulta.

Actividad 11

Selecciona la opción

Crear consulta en vista SQL

y empieza escribiendo:

SELECT

.

A continuación indica los campos de la tabla que deseas mostrar en la consulta. En este caso, utilizarás los campos

Nombre

y

Apellidos

y

FechaNacimiento

de la tabla

Alumnos

.

Ahora añade la cláusula

FROM

y escribe el nombre de la única tabla implicada:

Alumnos

Ahora añade la sentencia

WHERE

y escribe el primer criterio de filtrado:

FechaNacimiento <= '1990-12-31'

Finalmente para ordenar el resultado, añade:

ORDER BY Apellidos

La instrucción SQL queda del siguiente modo:

SELECT Nombre, Apellidos, FechaNacimiento FROM Alumnos WHERE FechaNacimiento <= '1990-12-31' ORDER BY Apellidos

Observa el aspecto de la ventana diseño en la figura 6.21.

Figura 6.21

Ejecuta la consulta y comprueba que los resultados mostrados corresponden realmente con la información que deseas eliminar de la base de datos. Insistimos en que este paso previo es muy importante para estar completamente seguro que eliminaremos los registros correctos.

Una vez que estés completamente seguro de que la selección es correcta, un pequeño truco para ahorrar algo de trabajo: Selecciona la instrucción SQL completa y después utiliza el comando

Copiar

, ya sea con la combinación de teclas Control+C o desde el menú

Editar

.

Cierra la ventana de consulta, guarda el resultado si lo crees conveniente y vuelve a la ventana principal de la base de datos.

En el menú

Herramientas

selecciona el comando

SQL

como muestra la figura 6.22.

Figura 6.22

Haz clic dentro de la primera sección del cuadro de diálogo y ejecuta el comando

Pegar (Control+V)

. Al instante aparece la instrucción de selección.

Pero si lo que deseas es eliminar registros y no seleccionarlos, debes hacer algunos cambios. Concretamente debes eliminar el comando

SELECT

y cambiarlo por

DELETE

. Además elimina los nombres de campos y la cláusula

ORDER BY

. Una vez hechos todos estos cambios la sentencia quedaría de la siguiente forma:

DELETE FROM "Alumnos" WHERE ("FechaNacimiento" <= '1990-12-31')

Si has seguido todos los pasos correctamente, el resultado de ejecutar la sentencia anterior será un error. Bueno, en realidad no se trata de un error, sino más bien de un sistema de protección de la base de datos. Las reglas de integridad referencial de la base de datos no te dejan llevar a cabo este proceso para no dejar registros "colgados".

Para solucionarlo abre la ventana de relaciones y haz clic con el botón derecho sobre la línea que une la tabla Alumnos con todas aquellas tablas donde se han utilizado datos de esta tabla.

Selecciona el comando

Editar

para que Base muestre el cuadro de diálogo

Relaciones

. En la parte inferior derecha tienes la sección

Opciones de eliminación

. Pues bien, aquí puedes controlar comportamientos del programa cuando se intenta eliminar un registro que tiene vínculos en otras tablas. Si seleccionas la opción Eliminar en cascada ya no tendría que aparecer el error y el alumno desaparecerá de todas aquellas tablas donde se encontraba.

Finalmente, en la parte inferior del cuadro de diálogo

Ejecutar comandos SQL

debe aparecer un mensaje indicando que todo ha sido correcto como puedes ver en la figura 6.23.

Figura 6.23

Truco

Si quieres conocer la sentencia SQL asociada a cualquier consulta mientras trabajas en la vista Diseño, ejecuta el comando

Ver

y después selecciona

Activar o desactivar la vista Diseño

como puedes comprobar en la figura 6.24. Para recuperar el aspecto inicial de la ventana, repite la misma operación.

Figura 6.24

« Anterior | Siguiente »

Insertar nuevos registros, sentencia INSERT

El comando SQL de inserción de registros puede ser tremendamente útil a la hora de llenar tablas cuya información obtienes mediante otra fuente de datos como otras tablas o consultas.

Un ejemplo sencillo: cómo añadir un registro a la tabla Actividades que únicamente tiene un campo ya que el identificador es autonumérico y por lo tanto, se genera automáticamente al añadir un nuevo registro:

Actividad 12

En la ventana principal de la base de datos haz clic sobre el menú

Herramientas

y después ejecuta el comando

SQL

.

En la primera sección del cuadro de diálogo escribe la siguiente instrucción:

INSERT INTO "Actividades" ("Actividad") VALUES ('Voleibol')

Después de escribir la sentencia SQL, haz clic en el botón

Ejecutar

.

Si no existe ningún problema aparecerá en la parte inferior un mensaje indicando que el comando se ha ejecutado correctamente.

Revisa la tabla

Actividades

y comprueba que se ha añadido el registro.

Así planteado quizás no te parezca demasiado interesante el comando INSERT pero, ¿qué te parecería añadir una consulta a esta misma sentencia y que pudieras incluir en la tabla seleccionada el resultado de la consulta? Por ejemplo, imagina que has obtenido una tabla de deportes (MisDeportes) y quieres utilizarla para rellenar la tabla de actividades deportivas (Actividades).

La instrucción SQL debería tener el siguiente aspecto:

INSERT INTO "Actividades" ("Actividad") SELECT "NombreDeporte" FROM "MisDeportes"

Tras haber ejecutado lo anterior, comprueba que efectivamente la tabla

Actividades

, que anteriormente sólo tenía cuatro registros, tiene ahora también los registros de la tabla

MisDeportes

.

Por supuesto, a la consulta que sirve para añadir registros puedes añadirle tantas condiciones y cláusulas como necesites. Por ejemplo, puedes elegir todos aquellos deportes que no sean de tipo individual (Tenis, Atletismo…)

INSERT INTO "Actividades" ("Actividad") SELECT "NombreDeporte" FROM "MisDeportes" WHERE ("Tipo" = 'Individual')

Importante

Lo más importante en este tipo de consultas es que el número de campos que devuelve la consulta sea el mismo que intentas insertar. También es fundamental que los tipos de los campos coincidan.

« Anterior | Siguiente »

Actualizar registros, sentencia UPDATE

El concepto de actualización consiste en modificar algunos de los datos que contiene el registro. Por ejemplo, imagina que necesitamos cambiar la dirección de un alumno concreto o el grupo al que pertenece. Este tipo de operaciones se pueden realizar mediante actualizaciones y más concretamente, con el comando

UPDATE

.

Con las operaciones de actualización mediante el comando

UPDATE

deberías tener las mismas precauciones que ya viste para el comando

DELETE

. El motivo es el mismo, es decir, las modificaciones realizadas por la consulta no tienen posibilidad de deshacerse. En este sentido, se recomienda de nuevo ejecutar en primer lugar una consulta de selección para comprobar los registros que se verán afectados y una vez comprobado que todo es correcto llevar a cabo la actualización.

OpenOffice no dispone de ninguna herramienta específica para realizar cualquier consulta de actualización sobre la base de datos por lo que igual que ocurría en el apartado anterior debes recurrir al intérprete de consultas. Desde la ventana principal de OpenOffice Base, haz clic en el menú

Herramientas

y después selecciona el comando

SQL

.

Observa en el siguiente ejemplo cómo cambiar el nombre del departamento “Geografía” por “Geografía e Historia”:

En la ventana principal de la base de datos haz clic sobre el menú

Herramientas

y después ejecuta el comando

SQL

.

En la primera sección del cuadro de diálogo, escribe la siguiente instrucción:

UPDATE "Departamentos" SET "Nombre" = 'Geografía e Historia' WHERE "Nombre" = 'Geografía'

Después de escribir la sentencia SQL haz clic en el botón

Ejecutar

.

Si no existe ningún problema aparecerá en la parte inferior un mensaje indicando que el comando se ha ejecutado correctamente.

Revisa la tabla

Departamentos

y comprueba que se ha modificado el registro tal y como lo hemos indicado en la sentencia SQL.

Importante

Debes tener cuidado si vas a copiar las instrucciones directamente desde esta página y pegarlas en la ventana SQL de OpenOffice Base. Revisa las comillas tanto dobles como simples.

« Anterior