Tutoriallibreoffice 150207032931 Conversion Gate02

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 121

Tutorial de

LibreOffice
Base
Unidad 0. Introduccin a las bases de datos

Actualizado desde http://tutorialopenofficebase.wordpress.com/ por Ana Beln Gonzlez


Rogado (Escuela Politcnica Superior de Zamora - Universidad de Salamanca)

Todo el contenido est bajo una licencia de Creative Commons.


Unidad 0. Introduccin a las bases de datos [1][3]

0.1. Sistema de bases de datos, sistema de gestin de bases de datos y base de datos

Una Base de Datos (BD) es un conjunto de datos integrados, con redundancia controlada y que
refleja las reglas del mundo real. Por tanto, ser un conjunto de informacin homognea, con
una estructura ordenada, y con informacin relacionada con un mismo tema. Una base de
datos guarda la informacin en campos o delimitadores.

Un ejemplo de base de datos pude ser el conjunto de datos e informaciones relacionadas con
un video club (datos de pelculas, clientes, distribuidoras, gneros, fecha de alquiler,...) con lo
cual, mediante un programa especfico para estas tareas, que se denomina Gestor de Base de
Datos, tendramos que crear una base de datos "video club" para gestionar dicha informacin.
Otro ejemplo ms de base de datos sera la base de datos de una academia donde se archiva
todo lo necesario para el control: alumnos, profesores, asignaturas, precios, etc.

Un Sistema de Gestin de Base de Datos (SGBD - DBMS) es el conjunto de programas que


permite definir, construir y manipular bases de datos para diversas aplicaciones.

Definir una BD es especificar...

Su estructura de datos,
Los tipos de datos
Las restricciones de los datos
Las relaciones entre los datos

Construir una BD es...

Almacenar los datos en algn medio de almacenamiento controlado por el SGBD

Manipular la BD es...

Consultar datos
Introducir/modificar/eliminar datos, para reflejar los posibles cambios
Generar informes a partir de los datos almacenados

Oracle, DB2, PostgreSQL, MySQL, MS SQL Server, son Sistemas de Gestin de Base de Datos, al
igual que, de forma ms limitada, Libre Office Base, Open Office Base, Access.

Un Sistema de Bases de Datos (SBD) es una serie de recursos para manejar grandes volmenes
de informacin, aunque hay que sealar que no todos los sistemas que manejan informacin
son bases de datos:

SBD = BD + SGBD + Software de Aplicacin/Consultas

El objetivo principal de un sistema de bases de datos es crear un ambiente en el que pueda


almacenarse y recuperarse informacin de forma conveniente y eficiente.

0.2
0.2. Modelo Relacional. Organizacin de una Base de datos

Dentro de los posibles modelos de organizacin de una base de datos est el modelo
relacional, qu es el que utiliza LibreOffice (OpenOffice, Access...). En este modelo las bases de
datos estn formadas por campos, registros y tablas.

Un campo es la mnima unidad lgica de informacin, por ejemplo, un nombre, un


domicilio o una direccin.
Un registro es una coleccin de campos relacionados lgicamente. Los campos
nombre, domicilio y direccin de un empleado, constituyen un registro de nuestra
base de datos.
Una tabla es una coleccin de registros del mismo tipo. Un ejemplo de tabla sera el
conjunto de todos los registros de los empleados con los campos nombre, apellidos y
direccin.

Figura 0. 1

Estas estructuras se utilizan para representar los datos y las relaciones entre los datos. Las
relaciones se establecen entre las tablas y para ello se utiliza un campo comn en ambas
tablas. Por ejemplo, en una base de datos para una biblioteca, habr un campo para los
nombres de los autores y otro campo para los nombres de los libros. Pero existe una relacin
obvia entre los autores y los libros que han escrito.

A menudo se confunde la idea de una base de datos con la idea de tabla. Una tabla es una
estructura de filas y columnas que alberga informacin o datos de una determinada
naturaleza, como por ejemplo una tabla con los datos (cdigo, nombre, direccin, actividad...)
de los clientes, por ejemplo, de una empresa; sera en ste caso la tabla de clientes. En cada
fila tendramos todos los datos de cada cliente, tendramos lo que, en trminos de bases de
datos, se denomina un registro. En cada columna tendramos todos los datos referidos a un
elemento de dicha tabla (todos los nombres, todas las actividades...) a esto se le llama campo,
y en cada campo de cada registro se alberga un dato. Sin embargo, una base de datos (toda la
informacin y elementos de gestin de esa informacin referida a un mismo tema) puede
contener varias tablas (clientes, proveedores, artculos, familias, descuentos) as como otros
elementos que permiten trabajar cmodamente con dichos datos de las tablas.

En resumen, cada tabla est formada por varias columnas, con nombres nicos que representa
un campo, por tanto, el nombre del campo para cada tabla es nico. Cada fila de la tabla es un

0.3
registro y todos los registros de una tabla son del mismo tipo. En ninguna tabla existen
registros duplicados, siendo el orden de los registros indiferente.

0.3. Planificar una base de datos. [3]

Si trabajamos con bases de datos relacionales lo habitual es distribuir la informacin en


diferentes tablas vinculadas entre s. Esta caracterstica obliga a un proceso de planificacin y
diseo previo en la bsqueda del resultado esperado.

Hemos de pensar qu deseamos almacenar en la base de datos, qu datos se necesitan


recuperar y en definitiva, determinar el propsito final del proyecto para establecer unos
cimientos lo suficientemente slidos.

Por ejemplo, podramos utilizar una base de datos como soporte para realizar un inventario de
toda la maquinaria que tiene una empresa del mbito de la Ingeniera Civil: gras,
hormigoneras, excavadoras, palas, camiones, motoniveladora, pistn, ect. En este caso
necesitaramos tablas donde guardar la descripcin, tipos, variantes de potencia, ect., as como
la cantidad de cada una de esas mquinas, as como almacn donde se guarda y ubicacin en
l. Para esto ltimo, necesitamos crear una tabla que los almacenes de la empresa, cuartos,
estanteras, laboratorios y dems estancias que contenga material susceptible de incluirse en
el inventario. Los inventarios y catlogos de material en general son susceptibles de
gestionarse mediante bases de datos.

1) En primer lugar debemos tener clara la finalidad del proyecto, ya que ser
determinante para crear las tablas necesarias y, en definitiva, la estructura de la base
de datos ms adecuada.
2) Enumera las tablas necesarias. Por ejemplo si ests diseando una base de datos
vinculada a una empresa del mbito de la edificacin/ingeniera civil, al menos, ser
necesario almacenar informacin sobre materiales simples, materiales compuestos,
personal y maquinaria.
3) Una vez tomada la decisin sobre las tablas, es el momento de decidir qu
informacin se almacenar en cada una de ellas. Por ejemplo, en el caso de materiales
simples, junto con su descripcin y cdigo, el precio por unidad (unidad, m, m2, kg)
4) Posteriormente habr que pensar en la relacin que tendrn las tablas entre s. Por
ejemplo, est claro que la tabla de materiales compuestos tiene que estar asociada de
algn modo a la tabla de materiales simples. Y, aunque esa fase todava quede lejana
es bueno tenerlo presente desde el principio.
5) Por ltimo, hay que pensar qu otros objetos sern necesarios, en funcin del destino
y usuarios de la base de datos, tales como consultas, formularios o informes.

0.4
Referencias

[1] Jesualdo Toms Fernndez Breis, Sistema de Base de Datos. [Online]. Available:
http://dis.um.es/~jfernand/0607/fdb/tema1.ppt. [Accessed: 14-feb-2013].
[2] LibreOffice - Manual Usuario Base.pdf (objeto application/pdf). [Online]. Available:
https://www.aplicateca.es/Resources/45c94dcb-1ca4-4523-8133-
e089d0721780/LibreOffice%20-%20Manual%20Usuario%20Base.pdf. [Accessed: 14-feb-
2013].
[3] Ministerio de Educacin, Muy importante, planificar la base de datos antes de crearla |
Base de datos en la enseanza. [Online]. Available:
http://www.ite.educacion.es/formacion/materiales/93/cd/m1_1/muy_importante_planifi
car_la_base_de_datos_antes_de_crearla.html. [Accessed: 14-feb-2013].

0.5
Tutorial de
LibreOffice
Base
Unidad 1. Instalacin y entorno de LibreOffice Base.
Creacin de una base de datos

Actualizado desde http://tutorialopenofficebase.wordpress.com/ por Ana Beln Gonzlez


Rogado (Escuela Politcnica Superior de Zamora - Universidad de Salamanca)

Todo el contenido est bajo una licencia de Creative Commons.


Unidad 1. Instalacin y entorno de LibreOffice Base. Creacin de
una base de datos
En esta unidad aprenderemos a descargar e instalar la suite LibreOffice en espaol.
A continuacin, crearemos nuestra primera base de datos despus de ejecutar por primera vez
LibreOffice Base.

Por ltimo, veremos los elementos ms importantes del entorno de esta herramienta.

1.1. Descarga e instalacin de LibreOffice

En este punto vamos a ver cmo descargar e instalar la suite LibreOffice. En el primer apartado
veremos cmo conseguir los dos archivos necesarios para instalar LibreOffice en espaol y en
el segundo los pasos a seguir en la instalacin. Si ya dispones de los dos archivos necesarios
para la instalacin puedes pasar directamente al apartado 1.2.

1.1.1.Descarga de LibreOffice

Para descargar LibreOffice abrimos una ventana de nuestro navegador favorito y tecleamos la
direccin http://es.libreoffice.org/. Entramos entonces en el sitio oficial de LibreOffice en
espaol (Figura 1.1).

Figura 1. 1 Sitio oficial de LibreOffice

1.2
Al pulsar en el botn Descarga LibreOffice, el sitio web detecta nuestro sistema operativo e
idioma y nos muestra una ventana donde nos muestra los enlaces para la descarga de los
archivos necesarios, el instalador principal y la ayuda. (Figura 1.2)

Figura 1. 2. Sitio oficial de LibreOffice, archivos de descarga

Si hemos realizado bien estas descargas debemos tener dos archivos en nuestra carpeta
habitual de descargas, uno para la instalacin principal de LibreOffice y otro con el paquete de
ayuda (Figura 1.3).

Figura 1. 3. Archivos necesarios para la instalacin de LibreOffice.

1.1.2.Instalacin de LibreOffice

Para instalar LibreOffice, nos situamos en la carpeta donde tengamos los dos archivos
necesarios para su instalacin (Figura 1.3) y abrimos el archivo ejecutable principal, siguiendo
las instrucciones que proporciona, una vez finalizado hacemos lo mismo con el segundo.

1.3
1.2. Primera ejecucin de LibreOffice Base y creacin de base de datos

Una vez tenemos instalado LibreOffice, y, en el caso de estar en un sistema Microsoft


Windows, para lanzar LibreOffice Base, debemos ir al botn Inicio, situar el cursor del ratn
sobre Todos los programas para que aparezcan todos los programas instalados en nuestro
equipo, a continuacin ir a la carpeta LibreOffice 4.0 (u otra versin) y elegir de entre todas
las herramientas disponibles LibreOffice Base (ver Figura 1.4).

Figura 1. 4. Ejecucin de LibreOffice Base

Al entrar en LibreOffice Base nos encontraremos la ventana Asistente para base de datos
que aparece en la figura 1.5 donde se nos da a elegir entre crear una nueva base de datos,
abrir una base de datos existente o conectar con una base de datos existente.
En esta unidad se va a crear la base de datos que se usar el resto del curso; por tanto, en este
caso, elegiremos la primera opcin, pero una vez que est creada y volvamos a entrar a
LibreOffice Base tendremos que marcar la segunda opcin y elegir nuestra base de datos. La
tercera opcin (conexin con una base de datos existente) se estudia en la ltima unidad de
este curso.

1.4
Figura 1. 5. Ventana inicial Asistente para base de datos

Si hemos elegido la opcin de creacin nos debe aparecer una ventana como la de la figura 1.6
donde, por un lado, debemos elegir entre registrar o no la base de datos y, por otro, entre
abrir o no la base de datos para editarla y crear tablas usando el asistente.

Figura 1. 6. Ventana Guardar y continuar

Registrar la base de datos sirve para indicar a LibreOffice dnde localizar los datos y cmo se
organizan. Es decir, debemos registrar nuestra base de datos si queremos que los datos que
guardemos sean localizables desde otras aplicaciones de LibreOffice; por ejemplo, si en

1.5
LibreOffice Writer quiero mostrar una tabla con datos guardados en mi base de datos debo
registrarla antes.

La opcin Abrir la base de datos para editar es obligatoria tenerla marcada porque, si no,
despus de crear la base de datos se cerrara LibreOffice Base.

Por ltimo, la opcin Crear tablas usando el Asistente para tablas hay que marcarla si
queremos que un asistente de LibreOffice Base nos ayude a crear nuestra primera tabla al
terminar la creacin de la base de datos. Esta opcin la dejaremos desmarcada porque hasta la
siguiente unidad no vamos a ver qu es una tabla y cmo crearlas y, adems, crear tablas
usando el Asistente limita bastante las posibilidades de creacin de tablas.
Para finalizar debemos elegir el directorio donde guardaremos nuestra base de datos y el
nombre de la misma (ver Figura 1.7). La base de datos que vamos a crear se llamar Curso y la
vamos a guardar en la subcarpeta Mis Bases de Datos, que tendremos dentro de la carpeta Mis
Documentos, del usuario de Windows. La casilla Extensin de archivo automtica, que
aparece en la parte baja de la ventana, sirve para indicar que se aadir o no al nombre de la
base de datos la extensin que tienen los tipos de archivo de base de datos en formato
LibreOffice (extensin .odb, Open Document Base, Base de datos en formato Open
Document).

Figura 1. 7. Ventana Guardar como

1.3. Entorno de LibreOffice Base

Una vez que tenemos creada nuestra base de datos o hemos abierto una ya existente, nos
aparece el entorno de trabajo de LibreOffice Base (ver Figura 1.8) que se divide en 4 zonas:
En la zona de la izquierda tenemos para elegir el tipo de objeto de la base de datos con el que
queremos trabajar. En una base de datos LibreOffice hay cuatro tipos principales de objetos:

1.6
tablas, consultas, formularios e informes. A lo largo de este curso vamos a ir viendo para qu
sirve cada uno de los objetos mencionados, cmo crearlos y mantenerlos.

En la zona central estn las tareas que podemos realizar con el tipo de objeto seleccionado.
Por ejemplo, en el caso de la figura 1.8, el tipo de objeto seleccionado son las tablas, y las
tareas a realizar son las relacionadas con este tipo de objetos.

Figura 1. 9. Ventana principal de LibreOffice Base

En la zona inferior, aparecen los objetos creados del tipo


seleccionado. En nuestro caso, todava aparece en blanco porque
no tenemos creado ninguna tabla.

En la zona superior se encuentran los distintos mens de


opciones junto con los iconos ms importantes de acceso directo.
En la siguiente seccin vamos a ver el contenido de los distintos
mens.

1.3.1.Mens de LibreOffice Base

A continuacin vamos a ver las opciones ms importantes de


cada men:

Men Archivo (ver Figura 1.9), es similar a mens de este tipo de


cualquier otra aplicacin ofimtica con opciones conocidas como Figura 1. 8. Men Archivo
crear nuevo archivo, guardar, guardar como, etc.

1.7
Men Editar (ver Figura 1.10), donde nos encontramos
opciones comunes a este tipo de mens como son
copiar, cortar y pegar objeto o cambiar nombre del
objeto entre otras.

Figura 1. 10. Men Editar

Men Ver (Figura 1.11). En este men destacan la opcin


de elegir qu tipo de objeto queremos ver y la posibilidad
de que se muestre una vista previa del contenido del objeto
que tengamos seleccionado.

Figura 1. 11. Men Ver

Men Insertar (Figura 1.12). En este men aparecen


las tareas de creacin de los distintos objetos en la
forma ms utilizada. Se ver cada opcin con ms
detenimiento en la unidad correspondiente a cada
objeto de la base de datos.

Figura 1. 12. Men Insertar

1.8
Men Herramientas (Figura 1.13). En este
men destaca la opcin Relaciones que
sirve para crear relaciones entre tablas (las
relaciones se estudian con detenimiento en
la cuarta unidad) y Opciones que se utiliza
para configurar la suite LibreOffice completa
(por supuesto incluyendo las opciones
propias de LibreOffice Base).

Figura 1. 13. Men Herramientas

Men Ventana (Figura 1.14).


Este men permite movernos
entre los distintos documentos
que tengamos abiertos en
LibreOffice.

Figura 1. 14. Men Ventana

Men Ayuda (Figura 1.15). En


este men nos aparecen las
distintas opciones de ayuda de
LibreOffice. De entre todas las
opciones disponibles debemos
destacar dos: por un lado la
opcin Ayuda de LibreOffice
que contiene una ayuda
bastante extensa de todas las
herramientas de LibreOffice
clasificada por contenidos y
con la posibilidad de buscar Figura 1. 15. Men Ayuda
ayuda recorriendo el ndice de
contenidos o en funcin de una palabra clave. Y, por otro lado, la opcin Qu es esto?
permite que se muestre una pequea informacin sobre el objeto que tengamos situado el
cursor.

1.9
Tutorial de
LibreOffice
Base

Unidad 2. Introduccin y creacin de Tablas

Actualizado desde http://tutorialopenofficebase.wordpress.com/ por Ana Beln Gonzlez


Rogado (Escuela Politcnica Superior de Zamora - Universidad de Salamanca)

Todo el contenido est bajo una licencia de Creative Commons.


Unidad 2. Introduccin y creacin de Tablas

Este tema est dividido en tres apartados. En el primer apartado se va a mostrar cmo la
informacin se almacena en forma de tablas en una base de datos. En el segundo apartado
vamos a crear nuestra primera tabla. Por ltimo, veremos cmo editar los datos en la tabla
que acabamos de crear.

2.1. Qu es una tabla?

Como ya vimos en la primera unidad, se puede definir una base de datos como una coleccin
de datos relacionados entre s. Cada coleccin de datos relacionados se almacena en una base
de datos en forma de tablas, donde dichas tablas guardan informacin sobre un grupo de
cosas con las mismas caractersticas o atributos.

Por ejemplo, en una base de datos puedes tener una tabla con informacin acerca de todos
tus libros (ver Figura 2.1) donde puedes almacenar el ttulo, el nombre del autor, el ao de
publicacin, etc.; es decir, diferentes propiedades o atributos comunes a todos los libros, y,
tambin, puedes tener una tabla con toda la informacin de contacto de tus amigos, por
ejemplo, su nombre y apellidos, su nmero de mvil, su direccin de correo electrnico, etc.,
pero nunca en una misma tabla se guardar informacin de cosas con propiedades distintas.
Es decir, no puedes mezclar informacin en una nica tabla de tus libros y tus amigos porque
la informacin (los atributos de cada una de las cosas sobre las que guardo informacin) no es
la misma.

Figura 2. 1. Tabla de libros

Cada uno de los atributos o propiedades de las cosas sobre las que se quiere guardar
informacin son las columnas de la tabla, mientras que cada fila de la tabla representa una
cosa real de la que se guarda informacin. En la figura 2.1 podemos ver una tabla con libros
donde se observa que las columnas representan propiedades o atributos de las cosas sobre las
que se va a guardar informacin, en este caso libros, y las filas son los registros que
representan a cada uno de los libros concretos sobre los que se almacena informacin.

2.2
2.2. Creacin de tablas

En este apartado vamos a crear nuestra primera tabla. Para ello nos situamos en el entorno de
LibreOffice en el men de tablas y, dentro de las tareas, pulsamos sobre Crear tabla en modo
de diseo tal y como se muestra en la figura 2.2.

Figura 2. 2. Crear tabla en Vista Diseo

A continuacin nos aparece una pantalla para definir las columnas que tendr la tabla (figura
2.3). Por cada columna de nuestra futura tabla podemos indicar el nombre, el tipo de datos y
una breve descripcin sobre lo que almacenar dicha
columna.

Para definir la primera columna nos situamos en la


primera fila de la rejilla y en la columna Nombre del
campo escribimos Id_pelicula como se refleja en la
figura 2.4. Para pasar a elegir el Tipo de campo
(segunda columna), podemos hacerlo de tres maneras:
pulsando la tecla Intro, pulsando la tecla Tabulacin o
haciendo clic con el botn izquierdo del ratn sobre
dicha columna. Al situarnos sobre dicha columna
veremos que, por defecto, nos indica Texto [VARCHAR]
Figura 2. 3. Eleccin del tipo de campo como tipo de dato. Si queremos cambiar de tipo de
campo, debemos pulsar con el botn izquierdo del
ratn sobre la flecha de la lista desplegable de la derecha y elegir otro tipo (figura 2.3).

2.3
Figura 2. 4. Ventana de definicin de las columnas de la tabla.

Los distintos tipos de campo o tipo de datos que pueden tener las columnas se vern con ms
detenimiento en la siguiente unidad de este curso. Por ahora slo indicaremos que destacan
los de tipo texto, numricos y de fecha, con caractersticas propias para cada tipo.
En nuestro caso, para este campo vamos a elegir uno de los de tipo numrico llamado Nmero
[Numeric] (figura2.3).

A continuacin, en la columna Descripcin, sera aconsejable que se introdujese un comentario


acerca del campo que se acaba de insertar, como aparece en la figura 2.4.

Si nos fijamos con detenimiento en la parte inferior de dicha figura 2.4, veremos que hay una
ventana que nos va a permitir establecer algunas propiedades para el campo que estamos
creando de nuestra tabla. Dichas propiedades se exponen junto con los distintos tipos de
campo en la siguiente unidad.

El primer campo introducido es el que identificar cada una de las pelculas que se introduzcan
en la base de datos; es decir, va a servir para distinguir una pelcula de otra inequvocamente.
Es imprescindible tener en la mayora de las tablas de una base de datos un campo cuyo valor
sirva inequvocamente para diferenciar una fila de cualquier otra.

Por ejemplo, si tenemos una tabla con los datos de contactos de nuestros empleados,
podramos estar seguros que, usando su nmero del Documento Nacional de Identidad,
ninguno de ellos tendra el mismo valor en dicho campo. En cambio, el campo nombre podra
repetirse.

2.4
En el caso de nuestra tabla Peliculas, a priori, no hay ningn campo acerca de una pelcula que
podamos utilizar para diferenciar una pelcula de otra ya que, por ejemplo, podemos tener dos
pelculas con el mismo ttulo, o dos pelculas con el mismo director, o dos pelculas que se
produjeron el mismo ao. Para este tipo de tablas se suele definir un campo de tipo numrico
(como acabamos de hacer con Id_pelicula) que debe cumplir dos condiciones: la primera, es
que ese campo siempre tiene que tomar un valor para cada fila de la tabla, y, la segunda, que
dicho valor no puede repetirse en ninguna fila. Cuando un campo cumple estas dos
propiedades (sin nulos y sin repetidos) se le llama Llave Primaria, Clave Primaria o
simplemente Clave. Toda tabla debe tener una.

Para indicar que queremos que el campo Id_pelicula sea nuestra Llave Primaria seguimos los
siguientes pasos:

Figura 2. 5. Definir Llave Primaria

Nos situamos en la parte izquierda del campo (figura 2.5).


Pulsamos botn derecho del ratn (figura 2.5).
Seleccionamos la opcin Llave primaria (figura 2.5).
Quedando finalmente el campo como se muestra en la figura 2.6.

Figura 2. 6. Resultado tras definir el campo Id_pelicula como llave primaria

Una vez insertado este primer campo, insertaramos el resto de los campos de igual forma:

2.5
Titulo, de tipo Texto
Director, de tipo Texto
Aos, de tipo Fecha
Formato, de tipo Texto
Vista, de tipo S/No

Quedando la tabla como aparece en la figura 2.7:

Figura 2. 7. Tabla de pelculas creada

Una vez creados todos los campos con sus propiedades, debemos guardar la tabla. Para ello
pulsamos sobre el icono guardar de la esquina superior izquierda . Aparece una ventana
que nos pide que introduzcamos el nombre de la tabla (figura 2.8). En dicha ventana
introducimos el nombre Peliculas y pulsamos el botn Aceptar.

Figura 2. 8. Introducir nombre de tabla

Si hemos seguido todos los pasos correctamente, nuestra tabla Peliculas debe aparecer dentro
del apartado Tablas en la parte inferior de la ventana principal de LibreOffice Base (figura 2.9).

Figura 2. 9. Ventana principal con la tabla Peliculas

2.6
Algo que nos puede resultar raro de los nombres de los campos y del nombre de la tabla es
que en ningn momento estamos utilizando tildes al escribirlo. Esto es debido a que las tildes
pueden producir problemas en LibreOffice Base tanto en el nombre de los campos como de las
tablas por lo que es mejor evitar su uso en los nombres.

2.3. Edicin de datos

Una vez que tenemos creada nuestra tabla Peliculas vamos a aprender a editar filas de datos;
es decir, en nuestro caso, vamos a editar los datos de cada una de las pelculas para modificar
su contenido. Podemos editar datos a travs de lo que se conoce como hoja de datos,
mediante una consulta SQL o a travs de un formulario. Por ahora vamos a quedarnos con la
primera opcin, a travs de la hoja de datos.

2.3.1. Insercin de datos

Para insertar datos a travs de la hoja de datos tenemos que situarnos en la pantalla principal
de LibreOffice Base en el apartado de Tablas (figura 2.9) y hacer doble clic con el botn
izquierdo del ratn sobre la tabla Peliculas o hacer un clic con el botn derecho del ratn y
seleccionar la opcin Abrir; nos aparece entonces la pantalla de hoja de datos que se muestra
en la figura 2.10.

Figura 2. 10. Hoja de Datos de la tabla Peliculas

En primer lugar, podemos ver que aparecen las seis columnas que definimos en el apartado
2.2, y ninguna fila insertada (como es natural, pues acabamos de crear la tabla). Podemos ver
tambin que la columna Vista aparece con un cuadrado. Este cuadrado nos indica que es un
campo del tipo S/No y que aparezca con fondo blanco significa que no hay ninguna opcin
elegida por el momento.

Tambin se puede ver que al principio de la fila aparece una pequea estrella amarilla, dicha
estrella seala el lugar donde est la nueva fila a insertar, en nuestro caso, la primera pelcula.
Si introducimos una fila con todos los campos rellenos, podemos tener algo parecido a lo que
aparece en la figura 2.11. En dicha figura podemos ver un detalle que puede sorprendernos: el
valor para el campo Ao aparece con el da y el mes, no slo con el ao. Esto es debido a que
hemos definido esta columna como de tipo Fecha y el formato por defecto para este tipo de
campo es da/mes/ao lo que nos obliga a incluir por tanto el da y el mes. Como no sabemos
el da exacto en el que se estren cada una de las pelculas que tenemos, vamos a indicar
siempre el 1 de enero del ao de produccin de la pelcula.

2.7
Figura 2. 11. Primera fila insertada

Si continuamos insertando filas, hay que hacer un recordatorio: en el apartado 2.2 definimos
que la columna Id_pelicula iba a ser nuestra Llave Primaria; es decir, que los valores de este
campo, no podan repetirse para ninguna fila. En la figura 2.12 se plasma un intento de insertar
una fila repitiendo valor para esta columna y se muestra cmo LibreOffice Base nos devuelve
un error.

Figura 2. 12. Error al insertar valor no permitido en campo clave

2.3.2.Navegacin, ordenacin y filtrado de datos

Vamos a estudiar ahora alguna de las diferentes opciones que nos ofrece la hoja de insercin
de datos y que aparecen resaltadas en la figura 2.13.

2.8
Figura 2. 13. Algunas de las opciones de la hoja de datos

En la parte inferior de la ventana podemos ver la Barra de navegacin entre registros. En esta
barra se nos muestra la fila en la que estamos sobre el total de filas existentes, as como los
botones, por este orden, para ir a la primera fila, a la anterior, a la siguiente, a la ltima o crear
una nueva.

Dentro de las opciones de ordenacin tenemos tres posibilidades: especificar los criterios de
clasificacin para visualizar los datos, ordenar de forma ascendente u ordenar de forma
descendente en funcin de la columna elegida. Sobre estas dos ltimas opciones se debe decir
que simplemente hay que sealar sobre el nombre de la columna deseada y elegir si queremos
que ordene las filas ascendente o descendentemente. La primera opcin, elegir los criterios de
clasificacin, es la ms completa ya que nos ofrece la posibilidad de establecer hasta tres
columnas diferentes para ordenar por prioridad las filas de manera que, si en la primera
columna elegida tenemos valores repetidos, se aplica el criterio de ordenacin establecido
para la segunda columna y, en caso de que en esta segunda columna ocurra alguna nueva
repeticin, se aplica el criterio de la tercera columna.

Figura 2. 14. Criterios de ordenacin

Para entender mejor esta ltima opcin vamos a realizar un ejemplo: supongamos que
deseamos ordenar nuestra filas en primer lugar en funcin de la columna Formato de forma
ascendente; en el caso de que tengamos valores repetidos para esta columna, queremos que
aplique el orden alfabtico de los nombres de los directores en el campo Director, y; en caso

2.9
de que el nombre del director aparezca repetido, que ordene de la pelcula ms reciente a la
ms antigua usando el campo Ao. Es decir, los criterios de ordenacin seran los que aparecen
en la figura 2.14.

El resultado obtenido se muestra en la figura 2.15 y en l podemos ver cmo, en primer lugar,
las filas aparecen ordenadas en orden alfabtico en funcin del campo Formato; luego, como
hay muchas filas con el mismo valor para esa columna, aplica el segundo criterio, el del
nombre del director y, cmo tenemos todava alguna repeticin (el director Ridley Scott), nos
los ordena descendentemente en funcin del ao.

Figura 2. 15. Filas ordenadas

Por ltimo, las opciones de filtrado de datos nos permiten elegir de forma simple qu datos
queremos que se muestren. Las cuatro opciones, por el orden en que aparecen los botones,
son:

Autofiltro o filtrado automtico. Filtra las filas segn el contenido del campo
seleccionado (en figura 2.21 se muestra el resultado tras haber seleccionado Ridley
Scott en campo Direccin).

Figura 2. 16. Filtro automtico

Usar o no el filtro, es decir, conmuta entre las vistas con y sin filtro.

2.10
Filtro predeterminado, que permite establecer las opciones del filtro de forma parecida
a como establecamos los criterios de ordenacin.

Cancelar filtro, de manera que se muestran todas las filas.

La tercera opcin, establecer varios criterios de filtrado, vamos a ilustrarla con un ejemplo:
supongamos que slo queremos que se muestren aquellas pelculas que tengo en DVD y
realizadas en la dcada de los 80; es decir, entre el 1 de enero de 1980 y el 31 de diciembre de
1989. Las opciones para establecer este filtro junto con el resultado obtenido aparecen en la
figura 2.22.

Figura 2. 17. Filtro y resultado

2.3.3.Modificacin y eliminacin de datos

Los datos de una bases de datos normalmente no son estticos, sino que pueden sufrir
variaciones a lo largo del tiempo o incluso desaparecer por distintos motivos. Modificar y
eliminar datos de nuestras tablas es un proceso muy habitual y simple de realizar y que no
debera entraar ningn problema.

Para modificar el valor para algn campo, de alguna fila en particular, nos situamos con el
cursor en el valor a cambiar y lo reescribimos. En el caso de los campos S/No, basta con
marcar o desmarcar la casilla. Por ejemplo, la pelcula En Busca del Arca Perdida al editarla en
DVD resulta que han cambiado el ttulo y ahora se titula Indiana Jones en Busca del Arca
Perdida y nosotros no nos dimos cuenta al incluirla en nuestra base de datos. Entonces, nos
situamos en el campo, modificamos el ttulo y guardamos los cambios.

Para borrar una fila entera, basta con situarse con el cursor al inicio de la fila y seleccionar
eliminar fila. Por ejemplo, imaginemos que la pelcula Rocky que tena en VHS se ha
estropeado y ya no se puede ver, entonces me sito al inicio de esa fila y selecciono eliminarla
(figura 2.18).

2.11
Figura 2. 18. Eliminacin de fila

2.4. Ejercicios propuestos.


2.4.1. Realizar la creacin de la tabla Pelculas detallada en esta unidad.
2.4.2. Insertar todos los datos que aparecen en la figura 2.13.
2.4.3. Mostrar slo las pelculas vistas, anteriores a 1990.
2.4.4. Realizar la creacin de una tabla llamada Interpretes con los siguientes campos:
a. Id_interprete, de tipo entero. Llave Primaria.
b. Apellidos, de tipo texto.
c. Nombre, de tipo texto.
d. Nacionalidad, de tipo texto.
2.4.5.Insertar las siguientes filas en la tabla anterior:

2.4.6.Ordenar la tabla Interpretes por el campo Apellidos de manera ascendente y por


el campo Nacionalidad de manera descendente.

2.12
Tutorial de
LibreOffice
Base
Unidad 3. Tipos de datos y edicin de tablas.

Actualizado desde http://tutorialopenofficebase.wordpress.com/ por Ana Beln Gonzlez


Rogado (Escuela Politcnica Superior de Zamora - Universidad de Salamanca)

Todo el contenido est bajo una licencia de Creative Commons.


Unidad 3. Tipos de datos y edicin de tablas.

Este tema est dividido en dos apartados. En el primero se van a mostrar los tipos de datos
que pueden tener los atributos, adems de las opciones existentes dentro de cada tipo.
En el segundo apartado vamos a ver cmo editar tablas ya creadas, bien sea para aadir,
eliminar o modificar atributos representados en columnas.

3.1. Tipos de datos

En el segundo apartado de la unidad anterior vimos cmo a cada columna de nuestra tabla hay
que asignarle el tipo de dato que va a almacenar, aunque simplemente enumeramos los tipos
ms conocidos, sin explicar en profundidad qu es un tipo de dato y los distintos tipos de datos
que permite guardar LibreOffice Base. En este primer apartado de esta unidad vamos a ver por
qu hay que elegir entre diferentes tipos de datos y cules son.

Figura 3. 1. Tabla de pelculas y sus tipos de datos

En primer lugar, vamos a responder a la pregunta de por qu hay distintos tipos de datos. Para
ello basta con pensar en la tabla Peliculas que creamos en la unidad anterior. Cada campo de
dicha tabla estaba definido para almacenar un tipo de informacin concreta (ver Figura 3.1);
por ejemplo, la columna Director siempre va a almacenar el nombre del director por lo que, si
queremos introducir el nombre de un director, teclearemos un texto que incluya su nombre y
al menos el primer apellido; es decir, la naturaleza de los valores introducidos es de tipo texto.
En cambio, en la columna Ao vimos que siempre almacenbamos la fecha del estreno, por lo
que al introducir un valor para este campo necesitamos que, de alguna manera, nuestra base
de datos sepa distinguir lo que es el da, el mes y el ao.

Es decir, ambos almacenan una informacin muy concreta en cada caso y para nosotros es
muy fcil ver la naturaleza de los valores que almacena cada uno de esos campos. Dicha
naturaleza es lo que se conoce como tipo de dato y lo ofrecen las bases de datos para, entre
otras cosas, facilitar el almacenamiento de los valores y por tanto la gestin de la memoria lo
que, entre otras cosas, influye en la rapidez de respuesta en la bsqueda de valores. Adems
dentro de cada tipo de datos existen una serie de propiedades, por ejemplo, el tamao
mximo permitido o el control de una fecha vlida, que ayudan a definir un campo con ms
concrecin.

Dentro de LibreOffice Base en particular podramos clasificar los distintos tipos de datos en
cuatro grandes grupos:

3.2
Alfanumricos. (ver Tabla 3.1). Se utilizan para almacenar textos que pueden contener
letras y nmeros, pero teniendo en cuenta que los nmeros sern tratados como un
carcter ms. El ms utilizado es el tipo Texto [VARCHAR].

Tabla 3. 1. Tipos de datos alfanumricos

Nombre del Tipo [Nombre SQL] Descripcin


Nota [LONGVARCHAR] Campo para texto muy grande (2 GB)
Texto (fijo) [CHAR] Texto de tamao fijo
Texto [VARCHAR] Texto de tamao variables
Texto [VARCHAR_IGNORECASE] Texto de tamao variable que no diferencia entre
maysculas y minsculas

Numricos, enteros (ver Tabla 3.2) y reales (ver Tabla 3.3). Se utilizan para almacenar
valores numricos sobre los que, al contrario que en los tipos alfanumricos, se podrn
realizar operaciones aritmticas. En las propiedades de los reales hay que indicar
cuntas de las cifras del tamao asignado sern decimales (se conoce tambin como la
escala). Los ms utilizados son Entero [INTEGER] y Nmero [NUMERIC].

Tabla 3. 2. Tipos de datos enteros

Nombre del Tipo [Nombre SQL] Descripcin


Entero minsculo [TINYINT] Entero de 3 cifras (soporta valores entre -128 y 127)
Entero pequeo [SMALLINT] Entero de 5 cifras (soporta valores entre -32768 y
32767)
Entero [INTEGER] Entero de 10 cifras (soporta valores entre -2147483648
y 21473647)
Entero grande [BIGINT] Entero de 19 cifras

Tabla 3. 3. Tipos de datos reales

Nombre del Tipo [Nombre SQL] Descripcin


Nmero [NUMERIC] Real que trabaja slo con los decimales fijados
Decimal [DECIMAL] Real que puede trabajar con ms decimales de los fijados
Coma flotante [FLOAT] Tipo numrico en punto flotante de precisin simple
Real [REAL] Tipo numrico en punto flotante
Doble precisin [DOUBLE] Tipo numrico en punto flotante de precisin doble

Temporales (ver Tabla 3.4). Se utilizan para guardar fechas y/o horas.

Tabla 3. 4. Tipos de datos temporales

Nombre del Tipo [Nombre SQL] Descripcin


Fecha [DATE] Almacena valores del tipo da, mes y ao
Hora [TIME] Almacena valores del tipo hora, minuto y segundo
Fecha/Hora[TIMESTAMP] Almacena valores del tipo da, mes, ao, hora, minuto y
segundo

3.3
Especiales (Ver Tabla 3.5). Tipos de datos que no entran en ninguna de las
clasificaciones anteriores. El ms utilizado es el tipo S/No [BOOLEAN]

Tabla 3. 5. Tipos de datos especiales

Nombre del Tipo [Nombre SQL] Descripcin


S/No[BOOLEAN] Tipo lgico (verdadero7falso)
Imagen [LONGVARBINARY] Tipo imagen
Binario [VARBINARY] Tipo binario
Binario (fijo) [BINARY] Tipo binario de tamao fijo
OTHER [OTHER] Tipo objeto

Adems, dependiendo del tipo de dato, podemos tener hasta seis propiedades (ver Figura 3.2)
que se pueden configurar para mantener la consistencia y el formato de la informacin
introducida. stas son:

Figura 3. 2. Propiedades de los campos

Valor automtico. Si se pone afirmativo permite que LibreOffice Base d


automticamente un valor secuencial a este campo. Se suele utilizar cuando la clave
primaria de nuestra tabla va a ser un entero al que iramos dando valores consecutivos
cada vez que introducimos una nueva fila (como en el caso de nuestra tabla pelculas).
Slo est disponible con los tipos Entero y Entero grande.

Entrada requerida. Sirve para indicar si ser obligatorio o no introducir un valor en este
campo para cada fila de la tabla. Cualquier campo que definamos como clave primaria
automticamente exige la introduccin de un valor siempre.

Tamao o longitud. Especifica la longitud mxima permitida.

Decimales. Sirve para especificar cuntas cifras del tamao asignado sern decimales.

Valor Predeterminado. Permite asignar un valor por defecto para este campo a todas
las filas que se vayan introduciendo. Es posible modificar posteriormente este valor en
cada fila.

Ejemplo de formato. Permite especificar el formato del campo. Muy til sobre todo
para los campos de tipo Fecha y Hora para indicar el formato de introduccin de los

3.4
mismos y tambin para los campos de tipo real donde vayamos a guardar valores
monetarios indicando la moneda que se usar.

3.2. Edicin de tablas

Antes de comenzar con este apartado ya debera estar clara la diferencia entre la ventana de
introduccin de datos en la tabla (Figura 3.3) y la ventana de edicin de la tabla (Figura 3.4).

Figura 3. 3. Ventana de introduccin de datos

La primera se utiliza para introducir datos en la tabla seleccionada tal y como vimos en el
tercer apartado de la unidad anterior.

Figura 3. 4. Ventana de edicin de tabla

3.5
La segunda ventana es la misma que utilizamos para crear una tabla pero, en este caso, con el
objetivo de aadir o eliminar columnas (atributos) de nuestra tabla, o bien, de modificar
alguna propiedad de las mismas.

En este apartado nos vamos a centrar en la edicin de las columnas de una tabla ya creada, en
este caso nuestra tabla Peliculas. Para abrir esta tabla para editarla tenemos que situarnos en
la pantalla principal de LibreOffice Base en el apartado de Tablas y hacer un clic con el botn
derecho del ratn y seleccionar la opcin Editar (Figura 3.5).

Figura 3. 5. Seleccin de edicin de tabla

Para aadir nuevas columnas en nuestra tabla de datos (nuevos campos para cada registro de
la base de datos) hay que seguir el mismo proceso que en la creacin de una tabla; es decir,
introducir un valor para el nombre del campo, elegir un tipo de campo y escribir una
descripcin de ese campo.

Para eliminar columnas de nuestra tabla nos situamos al inicio del campo y seleccionamos la
opcin eliminar (Figura 3.6). Antes de eliminar una columna de nuestra tabla debemos saber
que al hacerlo se borrarn todos los valores que tuviramos dados a esta columna en nuestras
filas por lo que, sobre todo en el caso de la columna que sea clave primaria, hay que pensar
muy bien si de verdad es conveniente eliminar esa columna.

3.6
Figura 3. 6. Opcin Eliminar columna de una tabla

En el caso de haber borrado una columna de la tabla accidentalmente siempre tenemos la


opcin de cerrar la ventana de edicin sin guardar los cambios realizados.

3.2.1.Modificacin de columnas existentes

Las modificaciones que se pueden realizar sobre las columnas existentes pueden ser de dos
tipos:

cambios de nombre del campo o de la descripcin del mismo.


cambio en las propiedades del campo, desde ser o no clave primaria, a cambiar el
tipo de campo y las propiedades asociadas a ese tipo de campo.

En el caso de las primeras, basta con situarse en el valor que queramos modificar y cambiar el
contenido del texto. Por ejemplo, podemos cambiar el nombre de la columna Vista por el de
Visionada sin ms que situarnos en dicho campo y reescribir su nombre.

Ms importantes para la integridad de la tabla, y en algn caso ms complejas de realizar, son


las operaciones que contemplan el cambio de tipo de datos o el cambio de las propiedades del
campo.

El primero de este tipo de cambios es asignar que un campo es, o no, clave primaria. Hacer
este cambio es muy sencillo, tal y como vimos en la unidad anterior, cuando fijamos la
columna Id_pelicula como clave primaria de Peliculas. Pero las consecuencias que conlleva
dicho cambio para nuestra tabla pueden ser crticas. Para empezar, LibreOffice Base no nos va
a permitir introducir datos en una tabla que no tenga clave primaria por lo que en caso de
desasignar una columna como clave primaria debemos asignrselo a otra, pero con cuidado, ya
que una vez que nuestra tabla ya tiene datos es muy difcil encontrar otra columna que cumpla
las condiciones necesarias para ser clave primaria (recordamos que la primera es que ese
campo siempre tiene que tomar valor para cada fila de la tabla, y, la segunda, que dicho valor

3.7
no puede repetirse entre ninguna fila) y nos podemos encontrar un aviso como el que aparece
en la figura 3.8: si por ejemplo intentamos fijar el campo Director como clave primaria y damos
a guardar la tabla.

Figura 3. 7. Error al cambiar clave primaria

Este error se produce porque hemos incumplido la segunda condicin de una clave primaria
(no repetir valor) porque el valor Ridley Scott aparece en ms de una fila en esa columna.
El siguiente tipo de cambio que vamos a estudiar es el cambio de tipo de dato. Para realizar
este tipo de cambio hay que tener en cuenta que habr que elegir un tipo de dato compatible
con los valores ya introducidos.

Por ejemplo, si cambiamos el tipo de dato del campo Visionada a tipo Texto, en lugar de S/No,
LibreOffice Base es capaz de realizarlo porque convierte las casillas marcadas al texto true
(verdadero en ingls) y las desmarcadas a false (falso en ingls) tal y como se muestra en la
figura 3.8.

Figura 3. 8. Tabla Peliculas tras cambio en columna Visionada

3.8
Cuando cambiamos entre tipos de datos numricos, por ejemplo, entre uno de tipo real y otro
de tipo entero hay que tener cuidado de que el tamao del nuevo tipo sea lo suficientemente
grande y tener en cuenta que slo se respetar la parte entera de los valores previamente
almacenados.

Este tipo de conversiones no siempre se pueden realizar. As, por ejemplo, aunque sera
posible cambiar el campo Ao de tipo Fecha a tipo Texto, no nos va a dejar convertirlo a uno
de tipo Integer, ya que aunque en el primer paso no es complicado para LibreOffice Base
transformar una fecha a una cadena de texto, en el segundo caso no es capaz de convertir una
fecha a un nmero y nos muestra una pantalla como la que se ve en la figura 3.10.

Figura 3. 9. Advertencia antes de cambiar columna a un tipo de dato no compatible con actual

Es decir, la solucin que nos propone es eliminar por completo esa columna y crear una nueva
con el nombre que ya tena y el nuevo tipo, pero perdiendo los valores que ya tenamos
introducidos en ese campo.

Un cambio muy til que podemos realizar en nuestra tabla es hacer que nuestra clave primaria
tome valores automticamente, por ejemplo para poner un cdigo de referencia a un
producto. Para ello, para la tabla Peliculas, lo primero que debemos cambiar es el tipo de dato
de Id_Pelicula a Entero, ya que estaba definido como tipo Nmero. Este cambio no nos debe
causar problemas ya que los valores de Id_pelicula que estbamos dando eran todos enteros.
A continuacin fijaramos esta columna con la propiedad Valor Automtico a S y guardaramos
la tabla. La nueva estructura de la tabla se muestra en la figura 3.10.

3.9
Figura 3. 10. Campo Id_pelicula con valor automtico

A partir de ahora, cada vez que introduzcamos una nueva fila en la tabla Peliculas al campo
Id_pelicula se le asignar el mayor valor asignado hasta ese momento incrementado en 1.
El ltimo tipo de modificacin que vamos a ver es del Ejemplo del Formato. Esta propiedad es
importante en muchos campos pero, posiblemente, donde ms cuidado hay que tener con ella
es en los campos de tipo temporal para no tener problemas cuando introduzcamos fechas y
horas.

Vamos a ver algn ejemplo de esta propiedad con nuestro campo Ao. Para ello,
seleccionamos dicho campo y pinchamos en el botn que hay a la derecha de la propiedad
Ejemplo de Formato . Nos debe aparecer entonces una ventana como la de la figura 3.11.

Como podemos ver, esta ventana tiene bastante informacin. Para empezar, en la parte
superior derecha podemos elegir el idioma. La eleccin de idioma no es un tema trivial ya que,
por ejemplo, los formatos de fecha predefinidos no sern los mismos para idiomas de pases
anglosajones que para pases europeos continentales. Una vez que hemos elegido el idioma, el
siguiente paso es escoger la categora del formato que vamos a definir en la ventana superior
izquierda; en nuestro caso la categora del formato es Fecha. Dentro de la categora fechas
existen una serie de formatos predefinidos que se muestran en la ventana superior central. Un
ejemplo de cmo se vera el formato elegido se muestra en el rectngulo que aparece en el
centro de la ventana a la derecha. Adems, todos los formatos predefinidos pueden ser
adaptados por el usuario y guardados para su uso posterior en la parte inferior de la ventana
llamada Formato de cdigo.

3.10
Figura 3. 11. Ventana de formato de campo

Vamos a ver un ejemplo para ilustrar mejor este punto. Hasta ahora nuestro campo Ao
estaba predefinido como DD/MM/AA; es decir, dos cifras para el da, dos para el mes y dos
para el ao. Vamos a suponer que a partir de ahora queremos que el mes se introduzca y se
muestre con su nombre en lugar de con su nmero y separado por la preposicin de del da y
del ao. Elegimos la opcin correspondiente (31 de diciembre de 1999) entre los formatos
predefinidos de fecha, figurando en Cdigo de formato D de MMMM de AAAA y damos al
botn Aceptar.

Si abrimos despus de este cambio la tabla Peliculas el resultado obtenido debera ser el que
se muestra en la figura 3.12. Debido a que es ms sencillo la introduccin de fechas con el
formato original es recomendable dejar las fechas en dicho formato.

Figura 3. 12. Tabla pelculas tras cambio de formato en campo Ao

3.11
3.3. Ejercicios propuestos.
3.3.1.Modificar el nombre del campo Vista de la tabla Peliculas por el nombre
Visionada.
3.3.2.Modificar la tabla Peliculas para que al campo Id_pelicula se le den valores
automticamente con cada nueva fila.

3.12
Tutorial de
LibreOffice
Base

Unidad 4. Relaciones entre tablas

Actualizado desde http://tutorialopenofficebase.wordpress.com/ por Ana Beln Gonzlez


Rogado (Escuela Politcnica Superior de Zamora - Universidad de Salamanca)

Todo el contenido est bajo una licencia de Creative Commons.


Unidad 4. Relaciones entre tablas

Este tema est dedicado exclusivamente a definir las relaciones entre tablas y estudiar cmo
se establecen en LibreOffice Base. En el primer apartado se introduce el concepto de
relaciones entre tablas. En el segundo apartado se especifican los posibles tipos de relaciones
existentes entre tablas. Por ltimo, en el tercer apartado se explica cmo indicar relaciones en
LibreOffice Base.

4.1. Relaciones entre tablas

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

Qu conseguimos con esto? Para responder a esta pregunta mejor pongamos un ejemplo:
imaginemos que se quiere guardar el gnero cinematogrfico de las pelculas que se van
almacenando. Se podra pensar en aadir una nueva columna a la tabla Peliculas que se
llamara Gnero, de manera que por cada pelcula almacenada tambin tuviera su gnero. Esta
posible solucin se muestra en la figura 4.1.

Figura 4. 1. Tabla pelculas con el gnero de cada pelcula

Si nos fijamos en esta solucin podemos ver que se est repitiendo el mismo valor muchas
veces, por ejemplo, Ciencia-Ficcin aparece en cuatro filas y Drama en otras tantas. Es decir, se
est obligando a teclear varias veces el mismo valor lo que, entre otras cosas, puede provocar
que en algn momento nos equivoquemos al teclear, y escribamos, por ejemplo, Ciencia-
Fusin, y ya tengamos un nuevo gnero que no corresponde a ninguna pelcula ya que ni
siquiera existe (por lo menos, en el momento de escribir esto); es decir, al introducir el mismo
valor de forma redundante se est posibilitando que en algn momento lo escribamos mal.
Puede pasarnos tambin que todos los crticos de cine se pongan de acuerdo y decidan que el
gnero Ciencia-Ficcin no tiene un nombre adecuado y que es ms adecuado llamarlo Ficcin-
Cientfica. Entonces, si se tiene en la tabla Peliculas cuatro pelculas de ese gnero, se debe ir
una a una cambiando el nombre y con cuidado de no equivocarse al teclear. Quizs si tenemos
cuatro pelculas de este gnero no nos parezca un gran problema hacer este cambio cuatro

4.2
veces pero si resulta que se tiene en la coleccin trescientas pelculas de este gnero puede
que el problema parezca ms importante.

La solucin a los problemas anteriores est en separar la informacin que aparece repetida
continuamente en una nueva tabla (ver figuras 4.2 y 4.3) e indicar de alguna forma en nuestra
base de datos que hay filas de la tabla Peliculas y de la tabla Generos que estn relacionadas
(figura 4.4).

Figura 4. 2. Diseo de la tabla Generos

Figura 4. 3. Posible contenido de la tabla Generos

Figura 4. 4. Filas relacionadas entre tabla Peliculas y tabla Generos

Antes de entrar en detalle en las relaciones entre tablas vamos a ver otro ejemplo que nos
ayude a comprender an mejor la necesidad de poder establecer relaciones entre tablas.
Vamos a suponer que quisiramos almacenar informacin (apellidos, nombre y nacionalidad)
acerca de los principales intrpretes con cada una de nuestras pelculas. A pesar de haber
creado una tabla Interpretes en la segunda unidad de este curso y, con el conocimiento de
bases de datos que tenemos hasta ahora, no nos quedara otra opcin que aadir nuevas
columnas a nuestra tabla Peliculas donde guardar la informacin acerca de sus protagonistas.
Es decir, crearamos tres campos en la tabla Peliculas (Apellidos, Nombre y Nacionalidad).

Pero esta solucin nos deja muchas incgnitas sin resolver. Por ejemplo, si no se conoce el
nombre de ninguno de los intrpretes de una pelcula se va a tener que dejar en blanco esos

4.3
tres campos para cada una de las pelculas para las que no se conocen sus intrpretes. O, por
ejemplo, si de una pelcula se conoce ms de un intrprete se tendr que optar entre slo
almacenar uno de ellos (con lo cual estaramos perdiendo informacin y perder informacin es
algo que, en general, hay que desechar). O bien, repetir en nuevas filas toda la informacin de
las pelculas para las que se conoce ms de un protagonista junto con cada uno de los
intrpretes de dicha pelcula. Para entender mejor los problemas expuestos tenemos la figura
4.5 que muestra un posible contenido de la tabla Peliculas que acabamos de modificar.

Figura 4. 5. Tabla Peliculas con posibles datos

Con el ejemplo de la figura 4.5 que tan solo contiene once pelculas ya podemos ver los
problemas a que hacamos referencia en el prrafo anterior. As, podemos ver que hemos
tenido que repetir informacin de dos pelculas (La Comunidad del Anillo y Million Dollar Baby)
porque conocamos dos intrpretes de las mismas y que hay intrpretes (Harrison Ford, Liv
Tyler y Javier Bardem) que nos aparecen varias veces por ser protagonistas en varias de
nuestras pelculas.

Los problemas que tenamos al incluir el campo Generos se hacen en este caso ms crtico. Si
un intrprete decide cambiar de nombre, ya tenemos dos campos a modificar en cada fila de
las que aparezca. Pensemos adems un supuesto que no nos habamos planteado con los
gneros cinematogrficos, como podra ser, si le dejamos alguna pelcula a alguien que no nos
la devuelve nunca (un ejemplo bastante real), y, al cabo del tiempo, decidimos borrar esa
pelcula de nuestra base de datos, nos podemos enfrentar a varios problemas. Uno de ellos es
que, si esa era la nica pelcula de un determinado intrprete, se perder toda la informacin
de ese intrprete (en la figura 4.5 si tuviera que borrar Gladiator perdera la informacin de
Russell Crowe) y el otro problema es que si de esa pelcula tenemos guardados varios de sus
protagonistas, tendremos que borrar varias filas de la tabla.

Por tanto, parece ms recomendable dejar la tabla Peliculas como estaba al inicio de esta
unidad y tener por otro lado la tabla Interpretes (Figuras 4.6 y 4.7) que creamos en la segunda
unidad, intentando indicar de alguna manera que van a existir relaciones entre filas de la tabla
Peliculas con filas de la tabla Interpretes (Figura 4.8).

4.4
Figura 4. 6. Diseo de la tabla Interpretes

Figura 4. 7. Contenido de la tabla Interpretes

Figura 4. 8. Filas relacionadas entre tabla Peliculas y tabla Interpretes

Una vez que ya tenemos claro que algunas veces vamos a necesitar indicar que tenemos tablas
que estn relacionadas vamos en primer lugar, a ver qu tipo de relaciones pueden existir y,
segundo, cmo indicar las relaciones en LibreOffice Base cada uno de esos tipos de relaciones.

4.2. Tipos de relaciones entre tablas

Para ver la forma de establecer la relacin es necesario decidir, previamente, qu tipo de


relacin existe entre las tablas. Existen tres tipos bsicos de relaciones entre tablas:

Uno a muchos. Este tipo se da cuando una fila de la primera tabla puede estar
relacionada con muchas filas de la segunda tabla, pero una fila de la segunda slo est
relacionada con una de la primera. Es decir, si consideramos que una pelcula slo
puede tener un nico gnero, ste sera el tipo de relacin que existe entre la tabla

4.5
Genero y la tabla Peliculas (ver Figura 4.4) ya que, por ejemplo, el gnero Drama tiene
varias pelculas relacionadas que son de dicho gnero pero dada una pelcula slo est
relacionada con un gnero.

Muchos a muchos. Esta clase de relacin ocurre cuando una fila de la primera tabla
puede estar relacionada con muchas filas de la segunda tabla y una fila de la segunda
tabla puede estarlo con muchas filas de la primera. Un ejemplo de este tipo lo
tenemos en la relacin entre la tabla Peliculas y la tabla Interpretes (ver Figura 4.8)
porque, dada una pelcula en particular, puede tener muchos intrpretes, y, viceversa,
dado un intrprete, este puede haber intervenido en muchas pelculas.

Uno a uno. Este tipo de relacin aparece con menos frecuencia y sucede cuando una
fila de la primera tabla slo puede estar relacionada con una fila de la segunda y una
fila de la segunda tabla slo puede estar relacionada con una de la primera. Un
ejemplo de este tipo de relaciones podra ser entre una tabla con pases y otra con
jefes de gobierno, dado que, normalmente, un pas slo tiene un jefe de gobierno y un
jefe de gobierno lo es slo de un pas.

Si estamos seguros de cul es el tipo de relacin que existe entre nuestras tablas el siguiente
paso es ver cmo podemos indicarlo en LibreOffice Base.

4.3. Establecer relaciones entre tablas

En funcin del tipo de relacin, los pasos a realizar para indicarlas en LibreOffice Base son
distintos. A continuacin se explica al detalle las reglas bsicas para los tipos uno a muchos y
muchos a muchos.

4.3.1.Establecer relaciones uno a muchos

Para este tipo de relaciones la solucin siempre es crear una nueva columna en la tabla del
lado del muchos, es decir, debemos crear una nueva columna en la tabla cuyas filas slo
pueden estar relacionadas con una fila de la otra tabla, de manera que el valor de ese campo
me indique sin lugar a dudas con qu fila est relacionada de la otra tabla.
En el caso de Generos y Peliculas, esto supone que tenemos que crear en Peliculas un nuevo
campo que para cada pelcula mantenga un valor que me indique sin error, el gnero al que
pertenece. Por tanto, la columna debe ser del mismo tipo de dato que la columna que sea
clave primaria en la otra tabla y los valores que podr contener ser cualquiera de los valores
que tome la clave primaria en dicha tabla. Es decir, en la tabla Peliculas tendremos que crear
una columna del mismo tipo que Id_genero (Entero), a la que llamaremos Genero (ver Figura
4.9), y los valores que pondremos en esa columna estarn comprendidos entre el 1 y el 9, que
son los distintos valores que toma ese valor en la tabla Generos (ver Figura 4.3).

4.6
Figura 4. 9. Tabla Peliculas con nuevo campo Genero

Una pregunta que seguro surge despus de leer esto es por qu la nueva columna Genero en
Peliculas slo puede tomar valores entre 1 y 9? La respuesta es muy simple: esta nueva
columna la estamos creando para poder referenciar en cada pelcula a la fila en Generos con la
que est relacionada; es decir, no tiene sentido que la pelcula Rocky tenga como gnero el 12
si dicho gnero no existe en la tabla Generos.

Pero con la creacin de esta columna no hemos terminado. Falta indicarle a LibreOffice Base
explcitamente que las dos tablas estn relacionadas y que vamos a utilizar para mantener
dicha relacin la nueva columna Genero que hemos creado en Peliculas. Para realizar esta
operacin tenemos que abrir la herramienta Relaciones de LibreOffice Base. Para ello nos
situamos en la ventana principal, pinchamos en la pestaa Herramientas y dentro del men
que se despliega seleccionamos Relaciones (ver Figura 4.10).

Figura 4. 10. Apertura de ventana Relaciones

Lo primero que nos ocurre nada ms entrar en la ventana Relaciones es que se despliega una
ventana donde debemos seleccionar las tablas sobre las que vamos a establecer la relacin

4.7
(ver Figura 4.11), en nuestro caso, elegimos las tablas Peliculas y Generos y cerramos dicha
ventana.

Figura 4. 11. Seleccin de tablas a relacionar

A continuacin ya podemos establecer la relacin que queremos indicar. Para ello pinchamos
en el icono que aparece a la derecha en la ventana Relaciones (el icono que contiene tres
tablas con una estrella encima, ver Figura 4.12).

Figura 4. 12. Icono para aadir nueva relacin

Entonces, nos debe aparecer una ventana (ver Figura 4.13) donde primero debemos indicar las
tablas que queremos relacionar para, a continuacin, elegir en funcin de qu columna vamos
a establecer la relacin; es decir, en nuestro caso ser entre el campo Genero de Peliculas e
Id_genero de Generos.

En la parte inferior de esta ventana veremos que LibreOffice Base nos pide que indiquemos
dos opciones: la de actualizacin y la de eliminacin; y que nos ofrece cuatro posibilidades
para cada una de ellas. Estas opciones sirven para indicar qu hacer si algn valor del campo
de clave primaria que est siendo referenciada (en nuestro caso Id_genero) sufre alguna
modificacin o si esa fila es eliminada. Las posibilidades son:

No realizar ninguna accin.


Actualizar o borrar en cascada: es decir, si cambiamos en Generos de 5 a 17 el
valor de Id_genero de Drama, entonces, todas las filas de Peliculas cuyo gnero
sea Drama pasarn a tener el valor 17. O en el caso de borrado, si borramos el
gnero Drama en Generos todas las filas de Peliculas de ese gnero se borrarn
por lo que, esta opcin debe elegirse con mucho cuidado.
Poner a null: es decir, si cambiamos o borramos el gnero Drama, el campo Genero
de esas pelculas se queda en blanco.

4.8
Predeterminar: es decir, podemos fijar un valor por defecto en el campo Genero de
Peliculas si el gnero al que referencian en la tabla Generos es modificado o
borrado.

Para la actualizacin, lo normal suele ser elegir la posibilidad de actualizar en cascada, y para el
borrado no existe una opcin preferida sino que depender bastante del contexto, en nuestro
caso, para esta relacin, indicaremos poner a nulos.

Figura 4. 13. Indicacin de relacin entre tabla Generos y Peliculas

Una vez hemos terminado de indicar la relacin, sta debe aparecer indicada en la ventana
Relaciones tal y como se muestra en la figura 4.14. As, podemos observar que ahora aparece
una lnea uniendo ambas tablas y que en el extremo de esa lnea en el lado de la tabla Generos
aparece el valor 1, y que, en el otro extremo, el de la tabla Peliculas, nos aparece el valor n.
Estos valores nos estn indicando que el tipo de relacin es de uno (1) a muchos (n).

Figura 4. 14. Relacin uno a muchos entre Generos y Peliculas

4.9
4.3.2. Establecer relaciones muchos a muchos

En este tipo de relaciones no sirve la solucin anterior de crear una columna en la tabla del
lado del muchos apuntando a la otra tabla porque, como cualquier fila de cada una de las dos
tablas puede apuntar a varias filas de la otra tabla, a cul de las filas de la otra tabla
apuntaramos?

La solucin en este caso es crear una nueva tabla (a la que llamaremos Protagonistas, ver
Figura 4.15) con, al menos, dos columnas, cada una de ellas para apuntar a cada una de las
claves primarias respectivas de las tablas que queremos relacionar, de manera que cada fila de
esta tabla va a representar las relaciones que existen entre las filas de ambas tablas; es decir,
cada una de las relaciones que veamos representadas en la figura 4.8 en forma de flecha van a
ser una fila de esta nueva tabla como se puede apreciar en la figura 4.16.

Figura 4. 15. Diseo de la tabla Protagonistas

Figura 4. 16. Contenido de la tabla Protagonistas

De la tabla que acabamos de crear falta puntualizar dos cosas. La primera, que es posible
aadir nuevas columnas a esta tabla para guardar ms informacin, es decir, no habra ningn
problema, por ejemplo, en aadir una nueva columna llamada Papel donde guardramos el
nombre del personaje que el intrprete realiza en dicha pelcula. Lo segundo, que para fijar la
clave primaria debemos seleccionar juntas las dos columnas (con la tecla Crtl pulsada) que

4.10
apuntan a las otras tablas e indicar que ambas juntas son claves primarias. Esto ltimo se
puede apreciar tambin en la figura 4.15 donde se ve que ambas figuran con el smbolo de la
llave que significa que son clave primaria.

Una vez que tenemos creada esta tabla nos falta indicar en LibreOffice Base las relaciones
existentes, siguiendo la misma mecnica que hemos visto en el anterior apartado (incluir las
tablas ye indicar las relaciones).

Figura 4. 17. Relacin entre Peliculas y Protagonistas

As, una vez que nos hemos situado de nuevo en la ventana Relaciones y hemos aadido las
tablas que queremos relacionar a dicha ventana, debemos indicar que existe una relacin
entre la tabla Peliculas y Protagonistas por un lado (Figura 4.17) y la tabla Protagonistas e
Interpretes por otro (Figura 4.18).

Figura 4. 18. Relacin entre Protagonistas e Interpretes

4.11
Como podemos observar en el diagrama resultante (Figura 4.19), al aadir la tabla
Protagonistas, la relacin muchos a muchos que exista entre Peliculas e Interpretes se ha
convertido en una relacin uno a muchos de Peliculas a Protagonistas y en otra relacin uno a
muchos de Interpretes a Protagonistas. Esto es debido a que, dada una fila de Protagonistas, va
a estar relacionada con una de Interpretes y una de Peliculas pero, dada una fila de Interpretes
y Peliculas, pueden estar relacionadas con muchas de protagonistas. Por ejemplo, la fila de
Protagonistas con los valores [5,10] slo va a estar relacionada con la pelcula La Comunidad
del Anillo por un lado y la interprete Liv Tyler por otro, pero, La Comunidad del Anillo est y
puede estar relacionada con muchas filas de Protagonistas (tantas como protagonistas
guardemos de esa pelcula) y la intrprete Liv Tyler tambin est y puede estar relacionada con
muchas filas de Protagonistas (tantas como en pelculas haya participado).

Figura 4. 19. Diagrama de relaciones final

Esto ocurre siempre con las relaciones muchos a muchos: primero se crea una tabla intermedia
para relacionar ambas tablas y luego la relacin que pasan a tener las dos tablas originales con
la recin creada es de uno a muchos, respectivamente. Adems, en este caso, es
recomendable fijar las opciones de actualizacin y borrado a en cascada.

4.4. Ejercicios propuestos.


4.4.1. Realizar la creacin de la tabla Generos con los tipos de columna y las filas que
aparecen en las figuras 4.2 y 4.3
4.4.2. Realizar la creacin de la tabla Protagonistas con los tipos de columna y las filas
que aparecen en las figuras 4.15 y 4.16
4.4.3. Establecer las relaciones que aparecen en la Figura 4.19.
4.4.4. Completar la tabla Peliculas con una campo Entero denominado Gnero que
almacene el identificador en la tabla Generos del gnero de la pelcula (utilizar
los datos de la figura 4.1.

4.12
Tutorial de
LibreOffice
Base
Unidad 5. Consultas simples

Actualizado desde http://tutorialopenofficebase.wordpress.com/ por Ana Beln Gonzlez


Rogado (Escuela Politcnica Superior de Zamora - Universidad de Salamanca)

Todo el contenido est bajo una licencia de Creative Commons.


Unidad 5. Consultas simples

En este tema, en primer lugar, vamos a ver qu es una consulta y para qu se utiliza.
En el segundo punto veremos cmo realizar una consulta bsica utilizando el asistente.
Por ltimo, veremos cmo realizar una consulta sobre varias tablas combinando el asistente
con el modo Diseo.

5.1. Consultas

Las consultas son objetos que vamos a utilizar para visualizar parte de la informacin
contenida en nuestras bases de datos desde una perspectiva ms detallada y ms adaptada a
las necesidades concretas de una situacin puntual, en contraposicin al contenido total de las
tablas de nuestra base de datos.

Se pueden realizar sobre una o varias tablas relacionadas y el resultado que devuelven se
muestran tambin en forma de tabla.

Las consultas son muy tiles a la hora de construir formularios y, sobre todo, informes, como
ya veremos en prximas unidades.

En LibreOffice Base las consultas se pueden crear en modo Diseo, utilizando el asistente o
utilizando SQL. SQL es el lenguaje estndar de creacin y manipulacin de bases de datos pero
su aprendizaje queda fuera de los objetivos de este curso, por lo que nosotros vamos a
aprender a realizar consultas, primero, de forma bsica, utilizando el asistente y, luego, ms
complejas, en modo Diseo.

5.2. Creacin de consultas sobre una tabla utilizando el asistente

Vamos a comenzar realizando una consulta que nos devuelva de la tabla Interpretes (ver Figura
5.1), que recordamos contena intrpretes de distintas nacionalidades (ver Figura 5.2), el
nombre, los apellidos y la nacionalidad de los que no son espaoles. Para ello, teniendo
seleccionada la seccin Consultas, nos situamos sobre el apartado de tareas y elegimos Usar el
asistente para crear consulta. Nos aparece entonces la primera ventana del asistente donde
debemos elegir qu campos queremos que se muestren, y seleccionamos entonces los campos
Nombre, Apellidos y Nacionalidad de la tabla Interpretes (ver Figura 5.3).

Figura 5. 1. Diseo de la tabla Interpretes

5.2
Figura 5. 2. Contenido de la tabla Interpretes

Figura 5. 3. Seleccin de campos a mostrar en la consulta

A continuacin, podemos elegir si queremos que se muestren ordenados en funcin de los


valores de uno o varios campos. Nosotros vamos a seleccionar que se ordenen
alfabticamente por los apellidos del intrprete como aparece reflejado en la Figura 5.4.

5.3
Figura 5. 4. Criterios de ordenacin del resultado de la consulta

En el siguiente paso podemos elegir si queremos indicar uno o varios criterios de bsqueda; es
decir, si queremos que las filas que se muestren cumplan alguna condicin en particular. Como
en nuestro caso el objetivo es mostrar slo los intrpretes no espaoles, debemos indicar que
para el campo Nacionalidad no deseamos aquellos que contengan el valor Espaol (ver
Figura 5.5).

Figura 5. 5. Criterios de bsqueda de la consulta

A continuacin, podemos elegir con qu nombre (alias), se mostrarn las cabeceras de las
columnas de los campos que hemos elegido al mostrar el resultado de la consulta. En este

5.4
caso, como los nombres de los campos son bastante claros, simplemente les quitamos el
nombre de la tabla que figura delante del nombre, que es lo que hace por defecto (ver Figura
5.6).

Figura 5. 6. Nombre de las cabeceras de columnas al presentar datos

Para finalizar, en la ltima ventana (ver Figura 5.7) se nos muestra un resumen con todas las
opciones elegidas y es donde debemos indicar el nombre con el cul se guardar la consulta,
en nuestro caso, Consulta_Interpretes. Adems podemos elegir si al finalizar queremos que se
muestre el resultado de la consulta o se abra la consulta en modo Diseo para afinar y detallar
mejor la consulta. Nosotros vamos a elegir que muestre el resultado ya que el modo Diseo lo
veremos en el siguiente apartado y en la prxima unidad.

Figura 5. 7. Resumen de la consulta y nombre de la consulta

5.5
Se muestra entonces el resultado de la consulta (ver Figura 5.8) donde podemos comprobar
qu intrpretes tenemos almacenados que no son espaoles.

Figura 5. 8. Resultado de Consulta_Interpretes

Una vez cerramos la consulta, sta ya queda almacenada en la seccin consultas y podemos
hacer uso de ella en cualquier momento.

5.3. Creacin de consultas sobre varias tablas combinando el asistente con el modo
Diseo

Ahora vamos a realizar una consulta que nos muestre las pelculas junto con el nombre del
gnero al que pertenecen. Gracias a esta consulta vamos a empezar a comprobar el gran
potencial que tiene guardar la informacin distribuida en varias tablas estableciendo
relaciones entre ellas.

Para realizar esta consulta primero vamos a utilizar el asistente para conseguir un primer
borrador de la consulta que queremos realizar para, finalmente, acabar de concretarla en
modo Diseo. Por tanto, empezamos de nuevo yendo a la seccin tareas del tipo de objeto
Consulta y elegimos Usar el asistente para crear consulta

Ahora, en la ventana inicial del asistente, elegimos los campos Titulo, Director, Ao y Formato
de la tabla Peliculas (ver Figura 5.9)

5.6
Figura 5. 9. Seleccin de campo de tabla Peliculas

En la siguiente ventana (Figura 5.10) vamos a indicar que queremos que el resultado se
ordene, en primer lugar, en funcin del campo Director, y, en caso de coincidir el director
entre distintas pelculas, en funcin del campo Titulo.

Figura 5. 10. Criterios de ordenacin para la consulta

En esta consulta no vamos a poner ninguna condicin por la que filtrar los datos, por lo que
nos vamos directamente a la ventana Alias (Figura 5.11), donde vamos a aprovechar para
maquillar que el campo Titulo no tuviera tilde al crear dicho campo y ahora s se la incluimos.

5.7
Adems, para que el campo Ao quede ms concreto lo vamos a presentar como Fecha de
estreno.

Antes de finalizar con el asistente, en la ventana Informacin general del mismo, debemos
incluir el nombre de la consulta, que en este caso va a ser Consulta_Peliculas_Generos, y
vamos a indicar tambin que no queremos que se muestre el resultado de la consulta, sino
que queremos seguir trabajando con ella en modo Diseo. Para esto ltimo debemos activar la
casilla Modificar consulta en dicha ventana (ver Figura 5.12).

Figura 5. 11. Modificacin de los alias de los campos

Figura 5. 12. Nombre de la consulta e indicacin de seguir modificndola

5.8
Figura 5. 13. Ventana de diseo de consultas

Nos debe aparecer entonces una ventana como la de la Figura 5.13. que es la ventana que
permite crear consultas en modo Diseo. El entorno de trabajo en modo Diseo lo vamos a ver
con ms detenimiento en la siguiente unidad y en esta slo nos vamos a centrar en los
elementos especficos para conseguir la consulta que queremos realizar. En primer lugar,
podemos ver que la ventana aparece dividida en dos partes bien diferenciadas: una que
contiene las tablas que estamos utilizando en la consulta y otra con los campos que ya
habamos seleccionado en el asistente junto con una serie de opciones que podemos indicar
para cada uno de ellos. As, podemos ver que aparecen los campos Titulo, Director, Ao y
Formato junto con los alias que indicamos en el asistente y la opcin de que se ordene la
consulta en funcin del campo Director.

Algo que seguro nos ha llamado la atencin es por qu aparece el campo Titulo dos veces. La
respuesta es que, debido a que en el orden en que queremos que se muestren los campos es:
primero el campo Titulo, y luego el Director, y en el asistente hemos indicado que primero
queremos la ordenacin en funcin del nombre del director, y, en caso de repetirse dicho
nombre, ordenar por el ttulo de la pelcula. La nica forma de indicar esto es poniendo de
nuevo el campo Titulo detrs de los otros cuatro, indicando que se ordene de manera
ascendente pero desmarcando la casilla Visible para que no aparezca dos veces este campo
en el resultado de la consulta.

Ya hemos visto entonces que en el modo Diseo nos aparecen los campos de Peliculas que
deseamos pero an no hemos hecho nada para ver el nombre del gnero de la pelcula. Como
el nombre del gnero es un campo de la tabla Generos lo primero que tenemos que hacer es

5.9
indicar que queremos incluir dicha tabla en la consulta. Para ello, debemos
seleccionar el icono Aadir tablas (ver Figura 5.14), y elegir la tabla Generos.

Figura 5. 14. Aadir tablas a una consulta

Figura 5. 15. Parte del resultado de consultar Generos y Peliculas sin indicar que estn relacionadas

Podemos observar que automticamente LibreOffice Base detecta que estas dos tablas estn
relacionadas. Qu hubiera pasado si no hubiramos indicado en la unidad anterior que existe
una relacin? Pues lo mismo que si hubiramos intentado elegir los campos de ambas tablas
directamente en el asistente, que la respuesta a la consulta (ver Figura 5.15) hubiera sido que
cada fila de la primera tabla aparecera unida a cada una de las filas de la otra tabla sin ningn
criterio, es decir, en nuestro caso tendramos 90 filas (resultado del producto cartesiano de 10
filas de Peliculas por 9 que tenemos en Generos) de las cuales 80 no significan nada. Pero al
haber indicado que existe la relacin y detectarse en el modo Diseo conseguimos, sin

5.10
necesidad de indicarlo explcitamente, que a la hora de mostrar todas las filas de Peliculas y
Generos, slo nos muestre aquellas donde el valor para el campo por el que estn relacionadas
(Genero e Id_genero, respectivamente) sea el mismo, es decir, que slo nos muestre juntas las
filas de ambas tablas que realmente estn relacionadas.

Figura 5. 16. Aadimos campos de segunda tabla

Una vez hemos aadido la tabla Generos, elegimos qu campos queremos mostrar de ella. En
este caso, nos basta con el campo Nombre (ver Figura 5.16). Y, una vez elegido el campo, no
debemos olvidar comprobar que la opcin Visible est marcada para que se muestre este
campo en el resultado de la consulta (ver Figura 5.17). En la opcin Alias del campo Nombre
de la tabla Generos vamos a mostrar la palabra Gnero para que cualquier usuario entienda
mejor lo que mostrar esta columna (ver Figura 5.17).

Figura 5. 17. Opcin visible marcada y cambio de Alias del campo Nombre de Generos

5.11
Figura 5. 18. Resultado de la consulta dentro del modo Diseo

Dentro del modo Diseo podemos comprobar si la consulta devuelve lo que queremos sin
necesidad de cerrar esta ventana y lanzar la consulta desde el men principal. Para ello, basta
con seleccionar el icono de ejecucin de la consulta que se encuentra situado el segundo por la
derecha en la fila de iconos superiores. As, nos aparece entonces en la parte superior de la
ventana el resultado de la consulta (ver Figura 5.18).

Figura 5. 19. Consultas disponibles

5.12
Si estamos conformes con el resultado, guardamos la consulta y podemos ver en la ventana
principal (ver Figura 5.19) que las dos consultas de esta unidad aparecen ya almacenadas.

5.4. Ejercicios propuestos


5.4.1.Crear la consulta Consulta_Interpretes del segundo apartado de esta unidad.
5.4.2.Crear la consulta Consulta_Peliculas_Generos del tercer apartado de esta unidad.

5.13
Tutorial de
LibreOffice
Base
Unidad 6. Consultas avanzadas y vistas

Actualizado desde http://tutorialopenofficebase.wordpress.com/ por Ana Beln Gonzlez


Rogado (Escuela Politcnica Superior de Zamora - Universidad de Salamanca)

Todo el contenido est bajo una licencia de Creative Commons.


Unidad 6. Consultas avanzadas y vistas

En esta unidad, en primer lugar vamos a ver el entorno de trabajo en vista Diseo para
creacin de consultas. A continuacin, vamos a crear una consulta que incluye todas las tablas
de nuestra base de datos. Despus, veremos un ejemplo de cmo utilizar funciones dentro de
una consulta. Por ltimo, veremos qu son las vistas y para qu se utilizan.

6.1. Entorno de trabajo en vista Diseo

En la unidad anterior ya trabajamos en modo Diseo (ver Figura 6.1), pero ahora vamos a ver
en detalle todos los elementos de esta forma de realizar consultas.

Primero, podemos observar que la vista Diseo est dividida horizontalmente en tres partes: la
parte superior, con la barra de herramientas, la central, donde se muestran las tablas
seleccionadas para la consulta, y la inferior, donde cada columna representa cada uno de los
campos a mostrar junto con una serie de opciones relacionadas para el filtrado de los
resultados.

Figura 6. 1. Ventana de creacin de consultas en modo Diseo

Los botones especficos para consultas de la barra de herramientas que tenemos disponibles
son:

Modo Diseo: activar/desactivar el modo Diseo.

Ejecutar consulta: muestra el resultado de la consulta sin necesidad de salir del


modo de edicin. Hay que tener en cuenta que no guarda la consulta.

6.2
Eliminar consultar: borra la consulta y quita todas las tablas de la vista Diseo.

Aadir tablas o consulta: permite agregar ms tablas a la consulta.

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

Nombre de 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 distintos: si se activa, aquellas filas que aparecen repetidas varias veces en
el resultado de una consulta slo se mostraran una vez. Por ejemplo, si hiciramos
una consulta que devuelva los gneros de nuestras pelculas, la fila con el valor
Ciencia-Ficcin aparecera varias veces a menos que activramos esta casilla y ya
slo aparecera una vez.

En cuanto a los campos y sus distintas opciones tenemos:

Campo: muestra los nombres de los campos que se desean visualizar. En el caso de
querer mostrar todos los campos de una tabla, tenemos la posibilidad de poner
Nombre de tabla.* en lugar de poner uno a uno cada uno de los campos.

Alias: el valor que se escriba se mostrar en la cabecera de la columna de resultados


en lugar del nombre del campo que tiene la tabla.

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

Orden: podemos elegir entre ordenar los resultados por los valores de ese campo de
forma ascendente o descendente.

Visible: si queremos que se muestre ese campo en el resultado estar marcada. Los
campos con esta opcin desmarcada se utilizan para fijar condiciones de filtrado de los
resultados.

Funcin: permiten realizar distintas operaciones sobre los resultados. Hay que tener en
cuenta que, una vez que a un campo se le incluye alguna funcin, el resto de los
campos tambin deben llevar asociada alguna de las funciones disponibles.
Concretamente, LibreOffice Base ofrece las siguientes funciones:

o Agrupar: Agrupa los datos de la consulta segn el campo seleccionado.

o Contar: determina el nmero de registros en la tabla. Los campos vacos


pueden contarse o no.

6.3
o Promedio: para campos de tipo numrico devuelve la media aritmtica de los
resultados para ese campo.

o Suma: para campos de tipo numrico devuelve la suma de los resultados para
ese campo.

o Mximo: para campos de tipo numrico devuelve el valor mximo de los


resultados para ese campo.

o Mnimo: para campos de tipo numrico devuelve el mnimo de los resultados


para ese campo.

Criterio: Especifica criterios de filtro (que un campo contenga un valor mayor, menor,
igual, etc.) para el campo. Se pueden incluir varios criterios de filtrado para un campo
utilizando las filas o. Debido al espacio limitado de cada unidad de este curso, se
recomienda, a aquellos alumnos que quieran ms informacin acerca de los criterios
de filtrado, buscar en el ndice de la Ayuda de LibreOffice, el apartado Disear
consultas (Base) donde en el subapartado Formular condiciones de filtro aparecen
explicadas al detalle.

6.2. Creacin en vista Diseo de consulta sobre varias tablas

Vamos a crear nuestra primera consulta completamente en vista Diseo. En particular, vamos
a crear una consulta que nos muestre todos los actores que protagonizan pelculas junto con
los datos de la pelcula, incluido el nombre del gnero. Es decir, vamos a construir una consulta
que utiliza las cuatro tablas de nuestra base de datos.

Para empezar, nos vamos a la ventana principal de LibreOffice Base, a la seccin Consultas y
seleccionamos la tarea Crear consulta en vista Diseo .

Figura 6. 2. Seleccin de tablas de la consulta

Nada ms entrar en el modo Diseo, nos mostrar una ventana donde indicar las tablas que
queremos incluir en la consulta que se va a crear. En nuestro caso, vamos a aadir las cuatro

6.4
disponibles y veremos como LibreOffice Base nos muestra las relaciones existentes
automticamente (ver Figura 6.2).

Los primeros cuatro campos que vamos a incluir son los de la tabla Interpretes y a continuacin
vamos a especificar que queremos que los resultados de la consulta se muestren ordenados
por los apellidos y el nombre de los intrpretes como se muestra en la Figura 6.3.

Figura 6. 3. Inclusin de campos de la tabla Interpretes Ordenacin de resultados por apellidos y nombre

Para incluir los campos de la tabla Peliculas vamos a seleccionar Peliculas:* y as no tenemos
que incluir los campos uno a uno (ver Figura 6.3).

Para seleccionar los campos de la tabla Interpretes no hemos utilizado la posibilidad


Interpretes.* porque es necesario seleccionar cada campo individualmente, ya que vamos a
establecer algn criterio de ordenacin en funcin de alguno de los campos de la tabla. Como
en nuestro caso vamos a mostrar los resultados ordenados en funcin de los apellidos y el
nombre de los intrpretes (ver Figura 6.3) necesitamos seleccionar uno a uno cada campo de
Interpretes.

Para terminar, vamos a seleccionar el campo Nombre de la tabla Generos y, en el alias, vamos
a poner NombreGenero, para distinguirlo de los campos ya seleccionados, Nombre de la
tabla Interpretes y Genero de la tabla Peliculas (ver Figura 6.4.).

6.5
Figura 6. 4. Inclusin del campo Nombre de Generos

Salvamos la consulta como ConsultaTotal y al ejecutarla el resultado es el de la Figura 6.5.

Figura 6. 5. Resultado de la consulta ConsultaTotal

6.3. Creacin de consultas que incluyen funciones

Vamos a crear una consulta que realiza operaciones sobre los resultados. As, vamos a crear
una consulta que muestre el nombre de cada gnero almacenado y el total de pelculas que
tenemos de cada gnero. Es decir, el objetivo es realizar una consulta sobre Generos y
Peliculas de manera que agrupemos las filas devueltas en funcin de cada gnero para as
poder contarlas y poder saber el nmero de pelculas asociadas a cada uno de ellos. El
resultado de nuestra consulta, con las filas que tenemos actualmente en Generos y Peliculas,
debe ser como el de la Figura 6.6.

6.6
Figura 6. 6. Generos y total de pelculas de cada gnero

Para empezar, elegimos las tablas sobre las que vamos a realizar la consulta, Generos y
Peliculas. Los campos que necesitamos son, por una lado Nombre de Generos, que es sobre el
que agruparemos los resultados devueltos y, por otro, un campo de la tabla Peliculas que
estemos seguros que siempre tendr un valor (no estar vaco) para cada fila de Peliculas. Por
ejemplo, podemos elegir el campo Id_pelicula que siempre va a tener valor para cada pelcula.
Los campos y tablas seleccionadas se muestran en la figura 6.7.

Figura 6. 7. Campos seleccionados de ambas tablas

A continuacin, debemos asociar la funcin correspondiente a cada uno de los dos campos. En
primer lugar, queremos agrupar los resultados en funcin de cada gnero, para ello vamos a
incluir la funcin Agrupar asociada al campo Nombre de Generos. Y, en segundo lugar,
queremos contar las pelculas relacionadas con cada gnero. Esto ltimo lo conseguimos
asociando la funcin Contar al campo Id_pelicula de Peliculas (ver Figura 6.8).

6.7
Figura 6. 8. Inclusin de funciones necesarias en cada campo

Guardamos entonces la consulta como Peliculas de cada Genero y al lanzarla nos


encontramos una pantalla como la de la Figura 6.9.

Figura 6. 9. Resultado de la consulta Peliculas de cada Genero

Como vemos, la cabecera con el total de pelculas est mostrando la funcin que estamos
utilizando junto con el nombre del campo. Si queremos que el resultado aparezca como el que
mostrabamos en la Figura 6.6., es decir, con una cabecera significativa, debemos aadir el alias
Total de Peliculas (ver Figura 6.13).

6.8
Figura 6. 10. Inclusin de alias para el total de pelculas

6.4. Vistas. Consultas sobre vistas

Las vistas son un tipo especial de consultas almacenadas que, a nivel de bases de datos, se
tratan como una tabla ms. Es decir, hasta ahora hemos visto que slo podemos realizar
consultas sobre nuestras tablas de la base de datos pero qu ocurre si necesitamos realizar
una consulta no sobre una tabla sino sobre los resultados de otra consulta? La respuesta es
que debemos convertir la consulta en una vista para que se pueda manejar como si de una
tabla se tratara.

Para ver los beneficios de usar vistas, vamos a realizar una consulta que nos devuelva el valor
medio de las pelculas asociadas a cada gnero. Esta consulta no se puede realizar
directamente sobre las tablas Generos y Peliculas sino sobre la consulta Peliculas de cada
Genero una vez convertida en vista.

Para convertir una consulta en una vista nos situamos en la ventana principal de LibreOffice
Base en la seccin Consultas y seleccionamos la consulta que queramos convertir con el botn
derecho del ratn. Del men que se despliega seleccionamos la opcin Crear como vista (ver
Figura 6.11).

6.9
Figura 6. 11. Convertir una consulta en una vista

Se nos despliega entonces una ventana donde tenemos que poner un nombre a la vista,
escribimos PeliculasCadaGenero y aceptamos. Ya hemos convertido la consulta en una vista y
podemos ver que ya es as si nos situamos en la seccin Tablas de la ventana principal (ver
Figura 6.12). Podemos observar que se usa un icono distinto para representar vistas y
distinguirlas de las tablas.

Figura 6. 12. Vista creada en la seccin Tablas

6.10
Una vez que ya tenemos la vista, vamos a crear una consulta sobre ella. Para empezar, vemos
que al entrar en vista Diseo para crear una nueva consulta ya nos aparece
PeliculasCadaGenero como si de una tabla ms se tratara y la elegimos como nica tabla de la
consulta (ver Figura 6.13).

Figura 6. 13. Inclusin de la vista PeliculasCadaGenero en la consulta a crear

Como slo queremos que nos devuelva el valor medio de las pelculas de cada gnero
seleccionamos el campo Total de Peliculas y le asociamos la funcin Promedio junto con el
alias Media de cada gnero (ver Figura 6.14).

Figura 6. 14. Inclusin del valor medio del campo Total de Peliculas

6.11
Para ver que la consulta hace lo que esperamos en la propia vista Diseo (ver Figura 6.15), la
lanzamos antes de guardarla utilizando el botn Ejecutar y, si devuelve el valor esperado, ya
hemos terminado.

Figura 6. 15. Resultado del valor medio de pelculas por cada gnero

6.5. Ejercicios propuestos


6.5.1. Crear la consulta ConsultaTotal del apartado 6.2.
6.5.2. Crear la consulta Peliculas de cada Genero del apartado 6.3.
6.5.3. Crear la vista PeliculasCadaGenero del apartado 6.4.
6.5.4. Crear una consulta que devuelva la media del nmero de pelculas de cada
gnero.

6.12
Tutorial de
LibreOffice
Base
Unidad 7. Formularios bsicos

Actualizado desde http://tutorialopenofficebase.wordpress.com/ por Ana Beln Gonzlez


Rogado (Escuela Politcnica Superior de Zamora - Universidad de Salamanca)

Todo el contenido est bajo una licencia de Creative Commons.


Unidad 7. Formularios bsicos

En esta unidad, en primer lugar vamos a ver qu es un formulario y para qu se utiliza. En el


segundo punto veremos el entorno de creacin de formularios. Por ltimo, veremos cmo
crear un formulario bsico.

7.1. Formularios

Los formularios son un tipo de objeto que van a permitir la introduccin de datos en las tablas
de una forma ms sencilla y ms limpia. En vez de introducir los datos directamente sobre la
tabla, los datos se introducen en la tabla a travs de los formularios.

En una base de datos se puede crear ms de un formulario basado en una misma tabla. Un
formulario puede tomar varios campos de una tabla o todos; incluso puede tomar campos de
diferentes tablas o consultas.

Las tablas almacenan la informacin, los formularios se encargan de recogerla. Las tablas
deben estar cerradas para que puedan incluir los datos de los formularios. Al cerrar o guardar
los formularios, las tablas se actualizan. Todos estos conceptos los trataremos en las siguientes
secciones.

7.2. Entorno de creacin de un formulario

Para crear un formulario nos vamos a encontrar dos posibilidades dentro del apartado de
tareas disponibles en la seccin formularios de LibreOffice Base (Figura 7.1):

Creacin de formularios en vista Diseo: seleccionando esta opcin se puede crear un


formulario totalmente personalizado.

Usar el asistente para crear formulario: crea automticamente un formulario con los
campos que el usuario seleccione. Con este asistente se pueden crear formularios de
formatos muy distintos.

Figura 7. 1. Seccin de formularios en LibreOffice Base

7.2
Nosotros vamos a crear formularios en la vista Diseo porque nos permite configurarlos con
ms detalles. Para ello nos vamos a la seccin Tareas dentro de formularios y pulsamos sobre
Crear formulario en vista Diseo. Nos aparece entonces la ventana de diseo de formularios
(ver Figura 7.2).

Barra Controles de formulario

Barra Diseo de formulario

Figura 7. 2. Ventana de creacin de formularios

Antes de empezar a disear nuestro formulario necesitamos conocer los distintos tipos de
controles de que vamos a disponer y para qu sirven.

7.2.1. Controles de formularios

Toda la informacin de un formulario est contenida en los controles. Los controles son
objetos de un formulario que muestran datos, realizan acciones o decoran el formulario.
Los controles pueden ser dependientes, independientes o calculados:

Control dependiente: est unido a un campo de una tabla o consulta. Los controles
dependientes se utilizan para mostrar, introducir y actualizar valores de los campos de
la base de datos.

Control independiente: no tiene un origen en una tabla o consulta. Los controles


independientes se pueden utilizar para mostrar informacin, lneas, rectngulos e
imgenes, independientemente de que estos existan en la tabla creada de antemano.

7.3
Control calculado: el origen de los datos es una expresin, no un campo. Una
expresin es una combinacin de operadores (=,+,-,* y /), nombres de controles,
nombres de campos, funciones que devuelven un solo valor y valores constantes. La
expresin puede incluir datos de un campo de la tabla o consulta del formulario o
datos de otro control del formulario.

Los distintos campos de control se encuentran repartidos en las dos barras de herramientas
que aparecen resaltadas en la Figura 7.2; por un lado, la barra Diseo de formulario y, por otro,
la barra Controles de formulario. Si esta ltima barra no nos apareciera por cualquier motivo,
se puede acceder a ella a travs del men Ver, eligiendo la opcin Barra de Herramientas y
activando la casilla Controles de formulario. En esta barra, por defecto, no aparecen todos los
controles disponibles; si queremos que aparezcan todos, debemos pulsar el icono Ms
controles que abre un nueva barra de herramientas que se puede incorporar debajo de la
barra Controles de formulario y nuestra ventana de trabajo debera quedar como la que
aparece en la Figura 7.3.

Figura 7. 3. Ventana de edicin de formularios con todas las barras de herramientas necesarias

7.4
Los botones ms importantes son los siguientes:

Modo Diseo: activa y desactiva el modo Diseo. Nos permite alternar entre el
modo de Usuario (introduccin de datos a travs de los campos) y el modo Diseo
(edicin de los campos de control).

Navegador de formulario: muestra todos los formularios y subformularios del


documento actual con sus respectivos campos de control.

Abrir en modo diseo: si est activo, el formulario siempre se abre en modo Diseo.

Casilla de verificacin: 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.

Botn de comando: inserta un botn que al ser pulsado ejecuta instrucciones.

Botn de opcin: permiten al usuario elegir entre diversas opciones.

Listado: permite seleccionar un elemento de una lista.

Cuadro combinado: permite seleccionar un elemento de una lista o escribir el dato


directamente.

Campo de etiqueta: sirven para mostrar texto predefinido. Tambin se le conoce


como campo etiqueta.

Activar o desactivar asistentes: 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.

Origen 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 cules van a ser las tablas en las que se insertarn los datos a
travs del formulario que vamos a crear.

7.5
7.3. Creacin de un formulario bsico.

El primer formulario que vamos a crear en vista Diseo es uno para la tabla Interpretes que nos
va a permitir introducir los intrpretes de una pelcula.

Lo primero que vamos a hacer dentro de la ventana de edicin de formularios (Figura 7.3) es
indicar cmo se va a llamar el formulario y con qu tabla va a estar conectado. Para ello,
pulsamos sobre el icono Navegador de formulario y hacemos clic con el botn derecho sobre
el campo Formulario, elegimos la opcin Nuevo y, dentro de sta, Formulario (ver Figura 7.4).

Figura 7. 4. Creacin de nuevo formulario

Por defecto, al nuevo formulario lo llama Formulario pero nosotros lo vamos a renombrar
como Form_Interpretes. Para indicar que el formulario va a estar conectado con la tabla
Interpretes hacemos clic con el botn derecho del ratn en el navegador de formulario sobre
Form_Interpretes y elegimos Propiedades (Figura 7.5).

Figura 7. 5. Eleccin de propiedades del formulario creado

7.6
En el cuadro resultante, vamos a la ficha Datos, y seleccionamos dentro Contenido. Abrimos el
men desplegable y seleccionamos la tabla sobre la que vamos a construir el formulario, en
nuestro caso Interpretes (Figura 7.6).

Figura 7. 6. Eleccin de tabla Interpretes

Cerramos las ventanas Propiedades del formulario y Navegador de formulario y, antes de


continuar, guardamos el formulario pulsando en la pestaa Archivo y dentro Guardar, y
tambin aqu le damos como nombre Form_Interpretes (Figura 7.7).

Figura 7. 7. Guardado de Form_Interpretes

Ahora ya podemos continuar con la creacin del formulario. En primer lugar, vamos a crear un
campo de texto. Para ello, seleccionamos Campo de texto de entre todos los controles
disponibles. Veremos que el cursor cambia de forma, y es cuando podemos insertar dicho

7.7
campo. Llevamos el cursor a la posicin de la zona de trabajo y lo arrastramos hasta que el
campo de texto alcance el tamao deseado (ver Figura 7.8).

Figura 7. 8. Inclusin de un campo de texto

Ahora tenemos que dar unas propiedades al campo de texto y asignarle la tabla en la que se
insertarn los datos introducidos desde este formulario. Seleccionamos dicho cuadro con el
botn derecho y nos sale un cuadro emergente, y dentro de l escogemos Campo de Control
(ver Figura 7.9).

Figura 7. 9. Propiedades del campo de control

7.8
En el cuadro resultante, vamos a la ficha Datos, y seleccionamos dentro de Campo de datos el
nombre del campo al cual se va a enlazar, en este caso, al campo Id_Interprete (ver Figura
7.10).

Figura 7. 10. Propiedad Datos, Campo de Texto

Dentro de esta misma ventana de propiedades del campo, nos vamos a la ficha General al
campo Nombre y escribimos CampoId_Interprete (Figura 7.11). Una buena prctica es dar un
nombre significativo a cada campo que creemos, sobre todo cuando tengamos formularios con
muchos campos. As, podremos distinguir bien cada campo dentro de la ventana Navegador
de formularios.

Figura 7. 11. Indicacin de nombre del campo

7.9
Delante del campo de texto creado vamos a poner un Campo etiqueta (ver Figura 7.12) para
que cualquier usuario que utilice el formulario conozca lo que debe introducir.

Figura 7. 12. Inclusin de campo etiqueta

Si hacemos doble clic sobre la etiqueta aparecer una ventana (ver Figura 7.13) donde
podremos indicar las diferentes propiedades de la etiqueta (nombre que aparecer en la
etiqueta, color de fondo, tipo de letra, tamao, color,). El formato de los formularios puede
tener ms colorido y distintas fuentes de texto pero el conocer y cambiar los distintos
formatos entra dentro de los contenidos de un curso de LibreOffice Writer y no de ste.

Figura 7. 13. Propiedades del Campo de Etiqueta

7.10
Dentro de estas propiedades vemos que hay algunas que nos abren una nueva ventana como,
por ejemplo, la propiedad Fuente (Ver Figura 7.14) donde podemos variar el tamao y el tipo
de la fuente del texto.

Figura 7. 14. Propiedad Fuente del Campo de etiqueta

Una vez que hemos cambiado las propiedades de la etiqueta, nuestro formulario debera
parecerse al de la figura 7.15.

Figura 7. 15. Formulario tras cambio de propiedades de etiqueta

Si repetimos los pasos realizados para el resto de los campos de la tabla Interpretes podramos
obtener un formulario parecido al de la Figura 7.16.

7.11
Figura 7. 16. Formulario Form_Interpretes con todos los campos incluidos

Si salvamos los cambios realizados y cerramos la ventana de edicin de formularios, en la


ventana de objetos ya debe aparecer el formulario que acabamos de crear (Figura 7.19).

Figura 7. 17. Ventana de objetos con nuevo formulario

Si queremos realizar algn cambio en el formato del formulario, pulsamos sobre el formulario
con el botn derecho del ratn y elegimos la opcin Editar (Figura 7.18).

7.12
Figura 7. 18. Editar formulario creado

En cambio, si lo que queremos es ejecutar el formulario para empezar a insertar datos (ver
Figura 7.19) hacemos doble clic sobre l.

Barra Navegacin de formulario

Figura 7. 19. Ver e insertar datos en formulario

Para movernos entre los diferentes registros y realizar distintas operaciones sobre ellos,
usaremos la barra Navegacin de formulario que nos aparece en la parte inferior (Figura 7.19)
en la que destacan los siguientes elementos:

Buscar registro

Desplazamiento entre registros

Registro nuevo

7.13
Guardar registro

Deshacer: entrada de datos

Eliminar registro actual.

7.4. Ejercicios propuestos


7.4.1.Crear el formulario Form_Interpretes.

7.14
Tutorial de
LibreOffice
Base
Unidad 8. Formularios avanzados

Actualizado desde http://tutorialopenofficebase.wordpress.com/ por Ana Beln Gonzlez


Rogado (Escuela Politcnica Superior de Zamora - Universidad de Salamanca)

Todo el contenido est bajo una licencia de Creative Commons.


Unidad 8. Formularios avanzados

En este tema, para empezar, vamos a crear un formulario con varios campos de control de
distintos tipos. A continuacin, vamos a crear un formulario que contiene subformularios.

8.1. Creacin de formularios con mltiples tipos de campos de control

En la unidad anterior creamos el formulario Form_Interpretes que slo contena campos de


texto, pero vimos que existan muchos ms campos de control disponibles. En este apartado
vamos a crear un formulario llamado Form_Peliculas en el que vamos a incluir ms variedad de
campos.

El formulario Form_Peliculas va a contener cuatro campos de texto para las columnas


Id_pelicula, Titulo, Ao y Director. Para insertar estos campos, repetimos todos los pasos que
realizamos en la unidad anterior hasta llegar a obtener un formulario que contenga los campos
de texto mencionados tal y como se muestran en la figura 8.1.

Figura 8. 1. Form_Peliculas con cuatro campos de texto

A partir de aqu vamos a empezar a aadir campos que hasta ahora no hemos utilizado. El
primero que vamos a incluir es del tipo Casilla de verificacin para indicar si hemos visto o no
la pelcula. Para ello, seleccionamos este tipo de campo y, dentro de la opcin Campo de datos
de la ficha Datos de las propiedades, lo asociamos a la columna Visionada de Peliculas. Una vez
que lo hayamos aadido y modificado usando las propiedades de la ficha General de
propiedades, como se muestra en la figura 8.2, deberamos tener nuestro formulario como el
de la figura 8.3.

8.2
Figura 8. 2. Propiedades de casilla de verificacin

Figura 8. 3. Form_Peliculas con casilla de verificacin

Para el campo Formato vamos a utilizar un Cuadro de Grupo para establecer por anticipado las
diferentes opciones y para que el usuario no tenga que escribir tantas veces lo mismo.
Elegimos entonces dicho campo y al incluirlo en el formulario nos debe aparecer un asistente
(ver Figura 8.4) que nos va a guiar para indicarnos cmo asignar el valor seleccionado en el
campo Formato.

8.3
Figura 8. 4. Asistente Cuadro de Grupo

En primer lugar debemos incluir los nombres de las posibles opciones que queremos que
aparezcan para el campo Formato, en nuestro caso, DVD, VHS y CD (Figura 8.4). En la siguiente
ventana del asistente podemos elegir si alguna de las tres opciones debe aparecer por defecto.
Dejamos por defecto DVD y en la siguiente ventana (ver Figura 8.5) tenemos que asociar a
cada uno de los nombres de opcin fijados en la primera ventana del asistente el valor real que
se almacenar en dicho campo. En nuestro caso, el valor a almacenar es el mismo que el
nombre de opcin y as debemos indicarlo para cada uno de los tres campos.

Figura 8. 5. Valor asociado a cada nombre de opcin

La siguiente ventana del asistente (ver Figura 8.6) sirve para asociar el Cuadro de Grupo a un
campo de la tabla. En nuestro caso al campo Formato.

8.4
Figura 8. 6. Campo asociado al cuadro de grupo

Para finalizar, la ltima ventana del asistente permite poner nombre al cuadro, en este caso le
llamamos Formato.

Si hemos realizado todos los pasos correctamente, nuestro formulario debe tener un aspecto
similar al de la Figura 8.7.

Figura 8. 7. Form_Peliculas con cuadro de grupo

Para el campo Genero vamos a aprovecharnos de las ventajas de haber utilizado relaciones
entre tablas de forma que slo se puedan incluir los gneros que estn en la tabla Generos.
Para ello vamos a utilizar la opcin Campo de lista que, nada ms elegirla, nos abre un
asistente como el que se muestra en la Figura 8.8.

8.5
Figura 8. 8. Seleccin de la tabla para el contenido del cuadro de lista.

En dicho asistente se nos va a permitir elegir el contenido del cuadro de lista a partir del
contenido de alguna tabla, en nuestro caso Generos, y, dentro de la tabla elegida, debemos
seleccionar el campo que queremos que se muestre, en este caso el campo Nombre (ver Figura
8.9).

Figura 8. 9. Seleccin del campo a mostrar en cuadro de lista

Por ltimo, debemos indicar qu campo tienen en comn la tabla principal del formulario
Peliculas con la tabla del cuadro de lista Generos; es decir, debemos especificar el campo a
partir del cual hemos construido la relacin entre ambas tablas. Dicho campo era Generos en
Peliculas e Id_genero en Generos (ver Unidad 4 del curso) y as hay que indicarlo en la ltima
ventana del asistente (ver Figura 8.10).

8.6
Figura 8. 10. Seleccin del campo comn entre tabla del formulario y tabla del cuadro de lista

Para finalizar este formulario le aadimos una etiqueta descriptiva delante del cuadro de lista
creado para el gnero. Nuestro formulario en ejecucin debe verse como el de la figura 8.11.

Figura 8. 11. Vista de Form_Peliculas en ejecucin

8.2. Creacin de formulario con subformularios

En este apartado vamos a crear un formulario que permita relacionar los intrpretes con las
pelculas en las que ha participado y al que llamaremos Form_Protagonistas.

Para comenzar, seguimos los pasos iniciales que vimos en la unidad anterior. As, primero
seleccionamos Crear un nuevo formulario en vista Diseo, luego abrimos el Navegador de
formularios y, por ltimo, crear un nuevo formulario llamado Form_Protagonistas asociado a la
tabla Protagonistas (ver Figura 8.12).

8.7
Figura 8. 12. Creacin de Form_Protagonistas asociado a tabla Protagonistas

Como sabemos, la tabla Protagonistas slo contiene los identificadores de los intrpretes y los
identificadores de las pelculas que estn relacionadas. Por tanto, sera un poco complicado, al
utilizar este formulario, tener que recordar el identificador de cada uno en el momento de ver
los protagonistas o insertar nuevas interpretaciones.

Para solucionar esto nos vamos a valer de nuevo de los cuadros de lista para poder ver el ttulo
de las pelculas y los apellidos y el nombre de cada interpretacin en lugar de simplemente los
identificadores.

Vamos a empezar introduciendo en nuestro formulario el ttulo de las pelculas; para ello,
seleccionamos un nuevo cuadro de lista, donde debemos indicar que el contenido es el de la
tabla Peliculas, que el campo que queremos que se muestre es el ttulo y que las tablas
Peliculas e Interpretes tienen en comn el campo Id_pelicula y Pelicula, respectivamente. Junto
con este cuadro debemos incluir una etiqueta delante llamada Ttulo.

Debajo del ttulo vamos a incluir el nombre y apellidos de los intrpretes. Debido a que son dos
campos diferentes, necesitamos dos cuadros de lista distintos, uno para el campo Nombre y
otro para el campo Apellidos, y en ambos casos se utilizarn los campos Id_Interprete de
Interpretes e Interprete de Protagonistas como enlace entre ambas tablas. Si adems
activamos el Navegador de formulario, Form_Protagonistas debe verse como en la Figura 8.13.

8.8
Figura 8. 13. Form_Protagonistas con ttulo, apellidos y nombre

En ejecucin, podemos ver que este formulario (ver Figura 8.14) nos muestra y nos permite
insertar las distintas interpretaciones de una forma mucho ms amigable que a travs de la
tabla Protagonistas directamente.

Figura 8. 14. Form_Protagonistas en ejecucin

Vamos a hacer an ms intuitivo este formulario haciendo que, cada vez que nos movemos
entre los distintos registros, muestre todos los intrpretes asociados a esa pelcula y todas las
pelculas del intrprete seleccionado. Para ello, vamos a necesitar utilizar subformularios, que
no son ms que formularios construidos sobre otras tablas o consultas distintas a la asociada al
formulario principal.

Vamos a empezar creando un subformulario que nos muestre todos los intrpretes de la
pelcula seleccionada. Para empezar, abrimos el navegador de formulario y teniendo
seleccionado Form_Protagonistas le indicamos que queremos crear un nuevo formulario
llamado Subform_Interpretes (ver Figura 8.15).

8.9
Figura 8. 15. Subformulario Subform_Interpretes creado

A continuacin, en las pestaa Datos de las propiedades del subformulario debemos indicar
varias opciones. Primero, en Tipo de contenido vamos a poner Consulta y en Contenido
indicaremos la consulta ConsultaTotal (ver Figura 8.16) que creamos en la Unidad 6. Por qu
utilizamos esta consulta en lugar de la tabla Interpretes? Porque dada la pelcula seleccionada
en Form_Protagonistas se quiere ver todos sus intrpretes; es decir, se necesita algo que
contenga tanto la informacin de las pelculas como la de los intrpretes de una sola vez y
dicha informacin slo la tiene la consulta ConsultaTotal.

Figura 8. 16. Subfomulario con el contenido de ConsultaTotal

Con esto no hemos terminado, sino que tenemos que indicar el vnculo que existe entre el
formulario principal y el subfomulario creado. Para ello, sin salir de la pestaa Datos, nos
vamos a cualquiera de los iconos en forma de puntos suspensivos que aparece a la derecha de
las dos opciones Enlazar campos y hacemos clic con el ratn. Se nos despliega una ventana
como la de la Figura 8.17 donde debemos indicar por qu campos vamos a relacionar ambos
formularios.

Se busca conseguir que, dada una pelcula seleccionada en el formulario principal, se muestren
sus intrpretes en un subformulario. Es decir, si, por ejemplo, tenemos seleccionada la pelcula
La Comunidad del Anillo, cuyo identificador es el valor 5, entonces, slo nos interesarn
aquellos intrpretes de ConsultaTotal cuyo valor para Id_pelicula sea 5 (Viggo Mortensen y Liv
Tyler), lo que podemos obtener vinculando ambos formularios utilizando el campo Pelicula de

8.10
Protagonistas junto con el campo Id_pelicula de ConsultaTotal. De esta manera, en el
subformulario slo aparecern aquellas filas de ConsultaTotal cuyo valor para Id_pelicula sea
el mismo que el valor Pelicula en Protagonistas.

Figura 8. 17. Vinculacin entre el formulario y el subformulario

Ahora slo nos falta elegir un campo de control que permita mostrar en el subformulario los
datos que queramos de los intrpretes. El ms adecuado para mostrar toda la informacin de
una vez es el campo Control de tablas. Lo seleccionamos y lo incluimos en nuestro formulario,
de forma que nos aparece un asistente (ver Figura 8.18) donde podemos elegir los campos de
ConsultaTotal que queremos que se muestren, en este caso: Apellidos, Nombre y
Nacionalidad.

Figura 8. 18. Seleccin de campos a mostrar en la tabla

Si aadimos una etiqueta descriptiva al subformulario y lanzamos el formulario deberamos


ver algo parecido a lo que muestra la Figura 8.19.

8.11
Figura 8. 19. Form_Protagonitas con todos los intrpretes de una pelcula

Para finalizar, vamos a aadir un segundo subformulario que permita que se muestren las
pelculas en las que aparece el intrprete que figura en el formulario principal.
Como para el primer subformulario, de nuevo abrimos el navegador de formulario y teniendo
seleccionado Form_Protagonistas le indicamos que queremos crear un nuevo formulario
llamado Subform_Peliculas.

Ahora, en las pestaa Datos de las propiedades del subformulario, volvemos a indicar en el
tipo de contenido la opcin Consulta y en contenido indicaremos la consulta ConsultaTotal,
pero ahora el enlace entre ambos formularios lo vamos a establecer entre el campo Interprete
de Protagonistas junto con el campo Id_interprete de ConsultaTotal (ver Figura 8.20). Es decir,
en este subformulario slo queremos que aparezcan aquellas filas de ConsultaTotal cuyo valor
para Id_interprete sea el mismo que el valor Interprete en Protagonistas.

Figura 8. 20. Propiedades del subformulario Subform_Peliculas

8.12
Tambin esta vez, para mostrar las pelculas del intrprete seleccionado, vamos a incluir un
campo Control de Tabla en el nuevo subformulario con los campos Titulo, Director, Ao,
Formato, Visionada y NombreGenero (ver Figura 8.21).

Figura 8. 21. Campos a incluir en tabla de subformulario Subform_Peliculas

Para terminar, aadimos la etiqueta que describe el subformulario y una vez lanzado el
formulario que acabamos de construir debera ser parecido al de la Figura.8.23.

Figura 8. 22. Form_Protagonistas en funcionamiento

8.3. Ejercicios propuestos


8.3.1.Crear el formulario Form_Peliculas siguiendo los pasos del apartado 8.1.
8.3.2.Crear el formulario Form_Protagonistas siguiendo los pasos del apartado 8.2.

8.13
Tutorial de
LibreOffice
Base
Unidad 9. Informes

Actualizado desde http://tutorialopenofficebase.wordpress.com/ por Ana Beln Gonzlez


Rogado (Escuela Politcnica Superior de Zamora - Universidad de Salamanca)

Todo el contenido est bajo una licencia de Creative Commons.


Unidad 9. Informes

En este tema, en primer lugar vamos a ver qu es un informe. A continuacin vamos a crear un
informe simple sobre los intrpretes y las pelculas. Despus crearemos un informe que
muestre las pelculas agrupadas por gneros. Para finalizar, crearemos un informe que
muestre, para cada intrprete, su nombre y apellidos y las pelculas que ha protagonizado.

9.1. Qu es un informe?

Los informes son documentos que se utilizan para presentar los datos de una forma ms
amigable. Es decir, su objetivo es recuperar informacin de la base de datos, igual que las
consultas, pero con un formato que facilita su presentacin e impresin en papel. Es ms, los
informes y las consultas suelen complementarse ya que los informes suelen construirse a
partir de consultas almacenadas y no a partir de las tablas. Por ejemplo, en esta unidad, vamos
a construir tres informes a partir de la consulta ConsultaTotal que realizamos en la Unidad 6
del curso.

Veamos cmo crear informes en LibreOffice Base utilizando el asistente que ofrece la
posibilidad de editarlos posteriormente, para variar algn detalle del formato final. Tambin se
pueden crear informes en modo diseo.

Para empezar a crear informes basta con seleccionar la tarea Usar el asistente para crear
informe de la seccin Informes en la ventana principal de LibreOffice Base (ver Figura 9.1).

Figura 9. 1. Tarea Usar el asistente para crear un informe

6.2
9.2. Creacin de un informe simple

Vamos a empezar creando un informe que nos muestre un listado de las pelculas y los actores
protagonistas.

En primer lugar, nos aparece una ventana (ver Figura 9.2) donde seleccionar los campos que
mostraremos en el informe. Elegimos de ConsultaTotal los campos Titulo, Director,
NombreGenero, Apellidos, Nombre y Nacionalidad.

Figura 9. 2. Seleccin de campos del informe

A continuacin, tenemos la posibilidad de cambiar el nombre bajo el que se mostrarn los


campos. En nuestro caso, vamos a cambiar en este, y en el resto de informes que hagamos, la
etiqueta Gnero para el campo NombreGenero (ver Figura 9.3).

Figura 9. 3. Etiquetas de los campos

6.3
En el siguiente paso (ver Figura 9.4) se presenta la posibilidad de agrupar los resultados en
funcin de uno o varios campos. Esta opcin ya veremos en los siguientes informes que es muy
til, pero al ser el primer informe que realizamos vamos a dejar los campos sin agrupar.

Figura 9. 4. Agrupacin de campos

En la siguiente ventana podemos indicar los campos por los que deseamos ordenar los datos
del informe, en esta ocasin indicaremos que lo ordene por el ttulo de la pelcula, despus por
el director y por ltimo por los campos apellidos y nombre del actor (figura 9.5).

Figura 9. 5. Opciones de ordenacin

A continuacin podemos elegir diferentes opciones de diseo. Por un lado, de presentacin de


los datos y, por otra, de los encabezados y pies de pgina. Tambin podemos elegir si los datos
se presentarn orientados vertical u horizontalmente para su impresin (en este caso
horizontal). Estas opciones que afectan al formato de la presentacin de los datos que si fuera

6.4
necesario, se puede modificar a posteriori: tabular, separado por tabulaciones; columnar: en
una, dos o tres columnas; en bloques: con las etiquetas arriba o a la izquierda.

Para este primer informe vamos a elegir la opcin Tabular. En la ventana LibreOffice Base:
Base Oracle Report Builder podemos visualizar como cambiar el informe con cada una de las
opciones posibles (figura 9.6).

Figura 9. 6. Aspecto del informe

En la ltima ventana del asistente (ver Figura 9.7) podemos elegir el ttulo que tendr el
informe y una opcin muy importante: si queremos que el informe sea esttico o dinmico. En
el primer caso, los datos que mostrar siempre el informe sern los que tuviera la consulta
realizada en el momento de la creacin; es decir, una vez creado el informe, los datos que
muestra siempre sern los mismos, mientras que en el segundo caso, cada vez que llamemos
al informe, los datos que se van a mostrar son los que tuviera la base de datos en el momento
de la llamada.

Adems en esta ltima ventana podemos indicar tambin si queremos que se muestre el
contenido del informe o queremos modificarlo.

6.5
Figura 9. 7. Ttulo y ms opciones del informe

Si elegimos las opciones que se muestran en la Figura 9.7, LibreOffice Base cierra el asistente y
nos muestra la ventana Base Oracle Report Builder para realizar modificaciones al diseo.

Para ver cmo quedara el diseo utilizamos el botn Ejecutar el informe y modificamos el
diseo para que no se repita la cabecera de la tabla, ms que al principio de cada pgina.

Figura 9. 8. Vista Diseo del Informe

Incluimos un nuevo campo de etiqueta en el Encabezado para poner ttulo al Informe,


numeramos las pginas en el pie y ajustamos los tamaos de los bloques.

6.6
Figura 9. 9. Oracle Report Builder

Si ejecutamos el informe debemos obtener una imagen similar a la Figura 9.10.

Figura 9. 10. Ejecucin informe ConsultaTotal

9.3. Creacin de informe agrupando por un campo

En el siguiente informe que vamos a realizar vamos a ver qu conseguimos con la agrupacin
en funcin de un campo. Para ello, vamos a construir un informe que nos muestre los datos
ms significativos de cada pelcula agrupadas por el gnero al que pertenecen; es decir, el
objetivo es mostrar el nombre de cada gnero y las pelculas que pertenecen a dicho gnero
tal y como se muestra en la Figura 9.11.

6.7
Figura 9. 11. Resultado de Informe de gneros y pelculas

Para crear el informe iniciamos el asistente y elegimos los campos NombreGenero, Titulo,
Director, Ao y Formato de ConsultaTotal y, a continuacin, vamos a cambiar las etiquetas de
los campos NombreGenero, Titulo y Ao por Gnero, Ttulo y Fecha de estreno,
respectivamente. Llegamos entonces a la ventana Agrupacin (Figura 9.12), donde vamos a
indicar que queremos agrupar los resultados a mostrar en funcin del campo Gnero
(NombreGenero).

Figura 9. 12. Agrupacin por Gnero

En las opciones de diseo elegimos Columnar, dos columnas, en vertical y ajustamos en modo
diseo para que se ajuste a la Figura 9.11, titulndolo Informe de pelculas agrupadas por

6.8
gnero. Incorporamos el rectngulo de separacin y si es necesario ajustamos, para conseguir
un resultado similar al de la Figura 9.11, modificamos el tamao asignado a cada campo
(Figura 9.13).

Figura 9. 13. Vista Diseo definitiva de Informe de gneros y pelculas

9.4. Creacin de informe agrupando por ms de un campo

Para terminar, vamos a realizar un informe donde agruparemos los resultados en funcin de
varios campos. En concreto, el informe que vamos a crear va a mostrarnos el nombre, apellido
e imagen de cada intrprete seguido de las pelculas que ha protagonizado.

Lo primero que hemos de hacer es modificar la tabla interpretes incluyendo un campo de


imagen (fotografia), modificar el formulario interpretes incluyendo el campo fotografia, incluir
la imagen de cada actor/actriz a travs de dicho formulario y, por ltimo, modificar
ConsultaTotal incluyendo el campo fotografia.

Para realizar el informe, en primer lugar, comenzamos, como siempre, eligiendo los campos
que mostrar el informe, que en este caso son Nombre, Apellidos, fotografia, Titulo, Director,
Ao y NombreGenero de ConsultaTotal. A continuacin, en la siguiente ventana el nico
cambio en las etiquetas que vamos a realizar es el de Gnero en el campo NombreGenero y
Ttulo en el de Titulo y pasamos a la ventana Agrupacin (Figura 9.14).

Figura 9. 14. Agrupacin de resultados por ms de un campo

6.9
Ahora, en esta ventana debemos indicar que queremos agrupar por los campos Nombre y
Apellidos si queremos que nos muestre agrupados los resultados en funcin de cada
intrprete. La diferencia entre agrupar por un campo o ms de uno estriba en que, cuando se
elige por ms de un campo, los resultados se agrupan en funcin de las diferentes
combinaciones de esos campos. Es decir, si tuviramos varios intrpretes con el mismo
apellido (por ejemplo, Kirk Douglas y Michael Douglas) y, simplemente agrupramos por
ese campo, nos apareceran juntas todas las pelculas de aquellos intrpretes que se apellidan
igual (se mostraran las pelculas de ambos Douglas como de un nico intrprete); pero, al
incluir tambin en la agrupacin el campo Nombre, estamos indicando que slo se van a
agrupar juntas las pelculas cuyo valor para ambos campos sea el mismo (aunque el valor
Douglas en el campo Apellidos sea igual para ambos intrpretes, su valor para el campo
Nombre es distinto por lo que diferencia entre las pelculas de padre e hijo).

Una vez que en la ltima ventana del asistente indiquemos que el informe ser dinmico y que
el ttulo ser Informe de intrpretes y pelculas y seleccionamos la opcin modificar diseo
del informe, donde debemos realizar los cambios necesarios para que nuestro informe final
tenga el aspecto similar al que muestra la figura 9.15.

Figura 9. 15 Informe de intrpretes y pelculas

9.5. Ejercicios propuestos


9.5.1. Crear el informe Informe de pelculas e intrpretes del apartado 9.2.
9.5.2. Crear el informe Informe de pelculas agrupadas por gneros del apartado 9.3.
9.5.3. Crear el informe Informe de intrpretes y pelculas del apartado 9.4.

6.10
Tutorial de
LibreOffice
Base
Unidad 10. Manejo de fuentes de datos externas en LibreOffice
Base

Actualizado desde http://tutorialopenofficebase.wordpress.com/ por Ana Beln Gonzlez


Rogado (Escuela Politcnica Superior de Zamora - Universidad de Salamanca)

Todo el contenido est bajo una licencia de Creative Commons.


Unidad 10. Manejo de fuentes de datos externas en
LibreOffice Base
En esta unidad, en primer lugar, se va a explicar el concepto de fuentes de datos.
A continuacin, se va a crear una base de datos en LibreOffice Base que va a trabajar con una
base de datos de Microsoft Office. Por ltimo, se va a crear una base de datos con tablas
creadas a partir de archivos de texto.

10.1. Fuentes de datos

Existen una gran variedad de Sistemas de Bases de Datos en el mercado, entre los que
podemos citar ORACLE, SQL Server, dBase, PostgreSQL, MySQL o Microsoft Access (en
adelante MS Access). Cada uno de estos sistemas se caracteriza porque tienen su propio
formato de archivo de datos para almacenar las bases de datos que mantienen.
Cualquier base de datos gestionada por estos sistemas puede ser registrada como fuente de
datos en LibreOffice Base; es decir, se puede considerar una fuente de datos a cualquier base
de datos externa susceptible de ser manejada desde LibreOffice Base. El acceso a dichas
fuentes de datos puede hacerse tratando directamente con los archivos correspondientes de
fuentes de datos, por ejemplo, los archivos planos de dBase o los archivos con extensin
mdb de MS Access, o, puede hacerse a travs de lo que se conoce como manejadores de
conexin con bases de datos.

Los manejadores de conexin se caracterizan porque son capaces de ejecutar operaciones de


bases de datos de manera transparente al usuario; es decir, actan como intermediarios entre
el usuario y un sistema de bases de datos en particular, de manera que, una vez establecidos
los parmetros de conexin con un sistema de bases de datos, el usuario no tiene que
preocuparse, al realizar operaciones, de las particularidades del sistema al que est conectado.
Entre los manejadores de conexin destacan especialmente ODBC y JDBC. ODBC es el estndar
de conectividad con bases de datos de Microsoft mientras que JDBC est basado en la
plataforma Java.

Adems, LibreOffice Base tambin soporta como fuentes de datos hojas de clculo, libretas de
direcciones de diversos clientes de correo como Microsoft Outlook o Mozilla Thunderbird e,
incluso, archivos de texto.

La instalacin y configuracin de manejadores de conexin como ODBC y JDBC queda fuera de


los objetivos de un curso de iniciacin a LibreOffice Base como este, por lo que en esta unidad
vamos a ver cmo trabajar en LibreOffice Base con una base de datos existente en MS Access y
cmo crear otra base de datos con tablas construidas a partir de archivos de texto.

10.2. Trabajar con bases de datos de MS Access

En este apartado se va a ver cmo manejar una base de datos de MS Access desde LibreOffice
Base. Para empezar, hay que tener en cuenta que LibreOffice Base slo reconoce las tablas y
consultas de MS Access; es decir, los informes y formularios que se tengan en MS Access no
van a estar disponibles en LibreOffice Base e, incluso, las consultas no van a ser reconocidas
como tales sino que van a ser tratadas como vistas.

6.2
En el ejemplo que se va a mostrar, se va a partir de que se tiene una base de datos de MS
Access que contiene cuatro tablas llamadas Grupos, Productos, Venderos y Ventas, una serie
consultas, formularios e informes. Alguno de estos objetos y su contenido junto con las
relaciones existentes entre las tablas se muestran en la Figura 10.1.

Figura 10. 1. Contenido de la base de datos de MS Access

A continuacin, se va a trabajar con esta base de datos a travs de LibreOffice Base. Lo que
debemos hacer es abrir LibreOffice y cuando se abre la pantalla Asistente para bases de
datos donde se debe seleccionar Conectar con una base de datos existente. De entre todas
las opciones de conexin que se presentan (dBase, Hoja de Clculo, JDBC, ODBC,etc..) se debe
elegir Microsoft Access (ver Figura 10.2). Si tenemos abierto LibreOffice debemos
seleccionar la pestaa Archivo, el submen Nuevo y dentro de l la opcin Base de Datos.

Figura 10. 2. Conectar con una base de datos Microsoft Access

6.3
En la siguiente ventana se debe indicar la ruta y el archivo con la base de datos en Microsoft
Access tal y como se muestra en la figura 10.3

Figura 10. 3. Seleccin de base de datos de Microsoft Access

En la ventana siguiente (Figura 10.4) se puede indicar si quiere registrar o no la base de datos y
si una vez guardada la base de datos se quiere abrir.

Figura 10. 4. Opciones de guardado de la nueva base de datos

6.4
Por ltimo, indicamos un nombre para la nueva base de datos creada.

Figura 10. 5. Guardado de la nueva base de datos

Antes de continuar hay que tener en cuenta que la nueva base de datos creada no es una base
de datos nueva e independiente sino que realmente en el archivo creado slo se est
guardando la informacin que necesita LibreOffice Base para conectarse con la base de datos
de MS Access.

Esto supone que los cambios que se hagan sobre las tablas y las vistas de la base de datos en
LibreOffice Base tambin se van a ver reflejados automticamente en la base de datos original
de MS Access.

Como ya se ha expuesto anteriormente, al abrir la base de datos y situarse en la seccin


Tablas (Figura 10.6) se puede ver que estn todas las tablas que tiene la base de datos de MS
Access y que algunas de las consultas que existan aparecen como vista.

Adems, en la Figura 10.6 puede observarse tambin que en la barra de estado aparece que
realmente la base de datos abierta est enlazando con una base de datos MS Access y aparece
la ruta y el nombre del archivo original de dicha base de datos.

Las relaciones que existan entre las tablas y que se mostraban en la Figura 10.1 tambin se
mantienen automticamente en LibreOffice Base como puede verse en la Figura 10.7.

6.5
Figura 10. 6. Tablas y vistas en LibreOffice Base

Figura 10. 7. Relaciones de la base de datos

6.6
10.3. Creacin de base de datos a partir de archivos de texto

En este apartado se va a ver cmo, a partir de archivos de texto que contengan informacin de
un modo homogneo, se puede crear una base de datos donde cada tabla se forma a partir de
dichos archivos.

En primer lugar, se va a suponer que se tiene una carpeta llamada Listas que almacena un
par de archivos de texto, uno llamado Libros_leidos.txt y otro llamado
Libros_pendientes.txt. El contenido de estos dos archivos se muestra en los Cuadros 10.1 y
10.2.

En ambos archivos puede verse


que se est almacenando Titulo;Autor;AoPublicacion
informacin sobre libros, en El Hobbit;J.R.R. Tolkien;1937
concreto, cada lnea de estos El Pasillo de la muerte;Stephen King;1996
archivos contiene el ttulo, el La Carta Esfrica;Arturo Prez-Reverte;2000
La verdad sobre el caso Savolta;Eduardo Mendoza;1975
autor y el ao de publicacin de
distintos libros. Cuadro 10. 1. Libros_leidos.txt

Para tener estas listas de libros


Titulo;Autor;AoPublicacion
en forma de tablas en LibreOffice
La Catedral del Mar;Ildefonso Falcones;2005
Base se debe indicar, como en el El ltimo Da de la Guerra;Christopher Priest;2004
apartado anterior, que se quiere
Cuadro 10. 2. Libros_pendientes.txt
crear una nueva base de datos
conectando con una base de
datos existente, pero en este caso, eligiendo Texto como fuente de datos (Figura 10.8).

Figura 10. 8. Conectar con una base de datos de texto

6.7
En la siguiente ventana (Figura 10.9) se debe indicar la carpeta donde se encuentran los
archivos y, la extensin de dichos archivos (en este ejemplo .txt). Adems, se debe indicar
tambin qu caracteres se estn utilizando para distinguir un campo de otro en cada fila (en
este ejemplo los campos estn separados por ;) y, en caso de tener datos numricos, cules
van a ser los separadores de decimales y de miles.

Figura 10. 9. Ubicacin y configuracin de los archivos de texto

Figura 10. 10. Nueva base de datos y contenido de las tablas

6.8
Al igual que en el apartado anterior, se debe indicar si al terminar se desea registrar la base de
datos y abrirla y, para finalizar, hay que darle un nombre a la nueva base de datos e indicar
dnde se quiere almacenar.

Si se examina la seccin Tablas de la nueva base de datos puede verse que las dos listas que
estaban en la carpeta indicada se han convertido en dos tablas en LibreOffice Base (Figura
10.10).

10.4. Ejercicios propuestos


10.4.1. Crear los archivos de texto Libros ledos y Libros Pendientes detallados en
esta unidad.
10.4.2. Crear la base de datos Libros a partir de los dos archivos del ejercicio
anterior.

6.9

También podría gustarte