63785868 Open Office Base

139
Creación de bases de datos bajo software libre con OpenOffice Base. 1.- ¿QUÉ ES UNA BASE DE DATOS EN BASE? Una Base de datos es un programa que permite gestionar y organizar una serie de datos. Por ejemplo, podemos utilizar dicho programa para llevar la gestión de fichas de los artículos de nuestro almacén, introduciendo, modificando, actualizando, sacando informes por impresora, etc. Podemos por ejemplo realizar consultas tales como ¿qué artículo se ha vendido más este mes? ¿Qué clientes compran un determinado artículo? ¿Cuál es la ganancia total del mes? etc. Para hacerte una idea más clara, piensa que una Base de Datos sirve en una empresa como pueda ser un taller de reparación de vehículos para tener anotados los siguientes conceptos: El nombre, apellidos, dirección, teléfono, código postal de los clientes que han acudido a nuestro taller a reparar su coche. (Es lo que en lenguaje de andar por casa llamaríamos una ficha de clientes que guardaríamos en nuestro archivo de clientes). También podríamos tener otra ficha con el nombre, apellidos, por qué banco pasamos el recibo de la reparación, la avería sufrida, las horas de taller que se han empleado en la reparación, las piezas aportadas y los precios aplicados a las horas y a las piezas, así como el total de la reparación. (Sería otra ficha que guardaríamos en nuestro archivo de reparaciones). De esta forma podemos observar que cada ficha, se le llama registro en el lenguaje de las bases de datos. Y cada cosa que apuntamos en esa ficha (nombre, apellidos, dirección...) la llamamos campo de dicha base de datos. Base es la base de datos, y muchas empresas tienen sus propias bases de datos hechas a medida, en la que sólo tenemos que preocuparnos de introducir datos. 2.- INTRODUCCIÓN. Actualmente el mundo empresarial necesita manejar gran cantidad de datos, por lo que se hace necesario disponer de medios hardware y software que permitan acceder a la información de una manera rápida, sencilla y fiable. 1 de 4

Transcript of 63785868 Open Office Base

Page 1: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base.

1.- ¿QUÉ ES UNA BASE DE DATOS EN BASE? Una Base de datos es un programa que permite gestionar y organizar una serie de datos. Por ejemplo,

podemos utilizar dicho programa para llevar la gestión de fichas de los artículos de nuestro almacén,

introduciendo, modificando, actualizando, sacando informes por impresora, etc. Podemos por ejemplo

realizar consultas tales como ¿qué artículo se ha vendido más este mes? ¿Qué clientes compran un

determinado artículo? ¿Cuál es la ganancia total del mes? etc.

Para hacerte una idea más clara, piensa que una Base de Datos sirve en una empresa como pueda ser un

taller de reparación de vehículos para tener anotados los siguientes conceptos:

El nombre, apellidos, dirección, teléfono, código postal de los clientes que han acudido a nuestro taller a

reparar su coche. (Es lo que en lenguaje de andar por casa llamaríamos una ficha de clientes que

guardaríamos en nuestro archivo de clientes).

También podríamos tener otra ficha con el nombre, apellidos, por qué banco pasamos el recibo de la

reparación, la avería sufrida, las horas de taller que se han empleado en la reparación, las piezas aportadas

y los precios aplicados a las horas y a las piezas, así como el total de la reparación. (Sería otra ficha que

guardaríamos en nuestro archivo de reparaciones).

De esta forma podemos observar que cada ficha, se le llama registro en el lenguaje de las bases de datos.

Y cada cosa que apuntamos en esa ficha (nombre, apellidos, dirección...) la llamamos campo de dicha

base de datos.

Base es la base de datos, y muchas empresas tienen sus propias bases de datos hechas a medida, en la que

sólo tenemos que preocuparnos de introducir datos.

2.- INTRODUCCIÓN. Actualmente el mundo empresarial necesita manejar gran cantidad de datos, por lo que se hace necesario

disponer de medios hardware y software que permitan acceder a la información de una manera rápida,

sencilla y fiable.

1 de 4

Page 2: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base.

Tradicionalmente la información se almacenaba en conjuntos de ficheros, estos ficheros no guardaban

ninguna relación entre sí y los datos podían repetirse en varios de ellos, lo que suponía tener información

redundante y en algunos casos inconsistente. A veces se hacía necesario cambiar la estructura de los

registros de algunos ficheros, por ejemplo para agregar nuevos campos a los registros. Esto implicaba que

todos los programas de aplicación que utilizaban esos ficheros tenían que ser modificados y adaptados; lo

cual suponía una pérdida de tiempo y dinero. Existía una dependencia entre los ficheros que almacenaban

la información y los programas que utilizaban esos ficheros.

A final de los años sesenta surgen las Bases de Datos. En una base de datos se van a almacenar todos los

datos que necesite la empresa; y los programas que utilicen esos datos no se han de preocupar del

almacenamiento físico de los mismos. Cualquier cambio en la estructura de los datos no afectará a los

programas de aplicación que los utilicen.

Así pues definimos una Base de Datos como un conjunto de datos relacionados entre sí con información

referente a algo y el conjunto de programas y métodos que trabajan con esos datos. Así, se pueden utilizar

las Bases de Datos para cosas tan sencillas como mantener un registro de nuestra agenda personal de

teléfonos, o tan complicadas como llevar toda la gestión de una gran empresa u organización.

Al finalizar el estudio de esta unidad serás capaz de:

• Crear una base de datos en Base.

• Crear las tablas que forman la base de datos.

• Realizar operaciones con los datos de la base de datos.

• Crear y diseñar formularios para trabajar con los datos.

• Relacionar las tablas de la base de datos.

• Crear consultas de datos utilizando una o más tablas.

• Crear informes.

• Utilizar botones en los formularios.

3.- CONCEPTOS DE BASES DE DATOS.

Un Sistema de Gestión de Base de Datos (S.G.B.D) es un conjunto de programas que permiten

administrar y gestionar la información de una base de datos. OpenOffice Base es un potente sistema de

2 de 4

Page 3: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base.

administración de Bases de Datos relacional que nos va a permitir trabajar con los datos de una forma

fácil y segura para obtener los resultados deseados. Esta base de datos proporciona herramientas

necesarias para:

• Definir las estructuras de los datos.

• Manipular los datos de una forma sencilla. Se podrán insertar nuevos datos, modificar, consultar y

borrar.

• Diseñar formularios para trabajar con los datos de una forma sencilla y vistosa.

• Diseñar informes para obtener listados de los datos impresos.

• Mantener la integridad de la información.

El modelo Entidad/Relación se basa en una estructura denominada tabla (estructurada en filas y

columnas), y una serie de relaciones entre las distintas tablas (por ejemplo, la tabla FACTURAS estará

relacionada con la tabla CLIENTES, ya que cada factura tendrá un cliente, con lo que la factura tendrá que

indicar de alguna forma quien es cada cliente).

3.1.- COMPONENTES DEL MODELO RELACIONAL.

• Entidad : objeto acerca del cual se recoge información de interés para la base de datos. Por

ejemplo la entidad ALUMNO, o EMPLEADO, o PRODUCTOS. Se representará físicamente

mediante la estructura tabla.

• Atributo: es cada uno de los datos que forman parte de una entidad, es decir, es una característica

de la entidad (los vamos a llamar los campos de la tabla). Por ejemplo el NOMBRE, la EDAD,

DIRECCIÓN, TELÉFONO, CURSO...

• Tabla: es la estructura de datos utilizada para almacenar todos los datos de una base de datos

relacional. Representa una entidad ó una asociación de entidades, está formada por un conjunto de

filas y columnas, cada columna corresponde a un atributo o campo. Y cada fila representa un

registro con los datos asociados a una entidad. Por ejemplo si tenemos la tabla ALUMNOS, cada

fila representará los datos de un alumno concreto: su NOMBRE, su DIRECCIÓN, su

TELÉFONO, su CURSO. Y cada columna representa un atributo, cada columna tiene un nombre y

3 de 4

Page 4: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base.

puede tomar un conjunto de valores. Por ejemplo la columna NOMBRE, o DIRECCIÓN etc.

• Relación: asociación entre dos o más entidades.

• Clave Primaria: columna o conjunto de columnas que permiten identificar cada fila de la tabla.

Suele ser un atributo único que no se repita y que identifique a cada fila, por ejemplo el DNI, o el

NÚMERO DE EMPLEADO, o CÓDIGO DE ARTÍCULO..

• Clave ajena: una o más columnas de una tabla cuyos valores se corresponden con los de la clave

primaria de otra tabla. Las claves ajenas se utilizan para establecer las relaciones entre tablas.

• Registro: es una fila de la tabla, es decir el conjunto de datos relacionados que contienen la

información de una tabla. Por ejemplo la tabla ALUMNOS contiene los datos de los alumnos de

un centro, un registro son los datos de un alumno concreto, por ejemplo (Número de matrícula,

Nombre, Dirección, Curso, Nota...), y cada uno de estos datos forma un campo de la tabla.

4 de 4

Page 5: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 2.

1.- LA VENTANA DE BASE. OpenOffice Base es el gestor de base de datos que proporciona el paquete OpenOffice. Nos va a permitir

crear y manejar los datos de una base de datos para obtener los resultados deseados. Para entrar en Base

hacer clic en el botón de Aplicaciones de la barra de tareas, elegir Oficina y a continuación Gestor de

Bases de Datos ( OpenOffice.org2 Base ). Al entrar en el programa se presenta la siguiente pantalla inicial

de Base:

En ella podemos ver que se inicia un Asistente para Bases de Datos, en el cual podemos seleccionar las

siguientes operaciones:

• Crear nueva base de datos: Nos va a permitir crear una nueva base de datos en la que vamos a

insertar datos.

• Abrir un archivo de base de datos existente: En este caso podemos abrir una base de datos que

hayamos creado previamente.

• Conectar con una base de datos existente: Para el caso de que queremos conectar directamente

con una base de datos en funcionamiento.

1 de 16

Page 6: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 2.

2.- CREAR LA PRIMERA BASE DE DATOS. Para crear la nueva base de datos comenzamos eligiendo la opción Crear nueva base de datos del

Asistente para Base de Datos. Seguidamente dejamos las opciones que vienen por defecto y tras pulsar el

botón de Finalizar, aparecerá una nueva ventana donde se nos pide el nombre y la ubicación de la nueva

Base de Datos. Por defecto se nos mostrará nuestra Carpeta de Inicio. Si se desea crear una nueva carpeta

para almacenar la nueva base de datos pulsaremos el botón para crear una nueva carpeta.

En nuestro ejercicio llamaremos a la base de datos EMPRESA, ver figura. Los archivos de Bases de

Datos de Base tienen la extensión .ODB.

A continuación se muestra la ventana de la base de datos, en la que se muestran los objetos que se van a

utilizar para dotar de funcionalidad a la base de datos y que son los siguientes:

• Tablas: Es la unidad donde almacenaremos los datos de nuestra base de datos. Está formada por

un conjunto de atributos llamados columnas y un conjunto de tuplas llamadas filas. A los atributos

se les llama también Campos y a las filas Registros. Por ejemplo la tabla CLIENTES, que

contendrá los datos de los clientes.

• Consultas: Aquí definiremos las preguntas que formularemos a la base de datos con el fin de

2 de 16

Page 7: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 2.

seleccionar y recuperar información que cumpla una determinada condición. Por ejemplo los datos

de los clientes de una categoría determinada.

• Formularios: Elemento en forma de ficha que permite la gestión de los datos de una forma más

cómoda y más visual, lo que hace que la gestión de los datos sea más atractiva.

• Informes: Un informe es un método eficaz de presentar los datos en formato impreso, permite

preparar los registros de la base de datos de forma personalizada para obtener listados e

imprimirlos.

Para cerrar una base de datos pulsamos el botón cerrar de la ventana de la base de datos o elegimos la

opción Cerrar del menú Archivo. Para abrir una base de datos hacemos clic en el botón Abrir de la barra

de herramientas y a continuación buscamos la base de datos en las carpetas de almacenamiento.

3.- CREACIÓN DE UNA TABLA. Al seleccionar el objeto Tablas vemos que los tres primeros iconos que aparecen en el panel de la derecha

nos van a permitir crear una tabla siguiendo varios métodos. Estos son los siguientes:

3 de 16

Page 8: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 2.

• Crear tabla en vista Diseño: Crea una tabla especificando los nombres de campo y las

propiedades, así como los tipos de datos.

• Usar el asistente para crear tabla: Elige en una selección de muestra de tablas personales y

comerciales, que se pueden personalizar para crear una tabla.

• Crear Vista: Crea una Vista especificando las tablas y los nombre de campo que desee ver (OJO:

esto se utilizará solamente una vez que las tablas ya existen).

3.1.- CREAR UNA TABLA EN VISTA DISEÑO.

Si elegimos este método crearemos la tabla manualmente desde la Vista de Diseño, es decir iremos

definiendo cada uno de los campos o columnas de la tabla. Ver la figura:

Aparece una pantalla dividida en dos partes: en la superior ( 1 ) podemos distinguir un pequeño casillero,

donde describiremos los campos de la tabla (que recordemos, serán las columnas), mientras que en la

inferior ( 2 ) encontramos una serie de fichas vacías en el primer momento, pero que luego se utilizarán

para asignar propiedades a los campos creados.

La inserción de campos se realiza de forma manual, en la columna Nombre del Campo iremos

añadiendo los atributos o campos de la tabla. En la columna Tipo de Campo elegiremos de la lista el tipo

4 de 16

Page 9: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 2.

de dato que se almacenará en ese campo. Y en la columna Descripción se puede escribir un comentario

sobre el campo. A la izquierda de la fila en la que estamos posicionados aparece un marcador de fila.

Haciendo clic en este marcador podremos marcar toda la fila y mover el campo a otro lugar arrastrándole

con el ratón o suprimirlo si ya no se necesita.

Para crear un campo escribiremos un nombre en la columna Nombre de Campo, estos nombres deben ser

lo más descriptivos posibles del contenido de ese campo. Después de asignar el nombre hay que definir el

tipo de dato que almacenará dicho campo, se indica en la columna Tipo de Campo. Al elegir el tipo de

campo hay que tener en cuenta lo siguiente:

• El tipo de valores permitidos en el campo. Por ejemplo, no es posible almacenar texto en un

campo de tipo numérico.

• La cantidad de espacio que Base reservará para los valores ahí almacenados.

• Los tipos de operaciones que pueden realizarse con ese campo. Por ejemplo, Base podrá sumar los

valores de tipo numérico, pero no los de tipo texto.

A continuación se muestran los tipos de datos más usuales que podemos asignar a un campo:

TIPOS DE DATOS

ALMACENA DESCRIPCIÓN

Texto Permite almacenar caracteres alfanuméricos.

Existen diferentes tipos, cada uno de los cuales se caracteriza por la cantidad de información que pueden almacenar. Algunos son: Nota, TextoFijo, Texto, ...

Número Permite almacenar valores numéricos ( enteros y fraccionarios ).

Al igual que en el caso anterior, existen diferentes tipos, cada uno de los cuales puede representar un conjunto determinado de valores. Algunos de estos tipos son: TinyInt, BigInt, Número, Decimal, Integer, Float, Real, Double, ...

Nota Textos extensos. Permite almacenar información alfanumérica de mayor longitud.

Booleano ( Si/No )

Valores booleanos o Lógicos. Almacenarán como resultado Verdadero o Falso.

Fecha Fechas. Se puede especificar el formato utilizado para la fecha en las Propiedades del Campo.

5 de 16

Page 10: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 2.

Hora Horas. Se puede especificar el formato utilizado para la hora en las Propiedades del Campo.

FechaHora Fecha y Hora de forma conjunta. Se puede especificar el formato utilizado para la

Fecha y Hora en las Propiedades del Campo.

Integer Valores numéricos enteros Se usa para almacenar valores enteros, como puede

ser el código identificador de un cliente.

Ejemplo de aplicación: Creación de la tabla CLIENTES, de la base de datos EMPRESA.

NOMBRE CAMPO TIPO CAMPO

Id Cliente Integer [INTEGER]

ApellidosNombre Texto [VARCHAR], de tamaño 100

Direccion Texto [VARCHAR], de tamaño 50

Poblacion Texto [VARCHAR], de tamaño 50

Provincia Texto [VARCHAR], de tamaño 50

Telefono Integer [INTEGER]

Fecha Nacimiento Fecha [DATE]

Mail Texto [VARCHAR], de tamaño 100

Observaciones Texto [VARCHAR], de tamaño

Id Categoria Integer [INTEGER]

Pasos para crear los campos de la tabla CLIENTES desde la vista de diseño:

1. En nombre de campo escribimos Id Cliente y en tipo de campo elegimos Integer. En las

propiedades del campo dejamos en Tamaño del campo que viene por defecto. También podemos

escribir una descripción para el campo si así lo deseamos.

2. Colocamos el ratón en la siguiente fila de la columna nombre de campo y tecleamos

ApellidosNombre. En tipo de campo elegimos Texto. En las propiedades del campo, en Tamaño

del campo, ponemos 100.

3. Nos posicionamos en la siguiente fila de la columna nombre de campo y tecleamos Direccion. En

6 de 16

Page 11: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 2.

tipo de campo elegimos Texto. En las propiedades del campo, en Tamaño del campo, ponemos 50.

4. Hacemos lo mismo con Poblacion y Provincia.

5. A continuación colocamos el ratón en la siguiente fila de la columna nombre de campo y

tecleamos Fecha Nacimiento. En tipo de datos elegimos Fecha sin hacer ninguna modificación

más en las propiedades de dicho campo.

6. Colocamos el ratón en la siguiente fila de la columna nombre de campo y tecleamos Mail. En tipo

de campo elegimos Texto. En las propiedades del campo, en Tamaño del campo, ponemos 100.

7. Hacemos lo mismo con Observaciones.

8. Por último tecleamos Id Categoria en la siguiente fila, y en tipo de datos elegimos Integer.

La tabla ha de quedarnos similar a la mostrada en la figura:

Una vez que hemos tecleado todos los campos que van a formar la tabla pulsamos al botón Guardar de la

barra de herramientas. Escribiremos el nombre de la tabla en el cuadro de diálogo Guardar Como:

7 de 16

Page 12: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 2.

Si no hemos creado una clave aparece una viñeta avisándonos y, pregunta si la deseamos definir ahora. Si

contestamos afirmativamente creará un campo clave. En principio indicamos que no, ya que

posteriormente se la añadiremos.

A continuación, cerramos esta ventana, quedando la ventana de la base de datos de la siguiente manera:

8 de 16

Page 13: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 2.

3.2.- UTILIZANDO EL ASISTENTE PARA TABLAS.Accedemos a la opción haciendo clic en de la ventana de la base de datos. Con este método podremos elegir los campos de la tabla entre una gran variedad de campos que pertenecen a tablas predefinidas. Ver la figura que se muestra. El asistente proporciona el método más rápido y cómodo para diseñar tablas sencillas con campos muy comunes. Podremos elegirlos campos que nos interesen de las tablas ejemplo, e incluso los podemos cambiar de nombre para adecuarlos a nuestro propio diseño.

9 de 16

Page 14: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 2.

Iremos haciendo clic en botón Siguiente respondiendo a los cuadros de diálogo que aparezcan hasta

finalizar el proceso de creación.

4.- INTRODUCIR DATOS A TRAVES DE UNA HOJA DE DATOS.Para introducir datos en las tablas que hemos creado previamente, primero, en esta versión de Base,

tenemos que indicar el campo de dicha tabla que va a ser Llave Primaria o bien, agregar un campo

nuevo que actúe como clave principal (OJO: este proceso solamente se realiza una vez, ya que si la Llave

Primaria ya está definida, no es necesario definirla de nuevo).

Para este ejemplo, vamos a hacer que el campo Id Cliente sea la Llave Primaria actuando de la siguiente

forma:

1. Seleccionamos la tabla CLIENTES y pulsando en el botón derecho del ratón, seleccionamos la

opción Editar .

2. A continuación se nos mostrará la tabla CLIENTES con todos los campos que le habíamos

definido, quedando de la siguiente forma:

10 de 16

Page 15: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 2.

3. Seguidamente, marcamos el campo Id Cliente tal y como aparece en la imagen anterior, y

pulsamos de nuevo sobre el botón derecho del ratón, seleccionando en este caso la opción Llave

Primaria .

4. Después de esto, quedará dicha tabla con su Llave Primaria asignada, observándose una pequeña

llave en la parte izquierda del campo que hemos seleccionado, quedando como sigue a

continuación:

5. En la opción Valor automático seleccionamos el valor Sí. De esta forma cada vez que creemos un

cliente se le asignará un código automáticamente.

11 de 16

Page 16: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 2.

6. Por último, pulsamos el boton Guardar para que dicha tabla quede almacenada con su Llave

Primaria.

7. El siguiente paso, será abrir de nuevo la tabla CLIENTES desde la pantalla principal de Base, pero

esta vez, seleccionamos la tabla, pulsamos el botón derecho del ratón y elegimos la opción Abrir ,

apareciendo la siguiente figura en la cuál ya podemos ir insertando los datos de nuestros

empleados:

Ejemplo: Vamos a insertar la siguiente información en la tabla CLIENTES.

ApellidosNombre Direccion Poblacion Provincia Telefono Fecha Nacimiento

Observaciones

Id Categoria

Perez, Juan c\San Diego 24 Lucena Córdoba 643284736 05/04/72 1

García, Francisco c\Lucas 14 Motril Granada 623874537 26/11/71 0

Muñoz, Jose c\Francia 18 Granada Granada 683264735 10/05/69 0

Díaz, Luis c\Maquedano El Ejido Almeria 634298654 20/06/72 0

Gimeno, Isabel c\Virgen del Puis 3 Almeria Almeria 632055543 15/08/72 2

Miguel, Mateo c\Luis Fraile 3 Jaen Jaen 623954738 23/11/70 1

12 de 16

Page 17: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 2.

obteniendo como resultado la tabla CLIENTES con una serie de registros o filas, en concreto seis

empleados, con sus datos correspondientes.

La tabla quedará de la siguiente forma:

6.- CREACIÓN DE CLAVES PRIMARIAS E ÍNDICES.Como ya hemos comentado en los anteriores puntos, en toda base de datos relacional los datos se organizan en tablas, donde cada tabla tiene cero o más filas (o tuplas), y cada fila (o tupla) contiene información acerca de un elemento de la tabla (por ejemplo, la tabla clientes contendrá filas o registros de clientes).

Las filas en una tabla se encuentran desordenadas, y no pueden existir filas duplicadas en la tabla, ya que una tabla es un conjunto, y por definición, en un conjunto no se permiten elementos duplicados.

Cada columna representa un campo de la tabla (una tabla no puede tener 2 columnas con el mismo nombre), sirve para almacenar una determinada información, por ejemplo en una tabla de alumnos tendremos una columna para almacenar el nombre de los alumnos.

La definición de clave primaria es la de campo (o campos) que permiten la identificación única de cada tupla dentro de la tabla de la base de datos. Dicha clave primaria se define cuando la tabla es creada, aunque también existe la posibilidad de crearla más tarde, siempre que no exista ninguna tupla repetida dentro de la tabla donde se crea.

Para definir una clave primaria en Openoffice Base, una vez que hemos creado la tabla la abrimos en modo edición, pulsando el botón derecho del ratón sobre la tabla que deseamos modificar aparecerá el

13 de 16

Page 18: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 2.

menú contextual y seleccionaremos la opción Editar.

La tabla se abrirá en modo edición, permitiéndonos crear nuevos campos, la clave primaria y índices (que lo explicaremos más adelante).

14 de 16

Page 19: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 2.

Una vez que tenemos la tabla en modo edición seleccionamos que campo deseamos que sea la clave primaria, y con el botón derecho sobre la flecha verde que selecciona el campo, aparecerá un menú contextual donde podremos seleccionar la opción Llave primaria. Al realizar dicha opción habremos creado el campo seleccionado como llave o clave primaria, y aparecerá una especie de llave al lado del campo.

15 de 16

Page 20: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 2.

Al salir de la tabla nos pregunta si deseamos guardar los cambios modificados. Realizamos el guardado de dichos cambios.

Este paso sirve tanto para crear claves primaria formadas por un solo campo. Si lo que deseamos es crear una clave múltiple (o sea formada por varias columnas) lo que necesitamos simplemente es seleccionar los distintos campos que deseamos que pertenezcan a la clave primaria, realizando así la misma operación (para realizar la selección múltiple de los campos es necesario pulsar la tecla de Mayúsculas al mismo tiempo que se pincha en cada campo con el botón izquierdo del ratón). En el siguiente ejemplo vamos a abrir la tabla DETALLES DE PEDIDO y seleccionaremos los campos Id Pedido y Id Producto como clave primaria.

16 de 16

Page 21: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 3.

1.- INTRODUCCIÓN.Datos que se encuentran en una tabla suelen estar relacionados con datos de otras tablas. Así de esta forma se establece un vínculo denominado Relación por el cual se crea una asociación entre los datos de las tablas relacionadas.

Este método de relación suele ser utilizado para conseguir información de una tabla a traves de otra.

Las relaciones se establecen entre dos tablas. Existen 3 tipos de relaciones entre 2 tablas:

1. Relaciones 1 a 1: Un registro de la tabla A está asociado únicamente a un registro de la tabla B, y viceversa.

2. Relaciones 1 a N: También denominada relaciones de 1 a muchos. Un registro de la tabla A está asociado a muchos registros de la tabla B, mientras que un registro de la tabla B está asociado únicamente a un registro de la tabla A.

3. Relaciones N a N: También denominada relaciones de muchos a muchos. Un registro de la tabla A está asociado a muchos registros de la tabla B, y un registro de la tabla B está asociado a muchos registros de la tabla A.

A partir de aquí crearemos 5 tablas para construir las relaciones que vamos a ir explicando. Las tablas son:

• La tabla Clientes • La tabla Categorias• La tabla Pedidos • La tabla Productos • La tabla Detalles de pedidos

1 de 8

Page 22: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 3.

El detalle de cada tabla será el siguiente:

TABLA CLIENTES

Id Cliente Integer

ApellidosNombre Texto

Direccion Texto

Poblacion Texto

Provincia Texto

Telefono Integer

Fecha Nacimiento Fecha

Mail Texto

Observaciones Texto

Id Categoria Integer

TABLA CATEGORIAS

Id Categoria Integer

Descripción Texto

TABLA PEDIDOS

Id Pedido Integer

Fecha Fecha

Id Cliente Integer

Total Numero

Servido Si/No

2 de 8

Page 23: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 3.

TABLA PRODUCTOS

Id Producto Integer

Descripción Texto

Precio Número

Fecha Alta Fecha

TABLA DETALLES DE PEDIDO

Id DetallePedido Integer

Id Pedido Integer

Id Producto Integer

Cantidad Numero

Precio Actual Número

2.- COMO FUNCIONAN LAS RELACIONES.

Una de las grandes ventajas de las bases de datos es que podemos tener toda la información que necesitamos almacenada en varias tablas, relacionadas entre ellas, en lugar de una única tabla enorme con toda la información.

Siguiendo en el ejemplo anterior, los campos (o columnas) de las cuatro tablas deben coordinarse de modo que muestren información acerca del mismo pedido. Esta coordinación se lleva a cabo mediante las relaciones entre las tablas.

Una relación hace coincidir los datos de los campos clave (normalmente un campo con el mismo nombre en ambas tablas). En la mayoría de los casos, estos campos coincidentes son la clave principal1 de una tabla, que proporciona un identificador único para cada registro, y una clave externa2 de la otra tabla.

Como ejemplo podemos ver la relación entre la tabla CATEGORIAS y la tabla CLIENTES :

• Clave principal de la tabla CATEGORIAS: Id Categoria

• Clave ajena de la tabla CLIENTES: Id Categoria

1: Clave principal: uno o más campos (columnas) cuyos valores identifican de manera exclusiva cada registro de una tabla. Una clave principal no puede permitir valores Nulo y debe tener siempre un índice exclusivo. Una clave principal se utiliza para relacionar una tabla con claves externas de otras tablas.

2: Clave externa: uno o más campos de tabla (columnas) que hacen referencia al campo o campos de clave principal de otra tabla. Una clave externa indica cómo están relacionadas las tablas.

3 de 8

Page 24: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 3.

Para crear una relación, así como el comportamiento que tendrá, hemos de pulsar el botón

.

Una vez que hemos pulsado el botón nos aparecerá una nueva ventana donde podremos definir la relación.

Los pasos para definir la relación y su comportamiento correctamente son:

1. Seleccionar las tablas implicadas en la relación que se desea crear.

2. Seleccionar los campos (clave principal y clave ajena) de las tablas.

3. Seleccionar que operación se realizará cuando ocurra una operación de actualización de datos sobre la clave principal. Existen 4 posibilidades:

1. Ninguna acción: No realizará ninguna acción en la tabla que contenga la clave ajena cuando la clave principal sea modificada.

2. Actualizar cascada: Realizará una actualización de datos en cascada. Esto quiere decir que

4 de 8

Page 25: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 3.

si los datos de la clave principal fueran modificados, los datos de la clave ajena serían modificados de la misma forma con los mismos valores.

3. Poner null: Cuando un dato de la clave principal sea modificado, en la tabla que contenga la clave ajena se pondrá el valor de nulo (nulo no es valor en blanco ó 0, simplemente quiere decir ausencia de valor).

4. Predeterminar: Esto quiere decir que si el valor de la clave principal es modificado las claves ajenas adquirirán un valor predefinido por el usuario por defecto.

4. Seleccionar que operación se realizará cuando ocurra una operación de borrado de datos sobre la clave principal. Existen 4 posibilidades:

1. Ninguna acción: No realizará ninguna acción en la tabla que contenga la clave ajena cuando la clave principal sea modificada.

2. Eliminar cascada: Realizará un borrado en cascada de todos los datos que se encuentren relacionados mediante la clave principal y la clave ajena.

3. Poner null: Borrará el dato seleccionado, y pondrá a null todos los registros donde la clave ajena tenga el valor borrado de la clave primaria.

4. Predeterminar: Esto quiere decir que si el dato que contiene la clave principal es borrado todas las claves ajenas que contengan el valor de la clave principal adquirirán un valor predefinido por el usuario por defecto.

Para la actualización, lo normal suele ser elegir la posibilidad de actualizar en cascada, y para el borrado no existe una opción preferida sino que dependerá bastante del contexto, en nuestro caso, para esta relación, indicaremos la eliminación en cascada.

3.- RELACIONES 1 A 1.

Una de las grandes ventajas de las bases de datos es que podemos tener toda la información que necesitamos almacenar en varias tablas, relacionadas entre ellas, en lugar de una única tabla enorme con toda la información.

La relación uno a uno ocurre cuando un registro de la tabla A posee un único registro asociado en la tabla B y un registro de la tabla B posee un único registro asociado en la tabla A.

Este tipo de relación no es habitual, debido a que la mayoría de la información relacionada de esta forma estaría en una sola tabla. Puede utilizar la relación uno a uno para dividir una tabla con muchos campos, para aislar parte de una tabla por razones de seguridad o para almacenar información que sólo se aplica a un subconjunto de la tabla principal. Por ejemplo la tabla Categorías, donde indicaremos que cada cliente es de una categoría en concreto, pero solamente existirá un cliente por categoría, y una categoría por cliente, por lo que no tiene sentido separar la información en dos tablas.

Un ejemplo más claro todavía lo podemos ver en la tabla Paises y en la tabla Banderas. Cada país del mundo tiene una única bandera, y cada bandera pertenece a un único país, con lo que la relación entre las dos tablas es de 1 a 1.

El problema que tenemos es que OpenOffice Base no permite representar relaciones de tipo 1 a 1, ya que cada vez que intentamos realizar una la convierte a relación de tipo 1 a N (de 1 a muchos). En nuestro ejemplo la clave primaría que utilizaremos será la de la tabla Paises, y la clave ajena (o externa) será la columna Id Pais de la tabla Banderas. Daría igual si fuera al contrario. Al realizar la correspondencia entre las distintas tablas comprobaremos que OpenOffice Base pone la relación de 1 a N.

5 de 8

Page 26: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 3.

Así que la única solución posible es unir las dos tablas, manteniendo de esta forma la correspondencia de los registros. Esto hace que la idea que hemos explicado de separar la información en distintas tablas para su organización, en este caso, no sea posible.

4.- RELACIONES 1 A N (1 A MUCHOS).

La relación uno a varios ocurre cuando un registro de la tabla A puede tener mas de un registro asociado en la tabla B, mientras que, un registro de la tabla B posee como máximo un registro asociado en la tabla A.

Este tipo de relaciones suelen ser las más frecuentes, y por defecto, las que implementa OpenOffice Base.

En el ejemplo que estamos siguiendo de los pedidos, nos encontraremos que los clientes realizaran pedidos, y que cada pedido ha de pertenecer a un cliente. Esto hace que la clave primaria de la tabla Clientes (que es Id Cliente) se encuentre en la tabla Pedidos mediante una clave ajena, que será denominada con el mismo nombre.

Esta forma de definir las columnas (o campos) en las tablas permitirá crear la relación de 1 a muchos, ya que a cada pedido le podremos asignar un único cliente, pero cada cliente podrá tener muchos pedidos (o ninguno).

6 de 8

Page 27: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 3.

5.- RELACIONES N A N (MUCHOS A MUCHOS).

La relación varios a varios ocurre cuando un registro de la tabla A puede tener mas de un registro asociado en la tabla B y, análogamente, un registro en la tabla B puede tener mas de un registro asociado en la tabla A.

Como podemos observar, en este tipo de relaciones la solución anterior no es factible, ya que Base crea únicamente relaciones de tipo uno a muchos (1 a N), por lo que crear una columna en una tabla apuntando a otra no nos serviría. Por ejemplo un producto puede estar en muchos pedidos, y un pedido puede tener muchos productos. El problema que nos encontramos son:

1. Si añadimos la columna Id Producto de la tabla PRODUCTOS a la tabla PEDIDOS nos encontraremos con que al realizar la relación un producto podrá estar en muchos pedidos, pero un pedido solamente podrá contener un producto. Como podemos observar, esta solución no es correcta, ya que no es una relación muchos a muchos (N a N).

2. Si añadimos la columna Id Pedido de la tabla PEDIDOS a la tabla PRODUCTOS nos encontraremos con que, al realizar la relación, un pedido podrá contener diferentes productos, pero un producto solamente podrá encontrarse en un pedido, ya que un producto únicamente podrá registrar un solo pedido.

La solución a este problema es crear una nueva tabla, que la llamaremos DETALLES DE PEDIDO que

7 de 8

Page 28: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 3.

contendrá el identificador de la tabla PRODUCTOS (que el la columna Id Producto), y el identificador de la tabla PEDIDOS (que es la columna Id Pedido). En este caso, la nueva tabla nos permitirá asignar a un pedido un producto las veces que queramos, permitiendo de esta forma asignar a un mismo pedido muchos productos, y que un producto se encuentre en muchos pedidos. Aprovechando dicha tabla, crearemos una nueva serie de columnas que necesitaremos para aportar información extra al detalle del pedido (como puede ser la cantidad y el precio actual al que se realiza el pedido).

En la solución que hemos creado, observaremos que hemos incluido un campo denominado Id DetallePedido a la tabla DETALLES DE PEDIDO que nos servirá para identificar cada registro de la tabla. Esta solución nos permitirá repetir en un mismo pedido un producto, ya que la clave principal (o clave primaria) no es la combinación entre Id Pedido y Id Producto. Si en la solución que adoptáramos para la tabla DETALLES DE PEDIDO fuera necesario que para cada pedido únicamente pudiera tener un producto, nos veríamos obligados a no crear la columna Id DetallePedido y a hacer que la combinación de las columnas Id Pedido y Id Producto fueran la clave principal.

8 de 8

Page 29: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 4.

1.- ¿QUE SE PUEDE HACER?Para realizar operaciones en las tablas primero hay que abrirlas, bien haciendo doble click sobre el

nombre de la tabla ( en este caso la tabla EMPLEADOS ) o bien, seleccionándola, pulsando sobre el

botón derecho del ratón y elegimos la opción Abrir .

Se visualiza la hoja de datos. Para movernos en la hoja de datos utilizaremos el ratón, las teclas de

dirección arriba ↑, abajo ↓, a la izquierda ← o a la derecha → y la tecla Tab para cambiar de campo.

En la hoja de datos aparece, en la parte superior, la barra de herramientas, que contiene los botones para

operar con los registros de la tabla, ver la figura que se muestra:

En la parte inferior de la hoja de datos, aparecen los botones de desplazamiento, que se utilizan para

recorrer los registros.

Si queremos ir a un nº de registro conocido lo escribiremos en el cuadro de texto y pulsaremos Intro. Además, en la hoja de datos aparecen unos marcadores que nos indican el registro en el que estamos posicionados, el último registro y la creación de un nuevo registro.

Cada una de las filas de la tabla representa un registro y cada registro contiene los distintos datos.

Podremos realizar las siguientes operaciones:

• Insertar y borrar filas o registros.

• Operaciones con columnas.

• Ordenar registros

• Borrar, renombrar o agregar una columna en la hoja de datos.

• Buscar registros.

• Aplicar filtros.

1 de 8

Page 30: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 4.

2.- INSERTAR Y BORRAR FILAS O REGISTROS.Para insertar registros colocamos el cursor en la primera columna de la primera fila de la hoja de datos y

empezamos a escribir los datos. Para cambiar de columna pulsamos la tecla Intro o a la tecla Tab. Para

pasar al siguiente registro desde la última columna pulsamos al Intro, o directamente con el ratón.

También podemos utilizar el botón Registro Nuevo de la barra inferior.

Vamos a insertar los siguientes datos en la tabla Productos.

Descripción Precio Fecha Alta

Tornillo 0,5 03/01/09

Tuerca 0,1 05/01/09

Arandela 0,03 03/01/09

Martillo 3,5 20/01/09

Destornillador estrella 1,25 21/12/08

El resultado tras insertar los datos será el siguiente:

2 de 8

Page 31: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 4.

Como podemos observar a los campos automáticos no hace falta asignarle valor ya que valor es asignado

automáticamente.

Para borrar un registro o fila nos situamos en la fila que deseamos borrar, utilizando para ello el marcador

de fila y pulsamos el botón derecho del ratón, y elegimos la opción Eliminar Fila. Base, antes de eliminar

la fila, pide confirmación para realizar la operación.

3.- OPERACIONES CON COLUMNAS.Para ver todas las operaciones que se pueden hacer con las columnas hay que seleccionar una columna,

(para ello se hace clic con el ratón en el título de la columna) y en la barra principal de herramientas, se

activarán las operaciones que podemos realizar con dicha columna. Algunas de estas operaciones serán

las siguientes:

• Formateado de columnas... : Donde se puede especificar el formato que queremos dar a la

información que muestra la columna.

• Ancho de columna... : Se indica la anchura que tendrá la columna, especificándose de forma

manual o de forma automática.

• Ocultar columna : En este caso, permite ocultar dicha columna de forma que no se visualice. Se

puede volver a mostrar realizando la misma operación.

3 de 8

Page 32: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 4.

Sin duda una de las opciones más interesantes es el Formateado de columnas, ya que nos permite definir

como queremos ver los datos de la columna. Por ejemplo en el caso de una fecha:

4.- ORDENAR REGISTROS.Se pueden ordenar los registros de forma ascendente o descendente por una columna determinada, para

ello seleccionamos la columna o colocamos el cursor en ella y pulsamos el botón de la barra de

herramientas para ordenar de forma ascendente o el botón para ordenación descendente.

4 de 8

Page 33: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 4.

Por último, también se pueden ordenar los registros por uno o varios criterios, para ello pulsaremos el

botón y se nos mostrará una pantalla en la cual indicaremos el/los campo/s junto con la condición/es

que se van a establecer para dicha ordenación.

5 de 8

Page 34: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 4.

5.- BORRAR, RENOMBRAR O AGREGAR UNA COLUMNA EN LA HOJA DE DATOS.Para poder realizar todas estas opciones, primeramente tendremos que Editar la tabla sobre la que

deseamos realizar dichas operaciones. Una vez ha sido Editada, podemos realizar todas las operaciones

indicadas, operando de forma similar a como se hacía cuando se creó por primera vez.

De esta forma, podemos modificar el Diseño de dicha tabla, Borrando, Renombrando o Agregando

campos sobre la tabla.

6.- BUSCAR REGISTROS.Podemos buscar un valor en un campo o en todos los campos de una tabla, para ello pulsamos el botón

Buscar . Aparece la ventana de Búsqueda de registro de datos como indica la siguiente figura:

6 de 8

Page 35: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 4.

Desde este cuadro de diálogo, podemos indicar el valor que deseamos buscar en el apartado Buscar por .

En el apartado Área se indica donde buscar dicho valor, ya sea en todos los campos de la tabla o en un

campo individual especificado. Por último, en el apartado Configuración se especifican algunas opciones

que se pueden configurar a la hora de realizar la búsqueda de la información.

7.- APLICAR FILTROS.Un filtro nos va a permitir hacer una selección rápida de los datos de la tabla. En primer lugar vamos a

ver los tipos de Filtros que podemos aplicar:

• Autofiltro: para el cual pulsaremos seleccionando los registros que coincidan con el valor

actual del campo seleccionado.

• Filtro Estándar: para el cual pulsaremos apareciendo el cuadro de diálogo siguiente:

7 de 8

Page 36: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 4.

• Eliminar Filtro: para el cual pulsaremos quedando eliminados los filtros que se habían

establecido.

8 de 8

Page 37: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 5.

1.- CREACIÓN DE CONSULTAS.Una consulta permite efectuar preguntas acerca de la información almacenada en las tablas. En una

consulta se pueden obtener datos de una tabla e incluso de varias tablas, por ejemplo los datos de los

pedidos y de sus clientes correspondientes. En las consultas podremos ver los datos de las tablas,

analizarlos e incluso realizar cambios en ellos. Los cambios se registrarán también en la tabla

correspondiente. También podremos utilizar las consultas para realizar formularios.

Al seleccionar el objeto Consultas de la base de datos se observan tres métodos diferentes de crear una

consulta ver la figura:

2.- CREAR CONSULTA CON EL ASISTENTE.Este es el camino más sencillo para crear consultas sencillas; pero cuando hay que incluir condiciones de

1 de 26

Page 38: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 5.

selección es necesario recurrir al diseño.

Ejemplo de aplicación: Vamos a realizar una consulta para obtener los campos Nombre, Apellidos y

Teléfono de los cliente de la tabla CLIENTES que cumplan algunas de las condiciones que se exponen a

continuación.

Paso 1: Abrimos el asistente y, en la primera pantalla, elegimos la tabla CLIENTES de la lista

Tablas/Consultas y los campos de la misma. Hacemos clic en cada uno de los campos que van a formar la

consulta (y que vamos a utilizar en las condiciones más adelante) quedando como muestra la siguiente

figura:

Paso 2: Después de haber hecho clic en el botón Siguiente, la siguiente pantalla nos pide el Orden que

van a mostrar los campos que seleccionados. Se pueden ordenar por varios criterios, dependiendo de los

campos que hayamos seleccionado. En este caso, vamos a ordenarlos únicamente por el Apellidos de

cada cliente, quedando como se muestra a continuación:

2 de 26

Page 39: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 5.

Paso 3: El siguiente paso, será el de establecer una o varias condiciones de búsqueda en los campos

seleccionados, de este modo, se visualizarán sólo aquellos campos que cumplan dicha condición. En este

caso a modo de ejemplo, vamos a establecer una condición de búsqueda, consistente el mostrar sólo

aquellos cuya categoría es empleado (quiere decir que el id de categoría es 0), cuya condición, en este

caso, van a cumplirla todos los clientes. A continuación podemos ver como quedaría dicha condición:

3 de 26

Page 40: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 5.

Paso 4: A continuación, debemos de seleccionar el tipo de consulta, indicando si vamos a mostrar todos

los campos que obtenemos en la consulta ( Consulta Detallada ), o bien, vamos a mostrar el resultado de

aplicar ciertas funciones a dichos campos ( Consulta Resumida ). En este ejemplo, no vamos a aplicar

ninguna función a dichos campos, por lo tanto lo dejamos tal cual aparece en la figura:

Paso 5: El siguiente pasó será asignar un Alias a uno o varios campos de lo seleccionados. Un Alias

podemos definirlo como un nuevo nombre que pueden contener dichos campos, principalmente para que

sean más cortos a la hora de teclearlos y hacer referencia a ellos. En nuestro caso, vamos a definir un

Alias para cada uno de ellos, quedando como vemos en la siguiente imagen:

4 de 26

Page 41: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 5.

Paso 6: Por último, veremos un resumen de la consulta que hemos realizado, pudiente en este caso,

Mostrar la Consulta o bien, Modificar dicha Consulta, en el caso de que se haya optado por añadir o

suprimir determinados elementos o condiciones. En este misma pantalla, vamos a asignarle un nombre a

nuestra consulta, en este caso, la llamaremos consultaClientes1.

5 de 26

Page 42: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 5.

Al mostrar dicha consulta, veremos la siguiente información:

3.- CREAR UNA CONSULTA EN VISTA DE

DISEÑO.Si elegimos esta opción la consulta se crea manualmente. En primer lugar, se visualizan dos ventanas. La

primera es la ventana para elegir las tablas que participarán en la consulta, y la que aparece debajo es la

ventana del diseño de las consultas, ver la figura. La segunda ventana se activa al cerrar la ventana de

elección de tablas.

6 de 26

Page 43: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 5.

Los botones específicos para consultas de la barra de herramientas que tenemos disponibles son:

• Modo Diseño : activar/desactivar el modo Diseño (si lo desactivamos vamos a la edición del

lenguaje SQL, que es el lenguaje con el que se realizan las consultas sobre la base de datos).

• Ejecutar : muestra el resultado de la consulta sin necesidad de salir del modo de edición. Hay

que tener en cuenta que no guarda la consulta.

• Borrar : borra la consulta y quita todas las tablas de la vista Diseño.

• Añadir tablas : permite agregar más tablas a la consulta.

• Funciones : activa/desactiva la posibilidad de asociar funciones a los campos.

7 de 26

Page 44: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 5.

• Nombre de la Tabla : activa/desactiva en la ventana inferior la fila donde se muestra el

nombre de la tabla a la que pertenece el campo.

• Alias : activa/desactiva en la ventana inferior la fila donde se puede introducir el alias de un

campo.

• Valores unívocos : si se activa, aquellas filas que aparecen repetidas varias veces en el

resultado de una consulta sólo se mostrarían una vez. Por ejemplo, si creamos una consulta que

devuelva las categorías de los empleados (Id Categoría) , aparecerían tantas filas con la columna

Id Categoría como hubieran en la tabla, pero aparecerían todas (o sea, que si tenemos 7 empleados

aparecerá 7 veces el Id Categoría con valor 0) a menos que se activara esta casilla y ya sólo

aparecería una vez.

En cuanto a los campos y sus distintas opciones tenemos:

• Campo: muestra los nombres de los campos que se desean visualizar. En el caso de querer mostrar

todos los campos de una tabla, tenemos la posibilidad de poner “Nombre de tabla.*” en lugar de

poner uno a uno cada uno de los campos.

• Alias: el valor que se escriba se mostrará en la cabecera de la columna de resultados en lugar del

nombre del campo que tiene la tabla.

• Tabla: muestra la tabla a la que pertenece al campo.

• Orden: podemos elegir entre ordenar los resultados por los valores de ese campo de forma

ascendente o descendente.

• Visible: si queremos que se muestre ese campo en el resultado estará marcada. Los campos con

esta opción desmarcada se utilizan para fijar condiciones de filtrado de los resultados.

• Función: permiten realizar distintas operaciones sobre los resultados. Hay que tener en cuenta que,

una vez que a un campo se le incluye alguna función, el resto de los campos también deben llevar

asociada alguna de las funciones disponibles. Se ofrecen las siguientes funciones:

• Agrupar: permite agrupar los resultados a mostrar en función de uno o varios campos.

• Cantidad: devuelve el número total de filas devueltas que contengan algún valor para

ese campo.

8 de 26

Page 45: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 5.

• Promedio: para campos de tipo numérico devuelve la media de los resultados para ese

campo.

• Suma: para campos de tipo numérico devuelve la suma de los resultados para ese

campo.

• Máximo: para campos de tipo numérico devuelve el valor máximo de los resultados

para ese campo.

• Mínimo: para campos de tipo numérico devuelve el mínimo de los resultados para ese

campo.

• Criterio: Especifica criterios de filtro (que un campo contenga un valor mayor, menor, igual, etc..)

para el campo. Se pueden incluir varios criterios al mismo tiempo.

Ejemplo de aplicación: Vamos a realizar una consulta para obtener los campos Fecha, Id Cliente y

Total de los pedidos de la tabla PEDIDOS, que cumplan algunas de las condiciones que se exponen a

continuación.

Paso 1: Elegir la opción Crear una consulta en vista de diseño.

Paso 2: Elegir la tabla PEDIDOS, hacer clic en el botón Añadir y cerrar la ventana de mostrar tablas.

Paso 3: Aparece ahora la ventana de diseño de consultas, dividida en dos partes. En la superior aparecen

las tablas elegidas y en la inferior aparecen varias columnas formando una cuadrícula en la que

colocaremos los campos que seleccionemos para la consulta y los criterios de selección. Ver figura:

9 de 26

Page 46: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 5.

Paso 4: Elegimos los campos que queremos consultar, desplegando la lista que acompaña a Campo.

Paso 5: Seleccionamos los campos Fecha, Id Cliente,Total y Servido en la lista desplegable.

Paso 6: Para que el campo Servido no se visualice, se hace clic en la casilla de selección de la fila Visible

y aparecerá sin seleccionar.

Paso 7: Agregar el criterio de selección, en la fila Criterio y en la primera columna que tiene el campo

Servido indicamos que sea Verdadero (es igual a decir que Sí, mientras que Falso es igual que decir que

No). Ver la figura:

10 de 26

Page 47: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 5.

Paso 8: Pulsar el botón Guardar y llamar a la consulta consultaPedidos1

Paso 9: Para ver el resultado de la consulta, pulsar el botón Ejecutar Consulta. Se visualizarán 4 registros

en una tabla de respuesta mostrando la información solicitada. Ver figura:

11 de 26

Page 48: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 5.

Aunque en dicha consulta no hemos indicado un alias para cada uno de los campos de la tabla ( Fecha, ID

Cliente y Total ) se podría haber realizado dicha consulta habiendo establecido sus alias correspondientes.

4.- CONSULTA CON DOS O MÁS TABLAS.En ocasiones necesitamos obtener datos de varias tablas, para ello es necesario realizar consultas

utilizando dichas tablas. Podremos utilizar el asistente para consultas eligiendo las tablas correspondientes

y los campos correspondientes o también la vista de diseño. En nuestro caso, vamos a utilizar la Vista

Diseño para crear una consulta con dos tablas.

Ejemplo de aplicación: Utilizando las tablas PEDIDOS y CLIENTES de la base de datos de pruebas que

tenemos, pedimos obtener los datos de los clientes: Id Cliente, Nombre y Apellidos, y los datos del

pedido correspondiente: Id Pedido, Total y Servido.

Paso 1: Abrir la base de datos.

Paso 2: Abrir el objeto Consultas y hacer doble clic en la opción Crear una consulta en vista de Diseño.

Paso 3: Seleccionar la tabla PEDIDOS, clic en Añadir; seleccionar la tabla CLIENTES, clic en Añadir; y a

continuación cerramos esta ventana.

Paso 4: Si no nos aparece la relación entre las dos tablas hemos de crear la relación entre ellas, y para ello

accedemos a la Barra de Menús y elegimos Insertar --> Nueva relación..., obteniendo la siguiente

pantalla:

12 de 26

Page 49: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 5.

En dicha pantalla, seleccionamos para cada tabla el campo por el que las vamos a relacionar, en este caso

Id Cliente que es el común a ambas.

Paso 5: Una vez hemos establecido la Relación entre dichas tablas, obtendremos la siguiente figura:

13 de 26

Page 50: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 5.

Paso 6: En la ventana de diseño aparecen ahora las dos tablas, elegimos los campos indicados de cada

tabla como hacíamos en la consulta anterior. Ver la figura.

Paso 7: Una vez terminada el diseño de la consulta nos falta salvarla con el nombre consultaClientes-

Pedidos1 y ejecutarla para ver cual es el resultado que obtenemos.

Aunque este caso lo hemos realizado mediante la Vista Diseño, también es posible realizar una consulta

14 de 26

Page 51: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 5.

entre varias tablas desde el asistente.

5.- CREACIÓN DE CONSULTAS QUE

INCLUYEN FUNCIONES.Vamos a crear una consulta que realiza operaciones sobre los resultados. Así, vamos a crear una consulta

que muestre el nombre de cada cliente almacenado y el total de pedidos que ha realizado cada uno de

ellos. Es decir, el objetivo es realizar una consulta sobre CLIENTES y PEDIDOS de manera que

agrupemos las filas devueltas en función de cada cliente (quiere decir que creará grupos de filas de cada

empleado) para así poder contarlas y poder saber el número de pedidos asociados a cada uno de ellos. El

resultado de nuestra consulta, con las filas que tenemos actualmente en CLIENTES y PEDIDOS, debe ser

como el de la siguiente Figura.

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

15 de 26

Page 52: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 5.

Los campos que necesitamos son, por una lado Id Cliente de CLIENTES, que es sobre el que

agruparemos los resultados devueltos y, por otro, un campo de la tabla PEDIDOS que estemos seguros

que siempre tendrá un valor (no estará vacío) para cada fila de Pedidos. Por ejemplo, podemos elegir el

campo Id_Pedido que siempre va a tener valor para cada pedido. Los campos seleccionados se muestran

en la siguiente figura.

16 de 26

Page 53: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 5.

A continuación, debemos asociar la función correspondiente a cada uno de los dos campos. En primer

lugar, hemos dicho que queremos agrupar los resultados en función de cada cliente (Id Cliente), para ello

vamos a incluirle la función “Agrupar” asociada al campo Id Cliente. Y, en segundo lugar, lo que

queremos es contar los pedidos realizados por cada cliente. Esto último lo conseguimos asociando la

función “Cantidad” al campo Id Pedido de Pedidos.

17 de 26

Page 54: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 5.

Guardamos entonces la consulta como consultaClientes-Pedidos1 y al lanzarla nos encontramos una

pantalla como en la siguiente figura.

Como vemos, la cabecera con el total de los pedidos está mostrando la función que estamos utilizando

18 de 26

Page 55: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 5.

junto con el nombre del campo. Si queremos que el resultado aparezca con algo más intuitivo podemos

poner como alias “total pedidos”, es decir, una cabecera significativa.

Para poder ver el nombre y apellidos del cliente al mismo tiempo (ya que el campo Id Cliente es poco

intuitivo) simplemente añadimos los atributos Nombre y Apellidos a la consulta, tanto en los campos a

mostrar como en los campos a agrupar.

19 de 26

Page 56: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 5.

Hemos de tener en cuenta que la agrupación ha de ser por los campos Id Cliente, Nombre y Apellidos,

pero solo mostraremos visibles el campo Nombre y Apellidos.

6.- CRITERIOS DE SELECCIÓN.Para diseñar consultas es esencial saber cómo y qué criterios podemos especificar para recuperar

únicamente los datos que deseamos. Podemos aplicar los siguientes tipos de criterios:

A) Seleccionar intervalos de valores en un campo.

Se puede seleccionar registros en los que los valores de algunos campos estén en un rango determinado.

Por ejemplo que el total del pedido sea mayor de 100 o que el total de pedido esté entre 50 y 150. Para

identificar un rango dentro de una expresión se utiliza el operador Entre...Y o los operadores de

comparación ( >, <, >=, <= ). Por ejemplo aplicamos varios criterios a la columna Total de la tabla

PEDIDOS:

20 de 26

Page 57: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 5.

B) Usar caracteres comodín.

A veces interesa seleccionar campos que contengan un determinado modelo de caracteres, por ejemplo,

‘seleccionar los nombre de clientes que empiecen por la letra M’. Para esto utilizaremos los siguientes

caracteres comodín:

• El signo de interrogación (?) para sustituir un carácter por cualquiera en esa posición. Por ejemplo,

?a busca aquellos valores que empiecen por cualquier letra y la segunda sea una "a".

• El asterisco (*) para representar cualquier número de caracteres situados en la misma posición que

el asterisco. Al utilizar estos criterios, Base los encierra entre comillas y antepone la palabra

“Como”. Por ejemplo aplicamos varios criterios a la columna Nombre de la tabla CLIENTES.

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

21 de 26

Page 58: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 5.

C) Seleccionar registros que no coinciden con un valor.

Utilizaremos el operador NO. Por ejemplo, podemos introducir la expresión NO COMO 'M*' para

encontrar todos los clientes cuyo nombre no empieza por M. Base añade la palabra COMO. El ejemplo

muestra los clientes cuyo nombre no empieza por la letra M pero contiene una letra e.

D) Especificar varios criterios. Los casos anteriores muestran cómo utilizar un solo criterio para un campo. Sin embargo, podemos

especificar varios criterios para un campo. Para ello utilizaremos los operadores "Y" y "O". Por ejemplo,

para ver los clientes de la provincia de Granada o de Almería, escribiremos en la casilla criterios Granada,

y en la casilla o Almería. Ver la figura:

22 de 26

Page 59: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 5.

7.- CREACIÓN DE CONSULTAS

PARAMETRIZADA.Se recurre a ellas cuando se quiere hacer una consulta que permita pedir un dato antes de ejecutarla y

buscar según ese dato.

Una consulta que tiene uno o varios parámetros necesitará que éstos se indiquen para buscar datos en la

tabla.

Por ejemplo, si queremos realizar una consulta de los pedidos de un cliente en concreto diseñaremos una

consulta con parámetros (con un único parámetro en este caso) que no pida que cliente es al que

deseamos localizar sus pedidos, así cada vez que se ejecute la consulta nos aparecerá una ventana para

indicar el cliente.

Para la creación de una consulta parametrizada sobre todos los pedidos de un cliente en concreto,

23 de 26

Page 60: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 5.

solicitando como dato cada vez el código de cliente, seguiremos los siguiente pasos:

Paso 1: Abrir la base de datos y a continuación vamos a la opción de Consultas y pulsamos la opción

Crear consulta en vista Diseño...

Paso 2: Seleccionamos la tabla PEDIDOS y la tabla CLIENTES, donde de la tabla PEDIDOS

mostraremos las columnas Id Pedido, Fecha y de la tabla CLIENTES mostraremos las columnas

ApellidosNombre y Teléfono.

24 de 26

Page 61: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 5.

Paso 3: Ahora debemos seleccionar el campo por el que vamos a parametrizar la consulta, o sea, el campo

por el que preguntaremos cada vez. El campo en este caso es Id Cliente de la tabla PEDIDOS que no

deberá ser visible. Para la creación de un parámetro simplemente igualaremos el campo a una constante

(recordar simplemente que para igualar un campo a otro o a una constante, la operación se realiza en el

apartado Criterio)con dos puntos por delante (Ejemplo → :Cliente).

25 de 26

Page 62: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 5.

Paso 4: Guardamos los cambios, con lo que nos pedirá que le asignamos un nombre a la nueva consulta.

El nombre con la que la guardaremos será PedidosClienteParam. Una vez guardada simplemente la

abrimos en modo ejecución (o sea para que funcione, no en modo edición para realizar cambios en ella)

con lo que nos aparecerá una pantalla para indicar los valores de los parámetros que hemos creado.

Paso 5: Ponemos en valor el código de cliente que deseamos mostrar los pedidos y nos aparecerá

exclusivamente los pedidos de dicho cliente (en este caso seleccionaremos el cliente 4).

26 de 26

Page 63: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

1.- INTRODUCCIÓN.Un formulario es un tipo de objeto de una base de datos que nos va a permitir visualizar el contenido de

una tabla con un diseño personalizado. Por medio de ellos podremos trabajar de una forma más vistosa y

cómoda con los datos de las tablas y las consultas de la base de datos. Al seleccionar el objeto

Formularios desde la Ventana de la Base de datos se visualizan las dos formas diferentes de crear un

formulario. Ver la figura.

Existen 2 formas de crear formularios:

• Usar el asistente para crear formulario.

• Crear formulario en vista Diseño.

1 de 64

Page 64: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

2.- USAR EL ASISTENTE PARA CREAR UN

FORMULARIO.Este es el camino más sencillo para crear formularios. Se trata de ir respondiendo a las preguntas

formuladas en las diferentes pantallas que se irán abriendo. Se creará un formulario basado en las

respuestas proporcionadas. Elegimos la opción: Usar el asistente para crear formulario ... de la pantalla

de la Base de datos. Al elegir esta opción el diseño del formulario seguirá los siguientes pasos:

Paso 1: desplegamos la lista Tabla/Consultas y elegimos la tabla o consulta sobre la que trabajará el

formulario. Una vez elegida la tabla aparecen en el panel de la izquierda los campos de la tabla. Con los

botones del centro seleccionamos los campos deseados para el formulario. En el panel de la derecha irán

apareciendo dichos campos. Hacemos clic en Siguiente. Ver la figura:

Paso 2: En este segundo paso, nos pregunta si deseamos configurar un subformulario ( es un formulario

insertado en otro formulario ) en cuyo caso no vamos a hacerlo y hacemos clic en Siguiente. Ver la figura:

2 de 64

Page 65: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 3: En este paso elegimos la distribución de los campos en el formulario, es decir como se van a

presentar los datos. Puede ser: en Columnas – Etiquetas a la izquierda, en Columnas con Etiquetas

arriba, en forma de Hoja de datos y en Bloques con Etiquetas arriba. En el ejemplo elegimos en

Columnas – Etiquetas a la izquierda y hacemos clic en Siguiente. Ver la figura:

3 de 64

Page 66: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 4: A continuación elegimos el Modo de Entrada de Datos, donde tenemos 2 opciones principales:

• Utilizar el formulario para introducir datos nuevos, en este caso, no se mostrarán los datos

existentes.

• El formulario mostrará todos los datos, en cuyo caso, tenemos otra serie de opciones que

podemos activar.

Seleccionaremos la segunda opción.

Paso 5: En este paso vamos a aplicar un estilo al formulario. Base proporciona una lista de posibles

estilos. Debajo de dicha ventana se ve como queda el estilo seleccionado. Elegimos el estilo Azul

brillante, y hacemos clic en Siguiente. Ver la figura:

4 de 64

Page 67: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 6: Por último, debemos de asignar un nombre al formulario. Por defecto coge el nombre de la tabla,

dejamos ese nombre. También se puede abrir la ventana de diseño y modificar el formulario eligiendo el

segundo botón de opción Modificar el formulario o dejar marcada la primera opción Trabajar con el

formulario como haremos en este caso. A continuación, hacemos clic en Finalizar. Ver la figura:

Paso 7: Por último, se ejecuta el formulario para ver o introducir información, ( en este caso referente a la

5 de 64

Page 68: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

tabla CLIENTES ). Ver figura:

3- CREAR UN FORMULARIO EN VISTA

DISEÑO.Si elegimos esta opción, lo creamos manualmente. Se abre la ventana de diseño y el cuadro de

herramientas donde están los controles que se pueden insertar en el formulario. Ver la figura que se

muestra:

6 de 64

Page 69: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Si los Campos del control del formulario no aparecen, hacemos clic en Ver—Barra de herramientas—

Campos de control del formulario en donde tenemos los botones más utilizados para el diseño de un

formulario, que son los siguientes:

• Selección: Activa / Desactiva el modo Selección, que permite seleccionar cualquiera de los

campos que tenemos insertados en el formulario.

• Modo Diseño: Activa / Desactiva el Modo Diseño, el cual permite activar el formulario para

introducir elementos en él o bien desactivarlo, en cuyo caso no se podrán insertar elementos.

• Check Box ( Casilla de Verificación ): se utiliza cuando se quiere guardar un Si o un No.

• Campo de Texto: inserta un cuadro de texto.

• Campo Formateado: permite insertar un campo formateado.

• Botón: inserta un botón que ejecutará una acción determinada.

• Option Button ( Botón de opción ): se utiliza cuando hay que elegir un valor entre un grupo de

valores.

• Listado: permite listar un conjunto de valores.

7 de 64

Page 70: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

• Combo Box ( Cuadro combinado ): para elegir un elemento de una lista de ellos desplegándola.

• Campo de Etiqueta: inserta una etiqueta en el formulario.

• Más Campos de Control: permite ver más campos de control que pueden ser útiles en la creación

del formulario.

Ejemplo de aplicación: Diseñar un formulario para trabajar con los datos de la tabla CATEGORIAS. La

apariencia del formulario se muestra en la siguiente figura:

Paso 1: Abrir la base de datos.

Paso 2: Seleccionar Formularios de la barra de Objetos y elegir la opción Crear un formulario en vista

Diseño.

Paso 3: Hacer clic en el botón Guardar y dar un nombre al formulario, por ejemplo FormCategorias.

Paso 4: Ya en la ventana de diseño hacer clic en el botón Campo de Etiqueta, hacer clic en el formulario

y dibujar un recuadro indicando el tamaño de la etiqueta.

8 de 64

Page 71: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 5 : Una vez establecida, seleccionar el Campo Etiqueta puesto en el formulario y cambiar el tipo de

letra a Bitstream Vera Sans Mono, elegir de tamaño 18 y poner negrita. Para cambiar el tipo de letra,

tamaño y negrita, seleccionamos el Campo Etiqueta y hacemos clic en el botón derecho del ratón, para

que nos aparezca un menú contextual con una serie de opciones, dentro de las cuales elegimos Campo de

Control ... , visualizándose la siguiente pantalla, que hace referencia a las propiedades del Campo

Etiqueta y que vamos a modificar posteriormente según nos pide dicho apartado:

En la pestaña General es donde se encuentran los campos que tenemos que modificar para que el

formulario quede como se indica en el Paso 5.

Paso 6: A continuación, vamos a seguir insertando elementos en nuestro formulario. Una vez introducido

el título principal, vamos a introducir un nuevo Campo Etiqueta llamado Categoria: y junto a él un

Campo de Texto, el cual nos va a permitir ver los números de Categorías que ira asignando el sistema. Si

tenemos algún problema a la hora de situar el cuadro de texto en la posición que necesitamos se puede

modificar pulsando con el botón derecho encima del Campo de texto, y en el menú contextual que

9 de 64

Page 72: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

aparece seleccionando en la opción Anclaje la opción Al carácter. Por el momento no vamos a realizar

ningún tipo de modificación sobre dichos campos, quedando como se muestra en la siguiente figura:

Paso 7: Introducimos cada uno de los restantes elementos que faltan para completar el formulario,

quedando como se indica al comienzo de dicho ejercicio. Para ello será necesario, modificar las diferentes

propiedades de los elementos insertados, en este caso, solamente las propiedades de los objetos de tipo

Campo Etiqueta con las siguientes propiedades:

Fuente: Bitstream Vera Sans Nomo

Tamaño: 12

Estilo: Negrita

Color: Negro

Paso 8: Para asignar el color de fondo deseado al formulario, hacemos clic sobre el botón derecho en un

lugar libre del formulario e indicamos la opción Página... , a continuación, nos vamos a la pestaña Fondo

y elegimos el color Azul 3.

10 de 64

Page 73: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 9: Para ejecutar el formulario, primeramente debemos de cerrar la ventana de Diseño, y una vez que

estamos en la ventana principal de la Base de Datos, seleccionamos el formulario en cuestión, en este

caso FormCategorias, hacemos clic sobre el botón derecho del ratón y elegimos la opción Abrir , la cual

nos va a permitir ejecutar el formulario. Como resultado obtendremos la siguiente figura:

Paso 10: Observamos que no ocurre nada, se debe a que los Campos de Texto no tienen asociados los

datos de ninguna tabla. Para que el formulario funcione hay que asociar a los elementos de texto los

campos de la tabla CATEGORIAS.

Paso 11: Para ello debemos volver al diseño, cerrando la ventana que contiene el formulario y regresando

a la ventana principal de la Base de Datos, seleccionamos el formulario en cuestión, en este caso

FormCategorias, hacemos clic sobre el botón derecho del ratón y elegimos la opción Editar , la cual nos

va a permitir manipular el formulario asociando a los diferentes Campos de Texto los campos

correspondientes de la tabla CATEGORIAS.

11 de 64

Page 74: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 12: En primer lugar, vamos a asociar la tabla CATEGORIAS al formulario. Para ello hay que abrir

las propiedades del formulario, marcando algunos de los elementos que componen nuestro formulario y

haciendo clic en el botón derecho del ratón. A continuación se nos muestra un menú contextual, del cual

elegimos la opción Formulario... . Se nos mostrará una ventana en la que podemos ver las Propiedades

del Formulario, según indica el título de dicha ventana. A continuación, como se ven en dicha figura,

seleccionamos la pestaña Datos y en el campo Contenido indicamos el nombre de la tabla a la que hace

referencia el formulario, en este caso, la tabla CATEGORIAS.

Paso 13: Por último, nos queda asociar a cada uno de los Campos de Texto su correspondiente campo en

la tabla CATEGORIAS. Para ello, seleccionamos el primer Campo de Texto haciendo doble clic sobre él,

y nos aparecerán las propiedades de dicho campo, como se muestra a continuación:

12 de 64

Page 75: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Como se ve en dicha figura, seleccionamos la pestaña Datos y en el primer campo seleccionamos el

campo que se muestra en la figura, que hace referencia al campo Id Categoria. Procedemos de igual

forma al restante campo, seleccionando en este caso el nombre respectivamente. De esta forma, ya

tendremos los campos de la tabla CATEGORIAS asociados a dicho formulario. Para poder visualizarlos,

lo único que tendremos que hacer es cerrar dicho formulario y abrirlo nuevamente en modo Abrir como se

ha indicado en los pasos anteriores, viendo en este caso los diferentes datos que contiene dicha tabla y

pudiendo realizar algunas modificaciones, inserciones o borrado de información en la tabla desde dicho

formulario. Se tiene que conseguir un formulario que se verá de esta forma:

13 de 64

Page 76: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Para movernos entre los diferentes registros y realizar distintas operaciones sobre ellos, usaremos la barra

“Navegación de Formularios” que nos aparece en la parte inferior ( en la que destacan los siguientes

elementos:

• búsqueda de registros

• desplazamiento entre registros

• inserción de nuevo registro

• guardar cambios registro

• deshacer entrada de datos

• eliminación del registro actual.

14 de 64

Page 77: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

4.- CREACIÓN DE FORMULARIOS

MAESTRO/DETALLE CON EL ASISTENTE.Este tipo de formularios nos permite visualizar registros de una tabla detalle relacionados con una tabla

maestra. Por ejemplo, si tenemos una tabla de equipos de fútbol y una tabla de jugadores, en un

formulario maestro/detalle (también llamado formulario con subformulario) cada vez que se apunte a un

registro de la tabla de equipos serán apuntados automáticamente los jugadores relacionados con dicho

equipo. Si nos movemos por los registros de la tabla de equipos de fútbol irán apareciendo cada lista de

jugadores de cada registro de equipo de fútbol.

Vamos a crear un formulario que permita relacionar los pedidos con los detalles de pedidos y al que

llamaremos FormDetallesPedido.

Paso 1: Abrimos la base de datos y nos vamos al apartado de formularios.

Paso 2: Pulsamos la opción Usar el asistente para crear formulario...

Paso 3: Seleccionamos la tabla PEDIDOS y los siguiente campos de dicha tabla (el campo Servido no lo

ponemos, por ahora).

Paso 4: Pasamos al paso de Configurar un subformulario donde se nos permitirá crear un subformulario

15 de 64

Page 78: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

asociado al formulario de pedidos. Activaremos la opción de Agregar subformulario. Como tenemos

creada la relación entre la tabla PEDIDOS y la tabla DETALLES DE PEDIDO seleccionamos crear un

subformulario basada en una relación existente, apareciendo la relación con la tabla DETALLES DE

PEDIDO. Seleccionamos la tabla y pulsamos Siguiente para seguir con la creación de formulario.

Paso 5: A continuación agregaremos los siguientes campos para el subformulario (no será necesario el

campo Id Pedido, ya que el valor de dicho campo será el valor del que tenga la tabla PEDIDOS). Una

vez seleccionados los campos pulsamos el botón de siguiente para continuar con el asistente.

16 de 64

Page 79: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 6: Pasamos a definir como deseamos ver el formulario y el subformulario (o sea la tabla PEDIDOS

y la tabla de DETALLES DE PEDIDO). La mejor forma de poder visualizar este tipo de formularios es

poner el formulario principal en columnas con etiquetas a la izquierda y el subformulario como hojas de

datos. Una vez definido como queremos la visualización pasamos al paso siguiente.

Paso 7: En esta pantalla podemos seleccionar el modo de entrada de datos. Por defecto el formulario

mostrará todos los datos, permitiendo cualquier operación. Se quedará esta opción marcada y pasaremos a

seleccionar el estilo que deseamos para la pantalla.

17 de 64

Page 80: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 8: Seleccionamos el estilo Azul brillante y pasamos a dar el nombre FormDetallesPedido al

formulario.

Paso 9: A continuación abrimos el formulario para poder trabajar.

18 de 64

Page 81: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Como vemos el formulario nos permite insertar datos tanto en el pedido como en los detalles del pedido

asociados al pedido, pero nos encontramos con que es poco intuitivo dicho formulario, ya que el cliente

debe ser asignado con un código y el producto ha de ser de la misma forma, ademas de que conforme

vamos insertando productos la cantidad no se va recalculando el total de los pedidos, y falta por poner el

campo servido. En el próximo apartado veremos como arreglar todos estos problemas.

5.- DISEÑO AVANZADO DE FORMULARIOS I:

CUADRO DE LISTADO EN EL FORMULARIO

PRINCIPAL.Nos encontramos con que en el anterior apartado hemos tenido los siguientes problemas:

• El cliente debe ser asignado como un código: Este problema lo arreglaremos creando un cuadro

de listado.

• El producto debe ser asignado como un código: Este problema lo arreglaremos creando un cuadro

de listado.

• Conforme vamos insertando productos la cantidad no se va recalculando el total de los pedidos:

Crearemos una consulta que vaya recalculando.

• Falta por poner el campo servido: Pondremos una casilla de verificación .

Creación de un cuadro de listado para el cliente.

Vamos a añadir un campo de lista al formulario FormDetallesPedido donde podremos seleccionar el

cliente desde dicho campo de lista, mostrando los apellidos y nombre del cliente, en vez de escribir el

número del cliente.

Paso 1: Abrimos el formulario FormDetallesPedido en modo de edición para poder realizar

modificaciones.

19 de 64

Page 82: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 2: De la barra de herramientas que se encuentra situada a la izquierda seleccionamos el objeto

Listado, que nos permitirá insertar un cuadro de texto que nos mostrará la lista de clientes. Dicho cuadro

de texto mostrara la lista de clientes mediante un menú desplegable, pero cuando el menú no se encuentre

desplegado solamente mostrará el cliente seleccionado en el pedido. Para insertar el objeto Listado en el

formulario simplemente lo seleccionamos y lo arrastramos a la posición que deseemos, indicando su

tamaño (es conveniente seleccionar un tamaño adecuado al que tenemos con los demás cuadros de texto).

Paso 3: Al insertar el objeto Listado aparecerá un asistente para configurar el cuadro de lista. Lo primero

que tenemos que seleccionar es la tabla de la que mostraremos los datos. En este caso seleccionaremos la

tabla CLIENTES. Una vez que seleccionamos la tabla CLIENTES pulsamos el botón Siguiente.

20 de 64

Page 83: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 4: Seleccionaremos el campo que visualizaremos en el nuevo cuadro de lista que hemos puesto en el

formulario. Deseamos que se muestre el campo ApellidosNombre de la tabla CLIENTES (que es la que

hemos seleccionado con anterioridad). Una vez que lo hayamos seleccionado pulsamos el botón de

Siguiente.

21 de 64

Page 84: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 5: En la siguiente pantalla de la configuración del cuadro de lista configuraremos el vínculo que

existe entre la tabla PEDIDOS y la tabla CLIENTES (o sea, configuraremos la relación existente entre lo

que vamos a mostrar en el cuadro de lista, en nuestro ejemplo será ApellidosNombre de la tabla

CLIENTES, que será el mismo cliente cuyo Id Cliente sea el mismo que el de la tabla PEDIDOS). Tras

realizar el vínculo pulsaremos el botón de Finalizar, ya que habremos acabado con el proceso de

configuración del cuadro de listado.

22 de 64

Page 85: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Una vez que hemos acabado con la configuración obtendremos la siguiente pantalla con nuestro nuevo

objeto en ella.

23 de 64

Page 86: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Si cerramos la pantalla de diseño guardando los cambios, y la abrimos en modo de ejecución podremos

ver que nuestro cuadro de lista funciona correctamente. Podremos seleccionar clientes a partir del nuevo

cuadro de lista.

24 de 64

Page 87: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Ahora es necesario arreglar la pantalla borrando el campo Id Cliente del formulario, ya que no nos es

necesario. Pondremos también el mismo color al cuadro de lista como el de los los otros para que queden

todos iguales, así como una etiqueta que ponga cliente, cuyo color de fuente será blanco. La pantalla nos

quedará de la siguiente forma:

25 de 64

Page 88: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Existen algunas utilidades a la hora de trabajar con un formulario que nos permitirán hacer un diseño más

eficaz. Estas utilidades se encuentran en la barra de herramientas situada en la parte de abajo de la

pantalla de diseño y son las siguientes:

• Control: este botón se activará cuando tengamos seleccionado un control u objeto del

formulario, y nos permitirá sacar las propiedades del control u objeto seleccionado.

• Formulario: este botón nos permite sacar las propiedades del formulario.

• Navegador del formulario: este botón nos permitirá navegar por los distintos objetos

incrustados en el formulario.

• Agregar campo: este botón nos permitirá agregar un campo de la tabla con la que estemos

trabajando en estos momentos.

• Secuencia de activación: este botón nos permite definir el orden por el que podremos

26 de 64

Page 89: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

navegar por los distintos objetos (por ejemplo definiremos que de la fecha pasaremos al cliente, y

del cliente al total, y así sucesivamente). A esto se le llama también Orden de tabuladores.

Estas distintas pantallas las podemos ver todas juntas de la siguiente forma:

6.- DISEÑO AVANZADO DE FORMULARIOS II:

CUADRO DE LISTADO EN LA REJILLA DE

DATOS.Aunque la idea de crear un cuadro de listado para el producto es la misma que para el cliente en el

formulario principal, este caso es más complicado, ya que el cuadro de listado ha de aparecer dentro de la

rejilla de datos que tenemos. Para crear dicho cuadro de listado hemos de seguir los siguientes pasos:

27 de 64

Page 90: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 1: Abrir la base de datos y a continuación abrir el formulario FormDetallesPedido en modo diseño.

Paso 2: El principal problema que tenemos es que la rejilla se divide en 3 columnas: Id Producto,

Cantidad y Precio Actual, y en vez de esta división deseamos tener Descripción de Producto (como un

cuadro de listado donde podamos seleccionar cada producto), Cantidad, Precio Actual y SubTotal (que

será la operación Cantidad*Precio Actual). Para ello lo primero es entrar en la configuración de las

columnas. Pulsamos el botón derecho sobre la columna Id Producto de forma que nos aparece un menú

contextual que nos indica que operaciones podemos hacer con la columnas en la rejilla. En este caso nos

iremos a la opción Eliminar Columna, ya que esta columna no será necesaria.

28 de 64

Page 91: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 3: Una vez eliminada la columna necesitamos crear una nueva columna, que será el cuadro de

listado que mostrará los productos. Para ello, sobre la primera columna que ahora es Cantidad volvemos a

pulsar el botón derecho y en el menú contextual contextual que aparece seleccionamos Insertar

columna, y a continuación Listado.

29 de 64

Page 92: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 4: Al insertar la nueva columna nos aparecerá una columna con nombre Columna1 a la izquierda del

todo, que será la que ahora configuremos para que muestre nuestro listado de productos. Para ello

pulsamos el botón derecho sobre la nueva columna y seleccionamos la opción Columna, que nos

permitirá configurar dicha columna.

Paso 5: Ahora viene el paso más complicado que es configurar el origen de datos del listado y a que está

ligado. Para ello lo vamos a hacer poco a poco. Cuando aparezca la pantalla denominada Propiedades:

Listado (que aparece al haber seleccionado Columna en el menú contextual de Columna1)

configuraremos en la pestaña de datos las opciones que aparece de la siguiente forma:

• Campo de datos: Esta opción indica que dato es el que vamos a almacenar en la tabla del

subformulario. En nuestro caso, como la tabla del subformulario es DETALLES DE PEDIDO el

dato que deseamos almacenar es Id Producto.

• Tipo del contenido de lista: En esta opción se indica que tipo de contenido se va a mostrar en el

cuadro de listado. Este tipo de contenido puede provenir de diversas fuentes: Lista valores, tabla,

pregunta, SQL (una consulta como las que hemos realizado anteriormente) o un campo de una

tabla. En nuestro caso vamos a acudir a una consulta SQL, ya que necesitamos obtener el nombre

del producto de la tabla PRODUCTOS, y que su código de producto(el campo Id Producto de la

tabla PRODUCTOS) enlace con el de la tabla DETALLES DE PEDIDO. Seleccionaremos la

30 de 64

Page 93: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

opción Sql.

• Contenido de lista: Este campo permite indicar cual va a ser el contenido de la lista. Como el tipo

ha sido indicado como Sql pulsamos el botón . De esta forma podemos definir cual va a ser el

contenido que queremos que se muestre en la lista. Al pulsar el botón nos aparecerá una nueva

pantalla para crear consultas (tal y como se comento en el apartado de la construcción de

consultas). Para nuestro ejemplo crearemos una consulta sobre la tabla PRODUCTOS que muestre

los campos Descripción y Id Producto. Cuando terminemos de definir la consulta la guardamos y

cerramos la pantalla.

• Campo ligado: Será el campo a mostrar en la lista, por lo que ponemos el valor 1. Por defecto se

quedará que el segundo campo de la consulta (que es Id Producto de la tabla PRODUCTOS) será

el que se una con el campo de datos (que es Id Producto de la tabla DETALLES DE PEDIDO).

La pantalla de configuración de la Columna1 ha de quedar de la siguiente forma:

31 de 64

Page 94: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 6: Sin cerrar la pantalla pulsamos en la pestaña de General y modificamos las siguientes opciones:

• Título: Descripción del producto

• Ancho: 7.00 cm

32 de 64

Page 95: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 7: Una vez que hemos realizado dichas modificaciones cerramos la pantalla y guardamos los

cambios realizados en el formulario. Si cerramos el formulario y lo abrimos de modo que podamos

trabajar podremos ver que hemos creado un cuadro de listado para poder seleccionar los productos dentro

de la rejilla de datos.

33 de 64

Page 96: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

7.- DISEÑO AVANZADO DE FORMULARIOS III:

CREACIÓN DE UN CAMPO CALCULADO.Un campo calculado es una campo o columna la cual se le realiza una operación con los datos de una

tabla y se muestra en pantalla, pero sin que este campo o columna exista dentro de la base de datos. El

caso más común es el cálculo de subtotales (totales parciales). Por ejemplo, en nuestro ejemplo, cuando

realizamos pedidos asociamos a los pedidos varias líneas (cuando en una tienda nos entregan una factura

de diversas cosas tenemos en la parte superior lo que se denomina cabecera de la factura, y en la parte

central el cuerpo de factura, estando compuesto dicho centro de factura por líneas de detalle de la factura)

de pedido, que están compuestos por el producto que queremos pedir, una cantidad y un precio de cada

producto. Un subtotal sería de cada producto pedido sería la multiplicación entre la cantidad y el precio.

En la siguiente tabla podemos ver un ejemplo de un campo calculado (denominado en este caso Subtotal

del producto).

Producto Cantidad Precio Subtotal del producto

Tornillo 0,5 mm 5 0,25 1,25

Martillo mango palo 3 2,5 7,5

Arandela 36 0,14 5,04

Destornillador estrella 5 4 20

Tijeras 2 3 6

Para crear un campo calculado en nuestra rejilla de datos hemos de realizar los siguientes pasos:

Paso 1: Abrir la base de datos y a continuación abrir el formulario FormDetallesPedido en modo diseño.

34 de 64

Page 97: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 2: Seleccionar el subformulario y con el botón derecho del ratón sacar el menú contextual, y en

dicho menú seleccionar la opción Formulario... (también se puede llegar seleccionando el subformulario

y pulsando , que es el botón que nos muestra las propiedades del formulario seleccionado, que en

este caso es el subformulario). Una vez abierto la ventana de propiedades nos movemos a la pestaña de

datos, donde podremos ver el origen de los datos del subformulario. La ventana que obtendremos tendrá

este aspecto.

35 de 64

Page 98: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 3: Como podemos observar en la pantalla anterior el origen de datos del subformulario es la tabla

DETALLES DE PEDIDO, que contiene los campos Id Pedido, Id Producto, Cantidad y Precio Actual.

Como el origen de datos es una tabla no podemos crear un campo calculado sobre ella, ya que, en ese

caso, crearíamos un campo físico sobre dicha tabla (como puede ser el campo Cantidad). La solución al

problema es muy sencilla: convertir el origen de datos de una tabla a una consulta Sql, ya que con una

consulta Sql podemos realizar las mismas operaciones que con la tabla, además de poder crear los campos

calculados. La opción Tipo de contenido nos da 3 posibilidades:

• Tabla: Para seleccionar una tabla de datos como origen directamente.

• Consulta: Para seleccionar una consulta Sql creada en el apartado de consultas.

• Comando SQL: Podemos crear una consulta Sql que no este creada en el apartado consultas.

Así que modificamos la opción Tipo de contenido del subformulario indicando que es un

Comando SQL, ya que vamos a crear una nueva consulta que no existe, y a continuación pulsamos

el botón de Contenido donde nos aparecerá de nuevo la pantalla para construir nuestra nuevo

comando SQL. Nos aparecerá la siguiente pantalla:

36 de 64

Page 99: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 4: En este paso hemos de construir la consulta que queremos mostrar en el subformulario. Los datos

han de provenir de la tabla DETALLES DE PEDIDO, por lo que seleccionaremos dicha tabla como única

tabla para trabajar. Una vez que la tenemos seleccionada pasaremos a seleccionar los campos que nos

interesan, que serán Id Pedido,Id Producto, Cantidad y Precio Actual. Tendremos la siguiente pantalla:

37 de 64

Page 100: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 5: El nuevo campo, que será el campo calculado que deseamos crear, es la operación

Cantidad*Precio Actual, así que en la cuarta columna (que en estos momentos estará en blanco)

ponemos los siguientes valores:

• Campo: “Cantidad” * “Precio Actual”

• Alias: Subtotal del producto

• Tabla: Detalles de Pedido

• Visible: Activado.

Lo visualizaremos en la pantalla de la siguiente forma:

38 de 64

Page 101: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 6: Una vez que ya tenemos creado el campo calculado guardamos los datos y cerramos la pantalla

de creación de consultas. Volveremos a la ventana de Propiedades del formulario, y veremos que el

origen de los datos ya ha cambiado. La ventana quedara de la siguiente forma:

39 de 64

Page 102: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 7: Cerramos la ventana de Propiedades del formulario, y pasamos a añadir una nueva columna a la

rejilla de datos. El tipo de objeto de la nueva columna de datos será Campo formateado (OJO: no será

esta vez un Campo de texto). La razón de escoger un campo formateado es que nos va a permitir definir

como queremos visualizar el campo que hemos creado. Al añadirlo nos quedará la rejilla de la siguiente

forma:

40 de 64

Page 103: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 8: En la nueva columna que ha aparecido (en este caso se llama Columna2) hemos de configurarla

para que muestre el nuevo campo que hemos creado. Pulsamos sobre ella el botón derecho del ratón y al

aparecer el menú contextual seleccionamos la opción Columna. En la siguiente pantalla aparece el menú

contextual.

Paso 9: Obtendremos la ventana de Propiedades del campo formateado, y en ella seleccionaremos, en la

pestaña de datos, en el apartado Campo de datos... nos aparecerá para seleccionar el nuevo campo

calculado que hemos creado. La pantalla se mostrará de la siguiente forma:

41 de 64

Page 104: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 10: En la pestaña de General ponemos que el título de la columna sea Subtotal del Producto, y en

la opción de Sólo lectura la ponemos a Sí para que no se pueda escribir sobre dicha columna. Ahora

seleccionaremos cual es el formato en que queremos visualizar los datos de la columna Subtotal del

Producto, así que para ello acudiremos a la opción Formato, y pulsaremos el botón . Una vez que lo

hemos pulsado nos aparecerá una pantalla para poder seleccionar distintos formatos de como queremos

visualizar el contenido. Seleccionaremos la categoria Moneda y el formato -1.234,00€. En la ventana se

mostrará así:

42 de 64

Page 105: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 11: Una vez seleccionado el formato pulsamos el botón de aceptar. A continuación, en el campo

Valor predeterminado ponemos el valor de 0. Esto es muy importante, ya que sino, al insertar cualquier

dato, nos dará un error de que debemos insertar datos en esta nueva columna (y esta columna

simplemente calcula datos). Indicamos también que el campo sea de Sólo lectura. La ventana de

Propiedades del campo formateado a de quedar de la siguiente manera:

Paso 12: Cerramos la ventana de Propiedades del campo formateado y antes de cerrar el formulario

vamos a modificar el tamaño de la rejilla y de la ventana principal para adaptarlos al tamaño adecuado y a

continuación guardamos los cambios. Si abrimos de nuevo el formulario para poder trabajar nos

encontraremos con que la columna está recalculando los datos automáticamente y con forma de

visualizarlo correcta.

43 de 64

Page 106: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

8.- DISEÑO AVANZADO DE FORMULARIOS IV:

CREACIÓN DE UN CAMPO CALCULADO

PARA EL FORMULARIO PRINCIPAL.En este caso en concreto vamos a crear un campo calculado que se va a encargar de realizar un cálculo

sobre el total de los registros que contenga el subformulario respecto del registro actual del formulario

principal. Veamos los siguientes ejemplos:

44 de 64

Page 107: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

• Una tabla de DISCOS y una tabla de CANCIONES DE DISCOS: Siendo la tabla del formulario

principal la de DISCOS y la tabla del subformulario la de CANCIONES DE DISCOS, podríamos

crear un campo calculado que contara el número total de canciones que tiene cada disco.

• Una tabla de PEDIDOS y una tabla de DETALLES DE PEDIDOS: Siento la tabla del formulario

principal la de PEDIDOS y la tabla del subformulario la de DETALLES DE PEDIDOS, podríamos

crear un campo calculado que sumara la cantidad por el precio de cada producto, obteniendo así el

total del importe del pedido.

Vamos a trabajar con el ejemplo que hemos estado siguiendo anteriormente, y que hemos descrito en el

segundo punto de los ejemplos.

Paso 1: Abrir la base de datos y a continuación abrir el formulario FormDetallesPedido en modo diseño.

45 de 64

Page 108: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 2: No podemos asociar el nuevo campo calculado al formulario principal, ya que este depende de la

tabla PEDIDOS, y tampoco podemos asociarlo al subformulario ya que depende de la tabla DETALLES

DE PEDIDO pero para mostrar todos los registros de la tabla asociados a la de PEDIDOS, pero no está

preparada para calcular el total de cada pedido. Hemos de crear un nuevo formulario que nos calcule el

total del pedido. Para ello abrimos el Navegador del formulario pulsando el botón . Nos aparecerá

la siguiente pantalla:

Paso 3: En el navegador del formulario nos aparecerá el formulario principal (con el nombre MainForm)

y el subformulario (con el nombre SubForm). Todo lo demás son los diversos objetos que se encuentran

46 de 64

Page 109: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

en los formularios. Lo que hemos de hacer es añadir un nuevo subformulario al formulario principal (que

será donde se realicen los cálculos del total del pedido). Para ello pulsamos el botón derecho del ratón

sobre el formulario principal, y en el nuevo menú contextual que aparece seleccionamos Nuevo y a

continuación Formulario, con lo que insertaremos un nuevo subformulario que depende del formulario

principal. El menú contextual que aparecerá será el siguiente:

Paso 4: Al insertar el nuevo subformulario, en la ventana del Navegador de formulario, aparecerá un

nuevo formulario cuyo nombre pondrá Standard, pero al que llamaremos subFormCalculoTotal (si no

podemos cambiarle el nombre simplemente pulsando el botón derecho del ratón encima nos saldrá de

nuevo un menú contextual que nos permitirá cambiar el nombre). El Navegador de formulario nos

quedará de la siguiente forma:

47 de 64

Page 110: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 5: Ahora hemos de asignar al nuevo subformulario cuales van a ser los datos que debe mostrar

(recordamos que es el cálculo del total del pedido del formulario principal). Para ello pulsamos el botón

derecho del ratón encima para sacar el menú contextual y seleccionamos la opción Propiedades.

48 de 64

Page 111: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 6: Al pulsar en dicha opción nos aparece la pantalla de Propiedades del formulario.

Paso 7: Seleccionamos la pestaña de Datos para indicar cual va a ser el origen de los datos del

formulario. Como hemos de crear un campo calculado seleccionaremos en el apartado Tipo de contenido

seleccionamos la opción Comando Sql, con lo que podremos construir la consulta que necesitamos.

Pulsamos el botón para construir la consulta y nos aparecerá la siguiente pantalla:

49 de 64

Page 112: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 8: Necesitamos calcular el total de cada pedido, por lo que seleccionaremos la tabla de DETALLES

DE PEDIDO. Para cada pedido necesitamos calcular la suma de las cantidades por el precio de cada

producto. Para ello seleccionamos en primer lugar el campo Id Pedido (para identificar cada pedido) y a

continuación la operación Cantidad*Precio Actual. La pantalla que nos encontraremos será la siguiente:

Paso 9: Ya tenemos los campos que necesitamos, pero como para cada pedido tendremos varios detalles

de pedido necesitamos obtener un único Id Pedido con la suma de todos los totales, así que agruparemos

por el Id Pedido sumando todos los cálculos de Cantidad*Precio Actual. Pondremos el alias Total a la

suma de dicho campo. La pantalla quedará de la siguiente forma:

50 de 64

Page 113: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 10: Una vez que terminamos guardamos el consulta creada y cerramos la ventana. Nos

encontraremos la siguiente ventana, pero que en este caso OpenOffice Base ha cometido un error al

realizar la consulta. El error consiste en que al crear la consulta el gestor de la base de datos tenía que

haber puesto la palabra SUM en vez de la palabra SUMA. Realizamos dicha modificación en el campo

Contenido.

51 de 64

Page 114: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 11: Una vez que hemos arreglado el problema la ventana ha de quedar de la siguiente forma:

Paso 12: Cuando ya tenemos definido el origen de los datos cerramos la pantalla y pasamos a colocar un

52 de 64

Page 115: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

objeto campo formateado en el formulario principal (aunque se verá en el formulario principal estará

enganchado al nuevo subformulario). Damos las propiedades de color, tamaño y demás necesarias para

que se quede similar a los demás campos. Como podemos ver en la siguiente pantalla el campo

formateado ha de quedar dentro del nuevo subformulario.

Paso 13: Asignamos al nuevo campo formateado el origen de datos, para que muestre el campo calculado

que hemos creado. Esto se realiza pulsando el botón derecho sobre el campo formateado, y al aparecer el

menú contextual seleccionamos la opción Campo de control y en la pestaña Datos, en el apartado Campo

de datos seleccionamos la columna Total.

53 de 64

Page 116: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 14: En la pestaña de General la opción de Sólo lectura la ponemos a Sí para que no se pueda

escribir sobre dicho campo. Ahora seleccionaremos cual es el formato en que queremos visualizar los

datos de la columna Total, así que para ello acudiremos a la opción Formato, y pulsaremos el botón .

Una vez que lo hemos pulsado nos aparecerá una pantalla para poder seleccionar distintos formatos de

como queremos visualizar el contenido. Seleccionaremos la categoria Moneda y el formato -1.234,00€.

En la ventana se mostrará así:

54 de 64

Page 117: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 15: Cerramos la ventana de propiedades y guardamos los cambios. A continuación abrimos el

formulario de forma que podamos trabajar con el mismo y comprobaremos que se están calculando los

totales de cada pedido.

9.- DISEÑO AVANZADO DE FORMULARIOS V:

INTRODUCCIÓN DE NUEVOS CONTROLES

EN EL FORMULARIO.En este apartado vamos a comentar los controles existentes en la aplicación OpenOffice.org Base que

podemos hacer servir en los distintos formularios, y como ejemplo a ello haremos uso de uno de ellos (en

este caso una casilla de verificación) para generalizar su uso en los formularios, así como otros elementos

de decoración.

Los controles existentes en Base son:

• Modo Diseño: activa y desactiva el modo Diseño. Nos permite alternar entre el modo de

Usuario (introducción de datos a través de los campos) y el modo Diseño (edición de los campos

55 de 64

Page 118: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

de control).

• Navegador de formulario: muestra todos los formularios y subformularios del documento

actual con sus respectivos campos de control.

• Casilla de verificación: para valores Sí/No. Se puede utilizar dentro de un grupo de

opciones.

• Campo de texto: sirve para mostrar o introducir datos.

• Campo formateado: es un cuadro de texto en el que se define el formato de las entradas y

salidas, así como los valores limitadores que las afectan.

• Botón de comando: inserta un botón que al ser pulsado ejecuta instrucciones.

• Campo de opción: permiten al usuario elegir entre diversas opciones.

• Cuadro de lista: permite seleccionar un elemento de una lista.

• Cuadro combinado: permite seleccionar un elemento de una lista o escribir el dato

directamente.

• Campo de visualización de texto: sirven para mostrar texto predefinido. También se le

conoce como campo etiqueta.

• Asistente: especifica si se debe o no activar el asistente al insertar un campo de control

nuevo. Estos asistentes ayudan a introducir las propiedades de los cuadros de listas, los campos de

control de tablas y otros campos de control.

• Cuadro de grupo: sirve para crear marcos donde agrupar campos de control.

• Control de tablas: se utiliza para crear un campo de control con una tabla de la base de datos.

• Fuente de datos: enumera las tablas y consultas de la base de datos desde las que estamos

creando el fomulario y permite ver su contenido en la barra de herramientas. Es muy útil para

conocer cuáles van a ser las tablas en las que se insertarán los datos a través del formulario que

56 de 64

Page 119: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

vamos a crear.

Si recordamos nos quedo por poner el campo Servido de la tabla PEDIDOS, que indica si el pedido ha

sido servido o no. La forma para poner el campo en el formulario es la siguiente:

Paso 1: Abrir la base de datos y a continuación abrir el formulario FormDetallesPedido en modo diseño.

Paso 2: Seleccionamos el control Casilla de verificación en la barra de controles que tenemos a la

izquierda y lo arrastramos al formulario a la posición deseada.

57 de 64

Page 120: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 3: Pulsamos el botón derecho del ratón sobre la casilla de verificación puesta en el formulario y en

el menú contextual que aparece seleccionamos la opción Campo de control, con lo que aparecerá la

pantalla de propiedades del control. En dicha pantalla, en la pestaña general realizamos los siguientes

cambios:

• Título: No ponemos ningún título. Lo quitamos todo.

• Estilo: Seleccionamos el estilo 3D.

• Color de fondo: Gris al 10%.

Una vez realizados dichos cambios cerramos la pantalla y nos quedará de la siguiente manera el

formulario.

58 de 64

Page 121: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 4: Modificamos el tamaño de la casilla de verificación para que quede acorde a la casilla real donde

se pulsa el ratón.

59 de 64

Page 122: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 5: Seleccionamos de la barra de controles un control Campo de etiqueta y lo ponemos en el

formulario. Una vez puesto pulsamos el botón derecho sobre el mismo y en el menú contextual que

aparece seleccionamos la opción Campo de control, con lo que aparecerá la pantalla de propiedades del

control. En dicha pantalla, en la pestaña general realizamos los siguientes cambios:

• Título: Pedido servido?

• Fuente: Seleccionamos que el color de la fuente sea el blanco.

60 de 64

Page 123: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 6: Cerramos la ventana de propiedades y ponemos el campo de etiqueta donde corresponde.

61 de 64

Page 124: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 7: Ya tenemos puesto el control, pero nos falta decirle el origen de los datos. Volvemos a pinchar

con el botón derecho del ratón sobre la casilla de verificación y en el menú contextual que aparece

seleccionamos la opción Campo de control, con lo que aparecerá la pantalla de propiedades del control.

Seleccionamos la pestaña Datos y en el apartado Campo de datos seleccionamos la columna Servido.

62 de 64

Page 125: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

Paso 8: Cerramos la ventana de las propiedades de la casilla de verificación y guardamos los cambios

realizados. Una vez guardados cerramos la ventana en modo diseño y la abrimos de forma que se pueda

trabajar con ella. Veremos que la casilla de verificación funciona perfectamente y podemos indicar si el

pedido está servido o no.

63 de 64

Page 126: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 6.

64 de 64

Page 127: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 7.

1.- ¿QUE ES UN INFORME?Un informe no es más que la presentación de una tabla o consulta de una forma más amigable o fácil de

entender. El desarrollo automático de la generación de documentos a partir es un paso importante dentro

de las bases de datos.

Como hemos comentado la información es recuperada de la base de datos (desde las tabla o consultas) y

presentadas de una manera muy intuitiva, y preparada para lanzarla directamente a la impresora. Lo más

importante de todo esto es la fuerza que cobra la combinación de las consultas con los informes. Por

ejemplo, podemos realizar una consulta parametrizada que nos solicite el código del cliente y nos muestre

por pantalla (preparado para imprimir) un informe con todos los pedidos que ha realizado dicho cliente.

Sólo existe una posibilidad de crear informes, y es mediante el asistente, aunque después de crearlos

tendremos la posibilidad de poder modificarlos. Veremos muchas veces que el informe no muestra lo que

queremos. No debemos preocuparnos, simplemente nos vamos al asistente y creamos uno nuevo.

2.- CREACIÓN DE UN INFORME SENCILLO.Un informe sencillo será un informe que depende única y exclusivamente de una tabla, o de una consulta

de la cual no agruparemos ningún campo para no realizar un informe maestro/detalle (al igual que los

formularios).

La creación de dichos tipos de informes es muy sencilla, por lo que vamos a realizar un informe de los

clientes, a partir de la tabla de CLIENTES.

Paso 1: Abrimos la base de datos y acudimos al apartado Informes, y pulsamos la opción Usar el

asistente para crear informe...

1 de 13

Page 128: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 7.

Paso 2: Al pulsar la opción Usar el asistente para crear informe... aparecerá una ventana que será el

asistente para poder crear el informe poco a poco. El primer paso será seleccionar el origen de los datos

que será una tabla o consulta. En este caso vamos a seleccionar la tabla CLIENTES, y de todos los campos

a seleccionar solamente dejaremos los campos Observaciones y Id Categoria. Una vez que hemos

seleccionado los campos pulsamos el botón de Siguiente.

2 de 13

Page 129: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 7.

Paso 3: En el siguiente paso podemos modificar las etiquetas de las columnas donde mostramos los

campos del informe. En este caso modificaremos los campos Id Cliente y ApellidosNombre. Una vez

que modifiquemos los campos quedará como la siguiente figura. Cuando terminemos con el etiquetaje de

los campos pulsaremos el botón se Siguiente:

3 de 13

Page 130: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 7.

Paso 4: El nuevo paso permite crear grupos con los datos que tenemos. En este caso no necesitamos

agrupar ya que no vamos a realizar un informe maestro/detalle, que es cuando se necesita agrupar. En el

siguiente punto haremos uso de esta agrupación. Pulsamos el botón de Siguiente sin elegur nada para

agrupar.

Paso 5: En el siguiente paso podremos ordenar la lista de los datos a mostrar a partir de alguno (o de

varios) de los campos. En este ejemplo vamos a ordenar por ApellidosNombre en orden descendente. Una

vez que hayamos realizado la selección pulsamos el botón de Siguiente.

4 de 13

Page 131: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 7.

Paso 6: En el siguiente paso podemos seleccionar el formato del informe. El formato puede definirse a

partir del diseño de los datos, de la orientación de la página (horizontal o vertical) y el diseño de

encabezados y pies de página. En nuestro ejemplo, en la opción Diseño de los datos seleccionaremos la

opción Moderno – alineado a la izquierda, en la opción Orientación seleccionaremos la opción

Horizontal y en la opción Diseños de encabezado y pies de página seleccionaremos la opción Pizarra de

papel. Una vez configurado el formato del informe pulsamos el botón de Siguiente.

Paso 7: El último paso será darle un título al informe, y decidir si se va a crear un informe estático (con

esta opción guarda el informe de forma que siempre que se abra mostrará los mismos datos) o un informe

5 de 13

Page 132: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 7.

dinámico (cada vez que se abra el informe cargará los datos actuales de la tabla o la consulta). En nuestro

ejemplo el título del informe será “Informe de clientes”, y será un informe dinámico. Seleccionamos que

el informe se cree en este momento y pulsamos finalizar.

Paso 8: A continuación veremos como queda el informe sin realizar ninguna modificación.

6 de 13

Page 133: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 7.

3.- CREACIÓN DE UN INFORME MAESTRO/

DETALLE.Un informe maestro/detalle es un informe en el cual se agrupan los datos de la tabla (o tablas) o de la

consulta por uno o varios campos. La creación de estos grupos permite crear (al igual que los formularios)

un apartado que sería la cabecera de los datos (que son los campos por los que se agrupa) y por otro lado

las lineas de detalle de los datos (que son los campos que no son agrupados). Podemos pensar en el

ejemplo de un pedido y sus lineas de pedido, donde la cabecera del pedido serán los campos por los que

agruparemos el pedido (el Id Pedido, el código de cliente, etc), y las lineas de pedido (que serán los

distintos productos del pedido, cantidad, precio de ellos, etc.)

La creación de dichos tipos de informes es algo más complicada que los anteriores, ya que es necesario

entender como funciona el grupo. Para ello vamos a usar una consulta parametrizada que llamaremos

PedidosPorCliente que nos permitirá obtener para el informe los pedidos realizados por un cliente en

concreto.

7 de 13

Page 134: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 7.

Paso 1: Abrimos la base de datos y acudimos al apartado Consultas, y pulsamos la opción Crear consulta

en vista diseño...

Paso 2: Seleccionamos las tablas PEDIDOS, DETALLES DE PEDIDO, CLIENTES y PRODUCTOS, y de

la tabla PEDIDOS seleccionamos los campos Id Pedido y Fecha, de la tabla CLIENTES el campo

ApellidosNombre y de la tabla DETALLES DE PEDIDO los campos Id Producto, Cantidad y Precio

Actual, y de la tabla PRODUCTOS el campo Descripción. Creamos el parámetro CodigoCliente para el

campo Id Cliente de la tabla PEDIDOS.

8 de 13

Page 135: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 7.

Paso 3: Guardamos la consulta con el nombre PedidosPorCliente y cerraremos la pantalla.

Paso 4: Acudimos al apartado Informes, y pulsamos la opción Usar el asistente para crear informe...

Paso 5: Al pulsar la opción Usar el asistente para crear informe... aparecerá una ventana que será el

asistente para poder crear el informe poco a poco. El primer paso será seleccionar el origen de los datos

que será una tabla o consulta. En este caso vamos a seleccionar la consulta PedidosPorCliente con todos

sus campos. Una vez que hemos seleccionado los campos pulsamos el botón de Siguiente.

9 de 13

Page 136: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 7.

Paso 6: A continuación modificamos las etiquetas de los campos para clarificar la columna de datos de

cada uno. Una vez que terminemos pulsamos el botón de Siguiente. La pantalla quedará de la siguiente

forma:

Paso 7: A continuación necesitamos crear los niveles de agrupación para poder crear el informe

maestro/detalle. En la agrupación se ha de poner aquellos datos que deseamos que sean la cabecera del

10 de 13

Page 137: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 7.

informe, y todos los demás campos serán el detalle de la cabecera. En nuestro ejemplo los campos por los

que se agruparán son Id Pedido, Fecha y ApellidosNombre. Los demás campos se quedan para la linea

de detalle. Una vez que hemos terminado para agrupar pulsamos el botón de Siguiente.

Paso 8: La siguiente ventana nos indica el orden de los campos en el informe. Por defecto se ordenará por

los campos por los que agrupamos, y indicamos también que ordene los datos por la descripción del

producto (que es el campo Descripción). Una vez terminado pulsamos el botón de Siguiente. La ventana

quedará de la siguiente forma:

11 de 13

Page 138: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 7.

Paso 9: Indicamos el formato del informe (como queremos visualizarlo por pantalla o por impresora).

Una vez terminado pulsamos el botón de Siguiente.

Paso 10: El último paso es darle un nombre al informe y indicar que dicho informe es dinámico. Como

nombre le pondremos Informe de pedidos por cliente y pulsaremos el botón de Finalizar.

12 de 13

Page 139: 63785868 Open Office Base

Creación de bases de datos bajo software libre con OpenOffice Base – Tema 7.

Paso 11: Abrimos el informe y lo primero que nos indica es que pongamos el código del cliente para el

informe.

Paso 12: Una vez que indicamos un código de cliente el informe se abre mostrando los pedidos del

cliente y los detalles de cada pedido.

13 de 13