Está en la página 1de 119

Tutorial de

OpenOffice.org Base
Creacin y uso de bases de datos
lvaro E. Prieto Ramos
Copyright y licencias
Derechos de autor
Este documento est protegido por los derechos de autor de sus contribuyentes,
mencionados en las secciones tituladas Autores, Traductores y Editores. Puede
distribuirlo y/o modificarlo bajo los trminos de la Licencia reati!e ommons
"http#//creati!ecommons.org/licenses/by$nc$sa/%.&/es/'.
Todas las marcas mencionadas en esta gu(a pertenecen a sus propietarios leg(timos.
Autor
)l!aro E. Prieto *amos
Editor
+smael ,anlo -oj
Realimentacin
.antenedor de esta !ersi/n# +smael ,anlo -oj
Por fa!or dirija cual0uier comentario o sugerencia sobre este documento a#
ifanlo1superalumnos.net
Fecha de publicacin y versin del software
ontenido publicado originalmente en +nternet el %% de no!iembre de %223.
4ersi/n imprimible del & de mar5o de %226.
-asado en 7pen7ffice.org %.2
Nota del editor
Este material est basado en el contenido publicado por el autor en su blog#
http#//tutorialopenofficebase.8ordpress.com.
9e ha tratado de adaptarlo a un documento imprimible para poder ser utili5ado en cursos o
como manual de referencia.
Puede descargar una versin editable de este documento desde:
http://oooauthors.org/es/
ndice del contenido
ndice del contenido
7P:*+;<T : L+E=+A9...................................................................................................................+
>=?+E ?EL 7=TE=+?7....................................................................................................................++
+=T*7?@+A=...............................................................................................................................B
@=+?A? B. +=9TALA+A= : E=T7*=7 ?E 777 -A9E. *EA+A= ?E @=A -A9E ?E ?AT79.........................%
B. ?escarga e instalaci/n de 7pen7ffice.org %.2..................................................................%
B.B. ?escarga de 7pen7ffice.org %.2................................................................................%
B.%. +nstalaci/n de 7pen7ffice.org %.2.............................................................................C
%. Primera ejecuci/n de 77o -ase y creaci/n de base de datos...........................................3
D. Entorno de 7pen7ffice -ase ..........................................................................................B2
D.B. .enEs de 7pen7ffice -ase.....................................................................................BB
@=+?A? %. +=T*7?@+A= : *EA+A= ?E TA-LA9...........................................................................B&
B. FGu es una tablaH...........................................................................................................B&
%. reaci/n de tablas............................................................................................................BI
D. Edici/n de datos...............................................................................................................%2
D.B. +nserci/n de datos....................................................................................................%2
D.%. =a!egaci/n, ordenaci/n y filtrado de datos.............................................................%B
D.D. .odificaci/n y eliminaci/n de datos.......................................................................%C
D.C. Ejercicios propuestos...............................................................................................%C
@=+?A? D. T+P79 ?E ?AT79 : E?++A= ?E TA-LA9............................................................................%I
B. Tipos de datos..................................................................................................................%I
%. Edici/n de tablas..............................................................................................................%J
%.B. .odificaci/n de columnas eKistentes......................................................................D2
D. Ejercicios propuestos.......................................................................................................D&
@=+?A? C. *ELA+7=E9 E=T*E TA-LA9...........................................................................................DI
B. *elaciones entre tablas....................................................................................................DI
%. Tipos de relaciones entre tablas.......................................................................................D6
D. Establecer relaciones entre tablas....................................................................................C2
D.B. Establecer relaciones uno a muchos.........................................................................C2
D.%. Establecer relaciones muchos a muchos..................................................................CD
C. Ejercicios propuestos.......................................................................................................C&
@=+?A? &. 7=9@LTA9 9+.PLE9.....................................................................................................C3
B. onsultas.........................................................................................................................C3
Tutorial de OpenOffice.org Base ii
Contents
%. reaci/n de consultas sobre una tabla utili5ando el asistente.........................................C3
D. reaci/n de consultas sobre !arias tablas combinando el asistente con el modo ?iseLo. . .
&B
C. Ejercicios propuestos.......................................................................................................&J
@=+?A? I. 7=9@LTA9 A4A=MA?A9 : 4+9TA9..................................................................................&6
B. Entorno de trabajo en !ista ?iseLo..................................................................................&6
%. reaci/n en !ista ?iseLo de consulta sobre !arias tablas................................................IB
D. reaci/n de consultas 0ue incluyen funciones................................................................IC
C. 4istas. onsultas sobre !istas..........................................................................................I3
&. Ejercicios propuestos.......................................................................................................32
@=+?A? 3. ,7*.@LA*+79 -)9+79..................................................................................................3B
B. ,ormularios......................................................................................................................3B
%. Entorno de creaci/n de un formulario.............................................................................3B
D. reaci/n de un formulario bsico....................................................................................3&
C. Ejercicios propuestos.......................................................................................................JD
@=+?A? J. ,7*.@LA*+79 A4A=MA?79............................................................................................JC
B. reaci/n de formularios con mEltiples tipos de campos de control................................JC
%. reaci/n de formulario con subformularios....................................................................62
D. Ejercicios propuestos.......................................................................................................6&
@=+?A? 6. +=,7*.E9....................................................................................................................6I
B. FGu es un informeH........................................................................................................6I
%. reaci/n de un informe simple........................................................................................63
D. reaci/n de informe agrupando por un campo..............................................................B2B
C. reaci/n de informe agrupando por ms de un campo.................................................B2D
&. Ejercicios propuestos.....................................................................................................B2&
@=+?A? B2. .A=EN7 ?E ,@E=TE9 ?E ?AT79 EOTE*=A9 E= 777 -A9E.............................................B23
B. ,uentes de datos.............................................................................................................B23
%. Trabajar con bases de datos de .9 Access...................................................................B2J
D. reaci/n de base de datos a partir de archi!os de teKto................................................BB%
C. Ejercicios propuestos.....................................................................................................BBC
97-*E EL A@T7*........................................................................................................................BB&
Tutorial de OpenOffice.org Base iii
Introduccin
ntroduccin
Este es un tutorial creado con la intenci/n de eKplicar el funcionamiento de 7pen7ffice
-ase y con el objeti!o de intentar hacer !er 0ue en la mayor(a de los casos es una
alternati!a perfectamente !lida a herramientas como .icrosoft Access.
Las B2 Enidades originales de las 0ue consta el tutorial estn reali5adas sobre 7pen7ffice
%.2 y la mayor(a de ellas se acompaLan de un enlace a un pe0ueLo !ideo$tutorial sobre
algEn contenido en particular de dicha unidad. En la medida de lo posible intentar ir
creando entradas para indicar cambios significati!os 0ue hayan tenido lugar en !ersiones
posteriores.
Aun0ue el tutorial est creado para 7pen7ffice %.2 sobre .icrosoft Pindo8sOP creo 0ue
es perfectamente eKtrapolable a sistemas LinuK.
El por 0u de crearlo sobre Pindo8sOP en lugar de sobre LinuK es por0ue este tutorial
est especialmente dirigido a a0uellos usuarios con poca eKperiencia en trabajar con
LinuK o con miedo a dejar su Pindo8s pero 0ue al menos 0uieren probar alternati!as
libres a .icrosoft 7ffice.
La reali5aci/n de este tutorial no hubiera sido posible sin la ayuda de *oberto *odr(gue5
Eche!err(a, Adolfo Lo5ano Tello, ,ernando 9nche5 ,igueroa y .ayte Nimne5 Almagro.
Espero 0ue os sea Etil.
Tutorial de OpenOffice.org Base 1
Unidad 1. Instalacin y entorno de OOo Base. Creacin de una base de datos
!nidad "# nstalacin y entorno de $$o %ase#
Creacin de una base de datos
En primer lugar, en esta unidad aprenderemos a descargar e instalar la suite 7pen7ffice
en espaLol.
A continuaci/n, crearemos nuestra primera base de datos despus de ejecutar por primera
!e5 77o -ase.
Por Eltimo, !eremos los elementos ms importantes del entorno de esta herramienta.
Puedes !er el !ideo$tutorial de instalaci/n en la pgina personal del autor#
http#//0uercusseg.uneK.es/al!aro/tutorial/-aseQ!idQ2BQ!%.htm
"# Descarga e instalacin de $pen$ffice#org &#'
En este punto !amos a !er c/mo descargar e instalar la suite 7pen7ffice. En el primer
apartado !eremos c/mo conseguir los dos archi!os necesarios para instalar 77o en
espaLol y en el segundo los pasos a seguir en la instalaci/n. 9i ya dispones de los dos
archi!os necesarios para la instalaci/n puedes pasar directamente al apartado B.%.
1.1. Descarga de OpenOffice.org 2.0
Para descargar 77o %.2 abrimos una !entana de nuestro na!egador fa!orito y tecleamos
la direcci/n http#//888.openoffice.org. Entramos entonces en el sitio oficial de 77o 0ue,
como podemos !er, est en ingls ",igura B.B'.
Figura 1.1 Sitio oficial de OpenOffice en ingls
Para irnos al sitio oficial en espaLol y as( poder instalarlo en este idioma, debemos hacer
clic con el rat/n en el grfico en forma de mapamundi donde pone Rnati!e languageS y
elegir el idioma espaLol "S9panishS' a continuaci/n. 9e abre entonces el sitio oficial de
77o en espaLol "!er ,igura B.%' donde se nos presentan a la derecha tres opciones
"S?escargaS, R+nstalaS y RonfiguraS' de entre las 0ue debemos elegir la primera de ellas.
Tutorial de OpenOffice.org Base 2
Unidad 1. Instalacin y entorno de OOo Base. Creacin de una base de datos
Figura 1.! Sitio oficial de OpenOffice en espa"ol
En la !entana de descarga debemos elegir siempre la !ersi/n estable disponible. Luego,
elegimos el sistema operati!o donde instalaremos 77o y desde donde 0ueremos
descargar el archi!o instalable ",igura B.D'.
Figura 1.# Eleccin de descarga de versin estable
@na !e5 descargado el archi!o instalable de 7oo, necesitamos descargar el pa0uete con el
idioma espaLol. Para ello, nos !amos a la parte inferior de la !entana, y elegimos el
mismo sistema operati!o 0ue hayamos elegido para el archi!o 0ue acabamos de bajarnos
"!er ,igura B.C'.
Tutorial de OpenOffice.org Base 3
Unidad 1. Instalacin y entorno de OOo Base. Creacin de una base de datos
Figura 1.$. %escarga del pa&uete de idioma espa"ol
9i hemos reali5ado bien estas operaciones debemos tener dos archi!os en nuestra carpeta
habitual de descargas, uno para la instalaci/n principal de 77o y otro con el pa0uete de
idioma espaLol ",igura B.&'.
Figura 1.'. (rc)ivos necesarios para la instalacin de OOo.
1.2. Instalacin de OpenOffice.org 2.0
Para instalar 7pen7ffice, nos situamos en la carpeta donde tengamos los dos archi!os
necesarios para instalar 77o "!er ,igura B.&' y abrimos el archi!o ejecutable principal
0ue se distingue del otro, por contener la palabra R+nstallS en el nombre de archi!o.
Tutorial de OpenOffice.org Base
Unidad 1. Instalacin y entorno de OOo Base. Creacin de una base de datos
=os sale entonces una pantalla de agradecimiento y le damos a continuar para elegir el
directorio temporal donde 0ueremos 0ue se descompriman los archi!os 0ue se !an a
utili5ar durante la instalaci/n. @na !e5 descomprimidos los archi!os, se abrir
automticamente una !entana donde comien5a la instalaci/n propiamente dicha y donde
lo primero 0ue tenemos 0ue hacer es leer y aceptar la licencia de uso ",igura B.I'.
Figura 1.*. (ceptacin de la licencia de uso
A continuaci/n se nos presenta una pantalla "!er ,igura B.3' donde escribir nuestro
nombre de usuario al utili5ar 77o y la empresa o la instituci/n en la 0ue trabajamos.
Adems, en esta !entana podemos indicar si 0ueremos 0ue 77o est disponible para
todos los usuarios del e0uipo o s/lo para el usuario con el 0ue estamos reali5ando la
instalaci/n.
Figura 1.+. Eleccin de nombre, empresa y usuarios &ue utili-ar.n OOo
Tutorial de OpenOffice.org Base !
Unidad 1. Instalacin y entorno de OOo Base. Creacin de una base de datos
El siguiente paso es elegir entre la instalaci/n completa de todas las herramientas
disponibles en 77o o s/lo alguna de ellas. Esta Eltima opci/n se recomienda s/lo para
usuarios a!an5ados de 77o por lo 0ue en este tema elegiremos la opci/n de instalaci/n
completa "!er ,igura B.J' .
Figura 1./. Eleccin de instalacin completa de OOo
Por Eltimo, s/lo nos 0ueda decidir si alguno de los formatos de archi!os ms comunes de
la suite .icrosoft 7ffice 0ueremos 0ue se asocien a partir de ahora con 77o y por tanto
se abran de ahora en adelante con 77o "!er ,igura B.6'.
Figura 1.0. (sociar formatos 1icrosoft Office a OOo
Tutorial de OpenOffice.org Base "
Unidad 1. Instalacin y entorno de OOo Base. Creacin de una base de datos
@na !e5 concluida la instalaci/n principal s/lo 0ueda instalar el pa0uete de idioma
espaLol. Para ello abrimos el otro archi!o descargado, 0ue debe incluir el teKto
RlangpacTQesS en su nombre. Los pasos a seguir a continuaci/n son muy parecidos a lo
0ue hemos hecho para instalar 7oo. As(, primero debemos elegir una carpeta temporal
donde guardar los archi!os de instalaci/n y a continuaci/n leer y aceptar la licencia de
uso. @na !e5 hecho esto, el programa de instalaci/n deber(a haber encontrado el lugar
donde est instalado 77o e indicarnos si 0ueremos instalar en esa carpeta el pa0uete de
idioma espaLol "!er ,igura B.B2'. Aceptamos y ya tendremos 7pen7ffice.org %.2 en
espaLol instalado en nuestro e0uipo.
Figura 1.12. 3nstalacin del pa&uete de idioma espa"ol.
&# (rimera e)ecucin de $$o %ase y creacin de base de
datos
@na !e5 tenemos instalado 77o, y, en el caso de estar en un sistema .icrosoft Pindo8s,
para lan5ar 77o -ase, debemos ir al bot/n R+nicioS, situar el cursor del rat/n sobre
RTodos los programasS para 0ue apare5can todos los programas instalados en nuestro
e0uipo, a continuaci/n ir a la carpeta R7pen7ffice.org %.2S y elegir de entre todas las
herramientas disponibles S7pen7ffice.org -aseS "!er ,igura B.BB'.
Tutorial de OpenOffice.org Base #
Unidad 1. Instalacin y entorno de OOo Base. Creacin de una base de datos
Figura 1.11. E4ecucin de OOo 5ase
Al entrar en 77o -ase nos encontraremos la !entana RAsistente para base de datosS 0ue
aparece en la figura B.B% donde se nos da a elegir entre crear una nue!a base de datos,
abrir una base de datos eKistente o conectar con una base de datos eKistente.
En esta unidad se !a a crear la base de datos 0ue se usar el resto del cursoU por tanto, en
este caso, elegiremos la primera opci/n, pero una !e5 0ue est creada y !ol!amos a entrar
a 77o -ase tendremos 0ue marcar la segunda opci/n y elegir nuestra base de datos. La
tercera opci/n "coneKi/n con una base de datos eKistente' se estudia en la Eltima unidad
de este curso.
Figura 1.1!. 6entana inicial 7(sistente para base de datos8
9i hemos elegido la opci/n de creaci/n nos debe aparecer una !entana como la de la
figura B.BD 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.
Tutorial de OpenOffice.org Base $
Unidad 1. Instalacin y entorno de OOo Base. Creacin de una base de datos
Figura 1.1#. 6entana 79uardar y continuar8
*egistrar la base de datos sir!e para indicar a 7pen7ffice d/nde locali5ar los datos y
c/mo se organi5an. Es decir, debemos registrar nuestra base de datos si 0ueremos 0ue los
datos 0ue guardemos sean locali5ables desde otras aplicaciones de 77oU por ejemplo, si
en 77o Priter 0uiero mostrar una tabla con datos guardados en mi base de datos debo
registrarla antes.
La opci/n RAbrir la base de datos para editarS es obligatoria tenerla marcada por0ue, si
no, despus de crear la base de datos se cerrar(a 77o -ase.
Por Eltimo, la opci/n Rrear tablas usando el Asistente para tablasS hay 0ue marcarla si
0ueremos 0ue un asistente de 77o -ase nos ayude a crear nuestra primera tabla al
terminar la creaci/n de la base de datos. Esta opci/n la dejaremos desmarcada por0ue
hasta la siguiente unidad no !amos a !er 0u es una tabla y c/mo crearlas y, adems,
crear tablas usando el Asistente limita bastante las posibilidades de creaci/n de tablas.
Para finali5ar debemos elegir el directorio donde guardaremos nuestra base de datos y el
nombre de la misma "!er ,igura B.BC'. La base de datos 0ue !amos a crear se llamar
urso y la !amos a guardar en la subcarpeta .is -ases de ?atos, 0ue tendremos dentro
de la carpeta .is ?ocumentos, del usuario de Pindo8s. La casilla RAmpliaci/n
automtica de nombre de archi!oS, 0ue aparece en la parte baja de la !entana, sir!e para
indicar 0ue se aLadir o no al nombre de la base de datos la eKtensi/n 0ue tienen los tipos
de archi!o de base de datos en formato 7pen7ffice "eKtensi/n .odb, 7pen ?ocument
-ase, -ase de datos en formato 7pen ?ocument'.
Tutorial de OpenOffice.org Base %
Unidad 1. Instalacin y entorno de OOo Base. Creacin de una base de datos
Figura 1.1$. 6entana 79uardar como8
*# Entorno de $pen$ffice %ase
@na !e5 0ue tenemos creada nuestra base de datos o hemos abierto una ya eKistente, nos
aparece el entorno de trabajo de 77o -ase "!er ,igura B.B&' 0ue se di!ide en C 5onas#
En la 5ona de la i50uierda tenemos para elegir el tipo de objeto de la base de datos con el
0ue 0ueremos trabajar. En una base de datos 77o hay cuatro tipos principales de objetos#
tablas, consultas, formularios e informes. A lo largo de este curso !amos a ir !iendo para
0u sir!e cada uno de los objetos mencionados, c/mo crearlos y mantenerlos .
En la 5ona central estn las tareas 0ue podemos reali5ar con el tipo de objeto
seleccionado. Por ejemplo, en el caso de la figura B.B&, el tipo de objeto seleccionado son
los formularios, y las tareas a reali5ar son las relacionadas con este tipo de objetos.
Figura 1.1'. 6entana principal de OOo 5ase
En la 5ona inferior, aparecen los objetos creados del tipo seleccionado. En nuestro caso,
toda!(a aparece en blanco por0ue no tenemos creado ningEn formulario.
Tutorial de OpenOffice.org Base 1&
Unidad 1. Instalacin y entorno de OOo Base. Creacin de una base de datos
En la 5ona superior se encuentran los distintos menEs de opciones junto con los iconos
ms importantes de acceso directo. En la siguiente secci/n !amos a !er el contenido de
los distintos menEs.
3.1. Mens de OpenOffice Base
A continuaci/n !amos a !er las opciones ms importantes de cada menE#
.nu Archi!o "!er ,igura B.BI', es similar a menEs de este tipo de cual0uier otra
aplicaci/n ofimtica con opciones conocidas como crear nue!o archi!o, guardar,
guardar como, etc.
Figura 1.1*. 1en: (rc)ivo
.enE Editar "!er ,igura B.B3', donde nos encontramos opciones comunes a este
tipo de menEs como son copiar, cortar y pegar objeto o cambiar nombre del objeto
entre otras.
Figura 1.1+. 1en: Editar
Tutorial de OpenOffice.org Base 11
Unidad 1. Instalacin y entorno de OOo Base. Creacin de una base de datos
.enE 4er ",igura B.BJ'. En este menE destacan la opci/n de elegir 0u tipo de
objeto 0ueremos !er y la posibilidad de 0ue se muestre una !ista pre!ia del
contenido del objeto 0ue tengamos seleccionado.
Figura 1.1/. 1en: 6er
.enE +nsertar ",igura B.B6'. En este menE aparecen las tareas de creaci/n de los
distintos objetos en la forma ms utili5ada. 9e !er cada opci/n con ms
detenimiento en la unidad correspondiente a cada objeto de la base de datos.
Figura 1.10. 1en: 3nsertar
.enE <erramientas ",igura B.%2'. En este menE destaca la opci/n R*elacionesS
0ue sir!e para crear relaciones entre tablas "las relaciones se estudian con
detenimiento en la cuarta unidad' y R7pcionesS 0ue se utili5a para configurar la
suite 7pen7ffice completa "por supuesto incluyendo las opciones propias de 77o
-ase'.
Tutorial de OpenOffice.org Base 12
Unidad 1. Instalacin y entorno de OOo Base. Creacin de una base de datos
Figura 1.!2. 1en: ;erramientas
.enE 4entana ",igura B.%B'. Este menE permite mo!ernos entre los distintos
documentos 0ue tengamos abiertos en 77o.
Figura 1.!1. 1en: 6entana
.enE Ayuda ",igura B.%%'. En este menE nos aparecen las distintas opciones de
ayuda de 77o. ?e entre todas las opciones disponibles debemos destacar dos# por
un lado la opci/n RAyuda de 7pen7ffice.orgS 0ue contiene una ayuda bastante
eKtensa de todas las herramientas de 77o clasificada por contenidos y con la
posibilidad de buscar ayuda recorriendo el (ndice de contenidos o en funci/n de
una palabra cla!e. :, por otro lado, la opci/n RFGu es estoHS permite 0ue se
muestre una pe0ueLa informaci/n sobre el objeto 0ue tengamos situado el cursor.
Tutorial de OpenOffice.org Base 13
Unidad 1. Instalacin y entorno de OOo Base. Creacin de una base de datos
Figura 1.!!. 1en: (yuda
Tutorial de OpenOffice.org Base 1
Unidad 2. Introduccin y creacin de Tablas
!nidad &# ntroduccin y creacin de +ablas
Este tema est di!idido en tres apartados#
En el primer apartado se !a a mostrar c/mo la informaci/n se almacena en forma de
tablas en una base de datos.
En el segundo apartado !amos a crear nuestra primera tabla.
Por Eltimo, !eremos c/mo editar los datos en la tabla 0ue acabamos de crear.
Puedes !er el !ideo$tutorial de creaci/n de tablas en la pgina personal del autor#
http#//0uercusseg.uneK.es/al!aro/tutorial/-aseQ!idQ2%Q!B.htm
"# ,-u. es una tabla/
omo ya !imos en la primera unidad, se puede definir una base de datos como un
colecci/n de datos relacionados entre s(. ada colecci/n de datos relacionados se
almacena en una base de datos en forma de tablas, donde dichas tablas guardan
informaci/n sobre un grupo de cosas con las mismas caracter(sticas o atributos
Por ejemplo, en una base de datos puedes tener una tabla con informaci/n acerca de todos
tus libros "!er ,igura %.B' donde puedes almacenar el t(tulo, el nombre del autor, el aLo de
publicaci/n, etc.U es decir, diferentes propiedades o atributos comunes a todos los libros,
y, tambin, puedes tener una tabla con toda la informaci/n de contacto de tus amigos, por
ejemplo, su nombre y apellidos, su nEmero de m/!il, su direcci/n de correo
electr/nico,etc., pero nunca en una misma tabla se guardar informaci/n de cosas con
propiedades distintas. Es decir, no puedes me5clar informaci/n en una Enica tabla de tus
libros y tus amigos por0ue la informaci/n "los atributos de cada una de las cosas sobre las
0ue guardo informaci/n' no es la misma.
Figura !.1. <abla de libros
ada uno de los atributos o propiedades de las cosas sobre las 0ue se 0uiere guardar
informaci/n son las columnas de la tabla, mientras 0ue cada fila de la tabla representa una
cosa real de la 0ue se guarda informaci/n. En la figura %.B podemos !er una tabla con
libros donde se obser!a 0ue las columnas representan propiedades o atributos de las cosas
sobre las 0ue se !a a guardar informaci/n, en este caso libros, y c/mo las filas son los
registros 0ue representan a cada uno de los libros concretos sobre los 0ue se almacena
informaci/n.
Tutorial de OpenOffice.org Base 1!
Unidad 2. Introduccin y creacin de Tablas
&# Creacin de tablas
En este apartado !amos a crear nuestra primera tabla. Para ello nos situamos en el entorno
de 7pen7ffice.org en el menE de tablas y, dentro de las tareas, pulsamos sobre rear
tabla en !ista ?iseLoV tal y como se muestra en la figura %.%.
A continuaci/n nos aparece una pantalla para definir las columnas 0ue tendr la tabla
"figura %.D'. Por cada columna de nuestra futura tabla podemos indicar el nombre, el tipo
de datos y una bre!e descripci/n sobre lo 0ue almacenar dicha columna.
Figura !.!. Crear tabla en 6ista %ise"o
Figura !.#. 6entana de definicin de las columnas de la tabla
omen5amos a definir la primera columna# nos situamos en la primera fila de la rejilla y
en la columna =ombre del campo escribimos +dQpelicula como se refleja en la figura %.C.
Figura !.$. 3ntroduccin del nombre del campo
Tutorial de OpenOffice.org Base 1"
Unidad 2. Introduccin y creacin de Tablas
Para pasar a elegir el Tipo de campo, podemos hacerlo de tres maneras# pulsando la tecla
+ntro, pulsando la tecla Tabulaci/n o haciendo clic con el bot/n i50uierdo del rat/n sobre
dicha columna. Al situarnos sobre dicha columna !eremos 0ue, por defecto, nos indica
TeKtoW4A*<A*X como tipo de dato. 9i 0ueremos cambiar de tipo de campo, debemos
hacer clic con el bot/n i50uierdo del rat/n sobre la flecha de la lista desplegable de la
derecha y elegir otro tipo.
Los distintos tipos de campo o tipo de datos 0ue pueden tener las columnas se !ern con
ms detenimiento en la siguiente unidad de este curso. Por ahora s/lo indicaremos 0ue
destacan los de tipo teKto, numricos y de fecha, con caracter(sticas propias para cada
tipo.
En nuestro caso, para este campo !amos a elegir uno de los de tipo numrico llamado
=EmeroW=umericX "figura%.&'.
Figura !.'. Eleccin del tipo de campo
A continuaci/n, en la columna ?escripci/n, ser(a aconsejable 0ue se introdujese un
comentario acerca del campo 0ue se acaba de insertar, como aparece en la figura %.I.
Figura !.*. 3ntroduccin del campo %escripcin
9i nos fijamos con detenimiento en la parte inferior de dicha figura, !eremos 0ue hay una
!entana 0ue nos !a a permitir establecer algunas propiedades para el campo 0ue estamos
creando de nuestra tabla. ?ichas propiedades se eKponen junto con los distintos tipos de
campo en la siguiente unidad.
Este primer campo introducido es el 0ue identificar cada una de las pel(culas 0ue se
introdu5can en la base de datosU es decir, me !a a ser!ir para distinguir una pel(cula de
otra ine0u(!ocamente. Es imprescindible tener en la mayor(a de las tablas de una base de
datos un campo cuyo !alor sir!a ine0u(!ocamente para diferenciar una fila de cual0uier
otra.
Tutorial de OpenOffice.org Base 1#
Unidad 2. Introduccin y creacin de Tablas
Por ejemplo, si tenemos una tabla con los datos de contactos de nuestros amigos,
podr(amos estar seguros 0ue, usando su nEmero del ?ocumento =acional de +dentidad,
ninguno de ellos tendr(a el mismo !alor en dicho campo. En cambio, el campo nombre
para nuestros amigos, aun0ue improbable, podr(a repetirse.
En el caso de nuestra tabla Peliculas, a priori, no hay ningEn campo acerca de una pel(cula
0ue podamos utili5ar para diferenciar una pel(cula de otra ya 0ue, por ejemplo, podemos
tener dos pel(culas con el mismo t(tulo o dos pel(culas con el mismo director o dos
pel(culas 0ue se produjeron el mismo aLo. Para este tipo de tablas se suele definir un
campo de tipo numrico "como acabamos de hacer nosotros con nuestro +dQpelicula' 0ue
debe cumplir dos condiciones# la primera, es 0ue ese campo siempre tiene 0ue tomar un
!alor para cada fila de la tabla, y, la segunda, 0ue dicho !alor no puede repetirse en
ninguna fila. uando un campo cumple estas dos propiedades "sin nulos y sin repetidos'
se le llama Lla!e Primaria, la!e Primaria o simplemente la!e y toda tabla debe tener
una.
Para indicar 0ue 0ueremos 0ue el campo +dQpelicula sea nuestra Lla!e Primaria seguimos
los siguientes pasos#
=os situamos en la parte i50uierda del campo "figura %.3'.
Figura !.+. Parte i-&uierda del campo
Pulsamos bot/n derecho del rat/n "figura %.J'.
Figura !./. Pulsamos botn derec)o del ratn
9eleccionamos la opci/n Lla!e primaria "figura %.6'.
Figura !.0. Seleccionamos =lave primaria
Guedando finalmente el campo como se muestra en la figura %.B2
Figura !.12.Resultado tras definir el campo 3d>pelicula como llave primaria
@na !e5 insertado este primer campo, insertar(amos el resto de los campos, 0ue !an a ser#
Tutorial de OpenOffice.org Base 1$
Unidad 2. Introduccin y creacin de Tablas
Titulo, de tipo TeKto
?irector, de tipo TeKto
ALos, de tipo ,echa
,ormato, de tipo TeKto
4ista, de tipo 9(/=o
Guedando la tabla como aparece en la figura %.BB#
Figura !.11.<abla de pel?culas creada
@na !e5 creados todos los campos con sus propiedades, debemos guardar la tabla. Para
ello pulsamos sobre el icono en forma de dis0uete de la es0uina superior i50uierda "figura
%.B%'#
Figura !.1!.9uardar tabla
A continuaci/n nos aparece una !entana 0ue nos pide 0ue introdu5camos el nombre de la
tabla "figura %.BD'. En dicha !entana introducimos el nombre Peliculas y pulsamos el
bot/n Aceptar.
Figura !.1#.3ntroducir nombre de tabla
9i hemos seguido todos los pasos correctamente, nuestra tabla Peliculas debe aparecer
dentro del apartado Tablas en la parte inferior de la !entana principal de 77o -ase "figura
%.BC'.

Tutorial de OpenOffice.org Base 1%
Unidad 2. Introduccin y creacin de Tablas
Figura !.1$.6entana principal con la tabla Peliculas
Algo 0ue nos puede resultar raro de los nombres de los campos y del nombre de la tabla
es 0ue en ningEn momento estamos utili5ando tildes al escribirlo. Esto es debido a 0ue las
tildes pueden producir problemas en 77o -ase tanto en el nombre de los campos como
de las tablas por lo 0ue es mejor e!itar su uso en los nombres de 77o -ase.
*# Edicin de datos
@na !e5 0ue tenemos creada nuestra tabla Peliculas !amos a aprender a editar filas de
datosU es decir, en nuestro caso, !amos a editar los datos de cada una de las pel(culas para
modificar su contenido. Podemos editar datos a tra!s de lo 0ue se conoce como hoja de
datos, mediante una consulta 9GL o a tra!s de un formulario. Por ahora !amos a
0uedarnos con la primera opci/n, a tra!s de la hoja de datos.
3.1. Insercin de datos
Para insertar datos a tra!s de la hoja de datos tenemos 0ue situarnos en la pantalla
principal de 77o -ase en el apartado de Tablas "figura %.BC' y hacer doble clic con el
bot/n i50uierdo del rat/n sobre la tabla Peliculas o hacer un clic con el bot/n derecho del
rat/n y seleccionar la opci/n AbrirU nos aparece entonces la pantalla de hoja de datos 0ue
se muestra en la figura %.B&.
Figura !.1'.;o4a de %atos de la tabla Peliculas
En primer lugar, podemos !er 0ue aparecen las seis columnas 0ue definimos en el
apartado %, y ninguna fila insertada "como es natural, pues acabamos de crear la tabla'.
Podemos !er tambin 0ue la columna 4ista aparece con un cuadrado. Este cuadrado nos
indica 0ue es un campo del tipo 9(/=o y 0ue apare5ca con fondo !erde significa 0ue no
hay ninguna opci/n elegida por el momento.
Tambin se puede !er 0ue al principio de la fila aparece una pe0ueLa estrella amarilla,
dicha estrella seLala el lugar donde est la nue!a fila a insertar, en nuestro caso, la
primera pel(cula.
Tutorial de OpenOffice.org Base 2&
Unidad 2. Introduccin y creacin de Tablas
9i introducimos una fila con todos los campos rellenos, podemos tener algo parecido a lo
0ue aparece en la figura %.BI. En dicha figura podemos !er un detalle 0ue puede
sorprendernos# el !alor para el campo ALo aparece con el d(a y el mes, no s/lo con el aLo.
Esto es debido a 0ue hemos definido esta columna como de tipo ,echa y el formato por
defecto para este tipo de campo es d(a/mes/aLo lo 0ue nos obliga a incluir por tanto el d(a
y el mes. omo no sabemos el d(a eKacto en el 0ue se estren/ cada una de las pel(culas
0ue tenemos, !amos a indicar siempre el B de enero del aLo de producci/n de la pel(cula.
Figura !.1*.Primera fila insertada
9i continuamos insertando filas, hay 0ue hacer un recordatorio# en el apartado %
definimos 0ue la columna +dQpelicula iba a ser nuestra Lla!e PrimariaU es decir, 0ue los
!alores de este campo, no pod(an repetirse para ninguna fila. En la figura %.B3 se plasma
un intento de insertar una fila repitiendo !alor para esta columna y se muestra c/mo 77o
-ase nos de!uel!e un error.
Figura !.1+. Error al insertar fila
3.2. Navegacin ordenacin ! filtrado de datos
4amos a estudiar ahora alguna de las diferentes opciones 0ue nos ofrece la hoja de
inserci/n de datos y 0ue aparecen resaltadas en la figura %.BJ.
En la parte inferior de la !entana podemos !er la -arra de na!egaci/n entre registros. En
esta barra se nos muestra la fila en la 0ue estamos sobre el total de filas eKistentes, as(
como los botones, por este orden, para ir a la primera fila, a la anterior, a la siguiente, a la
Eltima o crear una nue!a.
Tutorial de OpenOffice.org Base 21
Unidad 2. Introduccin y creacin de Tablas
Figura !.1/. (lgunas de las opciones de la )o4a de datos
?entro de las opciones de ordenaci/n tenemos tres posibilidades# especificar los criterios
de clasificaci/n para !isuali5ar los datos, ordenar de forma ascendente u ordenar de forma
descendente en funci/n de la columna elegida. 9obre estas dos Eltimas opciones se debe
decir 0ue simplemente hay 0ue seLalar sobre el nombre de la columna deseada y elegir si
0ueremos 0ue ordene las filas ascendente o descendentemente. La primera opci/n, elegir
los criterios de clasificaci/n, es la ms completa ya 0ue nos ofrece la posibilidad de
establecer hasta tres columnas diferentes para ordenar por prioridad las filas de manera
0ue, si en la primera columna elegida tenemos !alores repetidos, se aplica el criterio de
ordenaci/n establecido para la segunda columna y, en caso de 0ue en esta segunda
columna ocurra alguna nue!a repetici/n, se aplica el criterio de la tercera columna.
Para entender mejor esta Eltima opci/n !amos a reali5ar un ejemplo# supongamos 0ue
deseamos ordenar nuestra filas en primer lugar en funci/n de la columna ,ormato de
forma ascendenteU en el caso de 0ue tengamos !alores repetidos para esta columna,
0ueremos 0ue apli0ue el orden alfabtico de los nombres de los directores en el campo
?irector, yU en caso de 0ue el nombre del director apare5ca repetido, 0ue ordene de la
pel(cula ms reciente a la ms antigua usando el campo ALo. Es decir, los criterios de
ordenaci/n ser(an los 0ue aparecen en la figura %.B6.
Figura !.10. Criterios de ordenacin
El resultado obtenido se muestra en la figura %.%2 y en l podemos !er c/mo en primer
lugar las filas aparecen ordenadas en orden alfabtico en funci/n del campo ,ormatoU
luego, como hay muchas filas con el mismo !alor para esa columna, aplica el segundo
criterio, el del nombre del director y, como tenemos toda!(a alguna repetici/n "el director
*idley 9cott', nos los ordena descendentemente en funci/n del aLo.
Tutorial de OpenOffice.org Base 22
Unidad 2. Introduccin y creacin de Tablas
Figura !.!2. Filas ordenadas
Por Eltimo, las opciones de filtrado de datos nos permiten elegir de forma simple 0u
datos 0ueremos 0ue se muestren. Las cuatro opciones, por el orden en 0ue aparecen los
botones, son#
,iltrado automtico. ,iltra las filas segEn el contenido del campo seleccionado "en
figura %.%B se muestra el resultado tras haber seleccionado *idley 9cott en campo
?irecci/n'.
Figura !.!1. Filtro autom.tico
@sar o no el filtro, es decir, conmuta entre las !istas con y sin filtro.
,iltro predeterminado, 0ue permite establecer las opciones del filtro de forma
parecida a como establec(amos los criterios de ordenaci/n.
ancelar filtro, de manera 0ue se muestran todas las filas.
La tercera opci/n, establecer !arios criterio de filtrado, !amos a ilustrarla con un ejemplo#
supongamos 0ue s/lo 0ueremos 0ue se muestren a0uellas pel(culas 0ue tengo en ?4? y
reali5adas en la dcada de los J2U es decir, entre el B de enero de B6J2 y el DB de
diciembre de B6J6. Las opciones para establecer este filtro junto con el resultado obtenido
aparecen en la figura %.%%.
Figura !.!!. Filtro y resultado
Tutorial de OpenOffice.org Base 23
Unidad 2. Introduccin y creacin de Tablas
3.3. Modificacin ! eli"inacin de datos
Los datos de una bases de datos normalmente no son estticos, sino 0ue pueden sufir
!ariaciones a lo largo del tiempo o incluso desaparecer por distintos moti!os. .odificar y
eliminar datos de nuestras tablas es un proceso muy habitual y simple de reali5ar y 0ue no
deber(a entraLar ningEn problema.
Figura !.!#. 1odificacin del valor de un campo
Para modificar el !alor para algEn campo de alguna fila en particular, nos situamos con el
cursor en el !alor a cambiar y lo reescribimos. En el caso de los campos 9(/=o, basta con
marcar o desmarcar la casilla. Por ejemplo, la pel(cula En -usca del Arca Perdida al
editarla en ?4? resulta 0ue han cambiado el t(tulo y ahora se titula +ndiana Nones en
-usca del Arca Perdida y nosotros no nos dimos cuenta al incluirla en nuestra base de
datos. Entonces, nos situamos en el campo, modificamos el t(tulo y guardamos los
cambios "figura %.%D'.
Para borrar una fila entera, basta con situarse con el cursor al inicio de la fila y seleccionar
eliminar fila. Por ejemplo, imaginemos 0ue la pel(cula *ocTy 0ue ten(a en 4<9 se ha
estropeado y ya no se puede !er, entonces me sitEo al inicio de esa fila y selecciono
eliminarla "figura %.%C'.
Figura !.!$. Eliminacin de fila
3.#. $%ercicios propuestos.
B.*eali5ar la creaci/n de la tabla Pel(culas detallada en esta unidad.
%.+nsertar todos los datos 0ue aparecen en la figura %.BJ
D..ostrar s/lo las pel(culas !istas anteriores a B662.
C.*eali5ar la creaci/n de una tabla llamada +nterpretes con los siguientes campos#
a.+dQinterprete, de tipo entero. Lla!e Primaria.
b.Apellidos, de tipo teKto.
c.=ombre, de tipo teKto.
d.=acionalidad, de tipo teKto.
Tutorial de OpenOffice.org Base 2
Unidad 2. Introduccin y creacin de Tablas
&.+nsertar las siguientes filas en la tabla anterior#
I.7rdenar la tabla interpretes por el campo Apellidos de manera ascendente y por el
campo =acionalidad de manera descendente.
Tutorial de OpenOffice.org Base 2!
Unidad 3. Tipos de datos y edicin de tablas.
!nidad *# +ipos de datos y edicin de tablas#
Este tema est di!idido en dos apartados.
En el primero se !an a mostrar los tipos de datos 0ue pueden tener los atributos, adems
de las opciones eKistentes dentro de cada tipo.
En el segundo apartado !amos a !er c/mo editar tablas ya creadas, bien sea para aLadir,
eliminar o modificar atributos representados en columnas.
Puedes !er el !ideo$tutorial de modificaci/n de columnas en la pgina personal del autor#
http#//0uercusseg.uneK.es/al!aro/tutorial/-aseQ!idQ2DQ!B.htm
"# +ipos de datos
En el segundo apartado de la unidad anterior !imos c/mo a cada columna de nuestra tabla
hay 0ue asignarle el tipo de dato 0ue !a a almacenar, aun0ue simplemente enumeramos
los tipos ms conocidos, sin eKplicar en profundidad 0u es un tipo de dato y los distintos
tipos de datos 0ue permite guardar 77o -ase. En este primer apartado de esta unidad
!amos a !er por 0u hay 0ue elegir entre diferentes tipos de datos y cules son.
Figura #.1.<abla de pel?culas y sus tipos de dato
En primer lugar, !amos a responder a la pregunta de por 0u hay distintos tipos de datos.
Para ello basta con pensar en la tabla Peliculas 0ue creamos en la unidad anterior. ada
campo de dicha tabla estaba definido para almacenar un tipo de informaci/n concreta "!er
,igura D.B'U por ejemplo, la columna ?irector siempre !a a almacenar el nombre del
director por lo 0ue, si 0ueremos introducir el nombre de un director, teclearemos un teKto
0ue incluya su nombre y al menos el primer apellidoU es decir, la naturale5a de los !alores
introducidos es de tipo teKto. En cambio, en la columna ALo !imos 0ue siempre
almacenbamos la fecha del estreno, por lo 0ue al introducir un !alor para este campo
necesitamos 0ue, de alguna manera, nuestra base de datos sepa distinguir lo 0ue es el d(a,
el mes y el aLo.
Es decir, ambos almacenan una informaci/n muy concreta en cada caso y para nosotros es
muy fcil !er la naturale5a de los !alores 0ue almacena cada uno de esos campos. ?icha
naturale5a es lo 0ue se conoce como tipo de dato y lo ofrecen las bases de datos para,
entre otras cosas, facilitar el almacenamiento de los !alores y por tanto la gesti/n de la
memoria lo 0ue, entre otras cosas, influye en la rapide5 de respuesta en la bEs0ueda de
!alores. Adems dentro de cada tipo de datos eKisten una serie de propiedades, por
ejemplo, el tamaLo mKimo permitido o el control de una flecha !lida, 0ue ayudan a
definir un campo con ms concreci/n.
?entro de 77o -ase en particular podr(amos clasificar los distintos tipos de datos en
cuatro grandes grupos#
Alfanumricos. "!er Tabla D.B'. 9e utili5an para almacenar teKtos 0ue pueden
contener letras y nEmeros, pero teniendo en cuenta 0ue los nEmeros sern tratados
como un carcter ms. El ms utili5ado es el tipo TeKto W4A*<A*X.
Tutorial de OpenOffice.org Base 2"
Unidad 3. Tipos de datos y edicin de tablas.
<abla #.1.<ipos de datos alfanumricos
=umricos, enteros "!er Tabla D.%' y reales "!er Tabla D.D'. 9e utili5an para
almacenar !alores numricos sobre los 0ue, al contrario 0ue en los tipos
alfanumricos, se podrn reali5ar operaciones aritmticas. En las propiedades de
los reales hay 0ue indicar cuntas de las cifras del tamaLo asignado sern
decimales "se conoce tambin como la escala'. Los ms utili5ados son +nteger
W+=TE;E*X y =EmeroW=@.E*+X.
<abla #.!.<ipos de datos enteros
<abla #.#.<ipos de datos reales
Temporales "!er Tabla D.C'. 9e utili5an para guardar fechas y/o horas.
<abla #.$.<ipos de datos temporales
Especiales "4er Tabla D.&'. Tipos de datos 0ue no entran en ninguna de las
clasificaciones anteriores. El ms util5iado es el tipo 9(/=o W-77LEA=X
<abla #.'.<ipos de datos especiales
Tutorial de OpenOffice.org Base 2#
Unidad 3. Tipos de datos y edicin de tablas.
Adems, dependiendo del tipo de dato, podemos tener hasta seis propiedades "!er ,igura
D.%' 0ue se pueden configurar para mantener la consistencia y el formato de la
informaci/n introducida. Ystas son#
Figura #.!. Propiedades de los campos
4alor automtico. 9i se pone afirmati!o permite 0ue 77o -ase d
automticamente un !alor secuencial a este campo. 9e suele utili5ar cuando la
cla!e primaria de nuestra tabla !a a ser un entero al 0ue ir(amos dando !alores
consecuti!os cada !e5 0ue introducimos una nue!a fila "como en el caso de
nuestra tabla pel(culas'. 9/lo est disponible con los tipos +nteger y -ig+nt.
Entrada re0uerida. 9ir!e para indicar si ser obligatorio o no introducir un !alor en
este campo para cada fila de la tabla. ual0uier campo 0ue definamos como cla!e
primaria automticamente eKige la introducci/n de un !alor siempre.
TamaLo o longitud. Especifica la longitud mKima permitida.
?ecimales. 9ir!e para especificar cuntas cifras del tamaLo asignado sern
decimales.
4alor Predeterminado. Permite asignar un !alor por defecto para este campo a
todas las filas 0ue se !ayan introduciendo. Es posible modificar posteriormente
este !alor en cada fila.
Ejemplo de formato. Permite especificar el formato del campo. .uy Etil sobre
todo para los campos de tipo ,echa y <ora para indicar el formato de introducci/n
de los mismos y tambin para los campo de tipo real donde !ayamos a guardar
!alores monetarios indicando la moneda 0ue se usar.
&# Edicin de tablas
Antes de comen5ar con este apartado ya deber(a estar clara la diferencia entre la !entana
de introducci/n de datos en la tabla ",igura D.D' y la !entana de edici/n de la tabla
",igura D.C'.
Figura #.#. 6entana de introduccin de datos
Tutorial de OpenOffice.org Base 2$
Unidad 3. Tipos de datos y edicin de tablas.
La primera se utili5a para introducir datos en la tabla seleccionada tal y como !imos en el
tercer apartado de la unidad anterior.
Figura #.$. 6entana de edicin de tabla
La segunda !entana es la misma 0ue utili5amos para crear una tabla pero, en este caso,
con el objeti!o de aLadir o eliminar columnas "atributos' de nuestra tabla, o bien, de
modificar alguna propiedad de las mismas.
En este apartado nos !amos a centrar en la edici/n de las columnas de una tabla ya
creada, en este caso nuestra tabla Peliculas. Para abrir esta tabla para editarla tenemos 0ue
situarnos en la pantalla principal de 77o -ase en el apartado de Tablas y hacer un clic
con el bot/n derecho del rat/n y seleccionar la opci/n Editar ",igura D.&'.
Figura #.'. Seleccin de edicin de tabla
Para aLadir nue!as columnas a nuestra tabla hay 0ue seguir el mismo proceso 0ue en la
creaci/n de una tablaU es decir, introducir un !alor para el nombre del campo, elegir un
tipo de campo y escribir una descripci/n de ese campo.
Para eliminar columnas de nuestra tabla nos situamos al inicio del campo y seleccionamos
la opci/n eliminar ",igura D.I'. Antes de eliminar una columna de nuestra tabla debemos
saber 0ue al hacerlo se borrarn todos los !alores 0ue tu!iramos dados a esta columna en
nuestra filas por lo 0ue, sobre todo en el caso de la columna 0ue sea cla!e primaria, hay
0ue pensar muy bien si de !erdad es con!eniente eliminar esa columna.
Tutorial de OpenOffice.org Base 2%
Unidad 3. Tipos de datos y edicin de tablas.
Figura #.*. Opcin Eliminar columna de una tabla
En el caso de haber borrado una columna de la tabla accidentalmente siempre tenemos la
opci/n de cerrar la !entana de edici/n sin guardar los cambios reali5ados.
2.1. Modificacin de colu"nas e&istentes
Las modificaciones 0ue se pueden reali5ar sobre las columnas eKistentes pueden ser de
dos tipos#
cambios de nombre del campo o de la descripci/n del mismo.
cambio en las propiedades del campo, desde ser o no cla!e primaria, a cambiar el
tipo de campo y las propiedades asociadas a ese tipo de campo.
Figura #.+. Cambio de nombre de campo
En el caso de las primeras, basta con situarse en el !alor 0ue 0ueramos modificar y
cambiar el contenido del teKto. Por ejemplo, podemos cambiar el nombre de la columna
4ista por el de 4isionada como se muestra en la figura D.3.
.s importantes para la integridad de la tabla, y en algEn caso ms complejas de reali5ar,
son las operaciones 0ue contemplan el cambio de tipo de datos o el cambio de las
propiedades del campo.
Tutorial de OpenOffice.org Base 3&
Unidad 3. Tipos de datos y edicin de tablas.
El primero de este tipo de cambios es asignar 0ue un campo es o no cla!e primaria. <acer
este cambio es muy sencillo, tal y como !imos en la unidad anterior, cuando fijamos la
columna +dQpelicula como cla!e primaria de Peliculas. Pero las consecuencias 0ue
conlle!a dicho cambio para nuestra tabla pueden ser cr(ticas. Para empe5ar, 77o -ase no
nos !a a permitir introducir datos en una tabla 0ue no tenga cla!e primaria por lo 0ue en
caso de desasignar una columna como cla!e primaria debemos asignarselo a otra, pero
con cuidado, ya 0ue una !e5 0ue nuestra tabla ya tiene datos es muy dif(cil encontrar otra
columna 0ue cumpla las condiciones necesarias para ser cla!e primaria "recordamos 0ue
la primera es 0ue ese campo siempre tiene 0ue tomar !alor para cada fila de la tabla, y, la
segunda, 0ue dicho !alor no puede repetirse entre ninguna fila' y nos podemos encontrar
un a!iso como el 0ue aparece en la figura D.J# si por ejemplo intentamos fijar el campo
?irector como cla!e primaria y damos a guardar la tabla.

Figura #./ Error al cambiar clave primaria
Este error se produce por0ue hemos incumplido la segunda condici/n de una cla!e
primaria "no repetir !alor' por0ue el !alor *idley 9cott aparece en ms de una fila en esa
columna.
El siguiente tipo de cambio 0ue !amos a estudiar es el cambio de tipo de dato. Para
reali5ar este tipo de cambio hay 0ue tener en cuenta 0ue habr 0ue elegir un tipo de dato
compatible con los !alores ya introducidos.
Por ejemplo, si cambiamos el tipo de dato del campo 4isionada a tipo TeKto, en lugar de
9(/=o, 77o -ase es capa5 de reali5arlo por0ue con!ierte las casillas marcadas al teKto
true "!erdadero en ingls' y las desmarcadas a false "falso en ingls' tal y como se
muestra en la figura D.6.
Tutorial de OpenOffice.org Base 31
Unidad 3. Tipos de datos y edicin de tablas.
Figura #.0 <abla Peliculas tras cambio en columna 6isionada
uando cambiamos entre tipos de datos numricos, por ejemplo, entre uno de tipo real y
otro de tipo entero hay 0ue tener cuidado de 0ue el tamaLo del nue!o tipo sea lo
suficientemente grande y tener en cuenta 0ue s/lo se respetar la parte entera de los
!alores pre!iamente almacenados.
Este tipo de con!ersiones no siempre se pueden reali5ar. As(, por ejemplo, aun0ue ser(a
posible cambiar el campo ALo de tipo ,echa a tipo TeKto, no nos !a a dejar con!ertirlo a
uno de tipo +nteger, ya 0ue aun0ue en el primer paso no es complicado para 77o -ase
transformar una fecha a una cadena de teKto, en el segundo caso no es capa5 de con!ertir
una fecha a un nEmero y nos muestra una pantalla como la 0ue se !e en la figura D.B2.
Figura #.12. (dvertencia antes de cambiar columna a un tipo de dato no compatible con actual
Es decir, la soluci/n 0ue nos propone es eliminar por completo esa columna y crear una
nue!a con el nombre 0ue ya ten(a y el nue!o tipo, pero perdiendo los !alores 0ue ya
ten(amos introducidos en ese campo.
Tutorial de OpenOffice.org Base 32
Unidad 3. Tipos de datos y edicin de tablas.
@n cambio muy Etil 0ue podemos reali5ar en nuestra tabla es hacer 0ue nuestra cla!e
primaria tome !alores automticamente, por ejemplo para poner un c/digo de referencia a
un producto. Para ello, para la tabla Peliculas, lo primero 0ue debemos cambiar es el tipo
de dato de +dQPelicula a +nteger, ya 0ue estaba definido como tipo =Emero. Este cambio
no nos debe causar problemas ya 0ue los !alores de +dQpelicula 0ue estbamos dando eran
todos enteros. A continuaci/n fijar(amos esta columna con la propiedad 4alor
Automtico a 9( y guardar(amos la tabla. La nue!a estructura de la tabla se muestra en la
figura D.BB.
Figura #.11. Campo 3d>pelicula con valor autom.tico
A partir de ahora, cada !e5 0ue introdu5camos una nue!a fila en la tabla Peliculas al
campo +dQpelicula se le asignar el mayor !alor asignado hasta ese momento
incrementado en B.
El Eltimo tipo de modificaci/n 0ue !amos a !er es del Ejemplo del ,ormato. Esta
propiedad es importante en muchos campos pero, posiblemente, donde ms cuidado hay
0ue tener con ella es en los campos de tipo temporal para no tener problemas cuando
introdu5camos fechas y horas.
4amos a !er algEn ejemplo de esta propiedad con nuestro campo ALo. Para ello,
seleccionamos dicho campo y pinchamos en el bot/n 0ue hay a la derecha de la propiedad
Ejemplo de ,ormato y 0ue destaca adems por0ue tiene D puntos suspensi!os dentro "!er
,igura D.B%'.
Figura #.1!. Seleccin de entrada a propiedad E4emplo de Formato
=os debe aparecer entonces una !entana como la de la figura D.BD.
Tutorial de OpenOffice.org Base 33
Unidad 3. Tipos de datos y edicin de tablas.
Figura #.1#. 6entana de formato de campo
omo podemos !er, esta !entana tiene bastante informaci/n. Para empe5ar, en la parte
superior derecha podemos elegir el idioma. La elecci/n de idioma no es un tema tri!ial ya
0ue, por ejemplo, los formatos de fecha predefinidos no sern los mismos para idiomas de
pa(ses anglosajones 0ue para pa(ses europeos continentales. @na !e5 0ue hemos elegido el
idioma, el siguiente paso es escoger la categor(a del formato 0ue !amos a definir en la
!entana superior i50uierdaU en nuestro caso la categor(a del formato es ,echa. ?entro de
la categor(a fechas eKisten una serie de formatos predefinidos 0ue se muestran en la
!entana superior central. @n ejemplo de c/mo se !er(a el formato elegido se muestra en el
rectngulo 0ue aparece en el centro de la !entana 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 !entana llamada /digo del formato.
4amos a !er un ejemplo para ilustrar mejor este punto. <asta ahora nuestro campo ALo
estaba predefinido como ??/../AAU es decir, dos cifras para el d(a, dos para el mes y
dos para el aLo. 4amos a suponer 0ue a partir de ahora 0ueremos 0ue el mes se introdu5ca
y se muestre con su nombre en lugar de con su nEmero y separado por la preposici/n de
del d(a y del aLo. Elegimos la opci/n correspondiente en los formatos predefinidos de
fecha "!er figura D.BC' y damos al bot/n Aceptar.
Figura #.1$. Seleccin del nuevo formato
Tutorial de OpenOffice.org Base 3
Unidad 3. Tipos de datos y edicin de tablas.
9i abrimos despus de este cambio la tabla Peliculas el resultado obtenido deber(a ser el
0ue se muestra en la figura D.B&. ?ebido a 0ue es ms sencillo la introducci/n de fechas
con el formato original es recomendable dejar las fechas en dicho formato.
Figura #.1'. <abla pel?culas tras cambio de formato en campo ("o
*# E)ercicios propuestos#
B..odificar el nombre del campo 4ista de la tabla Peliculas por el nombre 4isionada.
%..odificar la tabla Peliculas para 0ue al campo +dQpelicula se le den !alores
automticamente con cada nue!a fila.
Tutorial de OpenOffice.org Base 3!
Unidad 4. Relaciones entre tablas
!nidad 0# Relaciones entre tablas
Este tema est dedicado eKclusi!amente a definir las relaciones entre tablas y estudiar
c/mo se establecen en 77o -ase.
En el primer apartado se introduce el concepto de relaciones entre tablas.
En el segundo apartado se especifican los posibles tipos de relaciones eKistentes entre
tablas.
Por Eltimo, en el tercer apartado se eKplica c/mo indicar relaciones en 77o -ase.
Puedes !er el !ideo$tutorial de creaci/n de relaciones entre tablas en la pgina personal
del autor#
http#//0uercusseg.uneK.es/al!aro/tutorial/-aseQ!idQ2CQ!B.htm
"# Relaciones entre tablas
@na de las grandes !entajas de las bases de datos es 0ue podemos tener toda la
informaci/n 0ue necesitamos almacenar en !arias tablas, relacionadas entre ellas, en lugar
de una Enica tabla enorme con toda la informaci/n.
FGu conseguimos con estoH Para responder a esta pregunta mejor pongamos un ejemplo#
imaginemos 0ue se 0uiere guardar el gnero cinematogrfico de las pel(culas 0ue se !an
almacenando. 9e podr(a pensar en aLadir una nue!a columna a la tabla Peliculas 0ue se
llamara ;nero, de manera 0ue por cada pel(cula almacenada tambin tu!iera su gnero.
Esta posible soluci/n se muestra en la figura C.B.
Figura $.1 <abla pel?culas con el gnero de cada pel?cula
9i nos fijamos en esta soluci/n podemos !er 0ue se est repitiendo el mismo !alor
muchas !eces, por ejemplo, iencia$,icci/n aparece en cuatro filas y ?rama en otras
tantas. Es decir, se est obligando a teclear !arias !eces el mismo !alor lo 0ue, entre otras
cosas, puede pro!ocar 0ue en algEn momento nos e0ui!o0uemos al teclear, y escribamos,
por ejemplo, iencia$,usi/n, y ya tengamos un nue!o gnero 0ue no corresponde a
ninguna pel(cula ya 0ue ni si0uiera eKiste "por lo menos, en el momento de escribir esto'U
es decir, al introducir el mismo !alor de forma redundante se est posibilitando 0ue en
algEn momento lo escribamos mal.
Puede pasarnos tambin 0ue todos los cr(ticos de cine se pongan de acuerdo y decidan
0ue el gnero iencia$,icci/n no tiene un nombre adecuado y 0ue es ms adecuado
llamarlo ,icci/n$ient(fica. Entonces, si se tiene en la tabla Peliculas cuatro pel(culas de
ese gnero, se debe ir una a una cambiando el nombre y con cuidado de no e0ui!ocarse al
teclear. Gui5s si tenemos cuatro pel(culas de este gnero no nos pare5ca un gran
problema hacer este cambio cuatro !eces pero si resulta 0ue se tiene en la colecci/n
trescientas pel(culas de este gnero puede 0ue el problema pare5ca ms importante.
Tutorial de OpenOffice.org Base 3"
Unidad 4. Relaciones entre tablas
La soluci/n a los problemas anteriores est en separar la informaci/n 0ue aparece repetida
continuamente en una nue!a tabla "!er figuras C.% y C.D' e indicar de alguna forma en
nuestra base de datos 0ue hay filas de la tabla Peliculas y de la tabla ;eneros 0ue estn
relacionadas "figura C.C'.
Figura $.!. %ise"o de la tabla 9eneros
Figura $.#. Posible contenido de la tabla 9eneros
Figura $.$. Filas relacionadas entre tabla Peliculas y tabla 9eneros
Antes de entrar en detalle en las relaciones entre tablas !amos a !er otro ejemplo 0ue nos
ayude a comprender aEn mejor la necesidad de poder establecer relaciones entre tablas.
4amos a suponer 0ue 0uisiramos almacenar informaci/n "apellidos, nombre y
nacionalidad' acerca de los principales interpretes con cada una de nuestra pel(culas. A
pesar de haber creado una tabla +nterpretes en la segunda unidad de este curso y, con el
conocimiento de bases de datos 0ue tenemos hasta ahora, no nos 0uedar(a otra opci/n 0ue
aLadir nue!as columnas a nuestra tabla Peliculas donde guardar la informaci/n acerca de
sus protagonistas. Es decir, podr(amos pensar en una soluci/n como la de la figura C.&.
Figura $.'. %ise"o de la tabla Peliculas 4unto con informacin de interpretes
Tutorial de OpenOffice.org Base 3#
Unidad 4. Relaciones entre tablas
Pero esta soluci/n nos deja muchas inc/gnitas sin resol!er. Por ejemplo, si no se conoce
el nombre de ninguno de los interpretes de una pel(cula se !a a tener 0ue dejar en blanco
esos tres campos para cada una de las pel(culas para las 0ue no se conocen sus interpretes.
7, por ejemplo, si de una pel(cula se conoce ms de un interprete se tendr 0ue optar entre
s/lo almacenar uno de ellos "con lo cual estar(amos perdiendo informaci/n y perder
informaci/n es algo 0ue, en general, hay 0ue desechar'. 7 bien, repetir en nue!as filas
toda la informaci/n de las pel(culas para las 0ue se conoce ms de un protagonista junto
con cada uno de los intrpretes de dicha pel(cula. Para entender mejor los problemas
eKpuestos tenemos la figura C.I 0ue muestra un posible contenido de la tabla Peliculas
0ue acabamos de modificar.
Figura $.*. <abla Peliculas con posibles datos
on el ejemplo de la figura C.I 0ue tan solo contiene die5 pel(culas ya podemos !er los
problemas a 0ue hac(amos referencia en el prrafo anterior. As(, podemos !er 0ue hemos
tenido 0ue repetir informaci/n de dos pel(culas "La omunidad del Anillo y .illion
?ollar -aby' por0ue conoc(amos dos intrpretes de las mismas y 0ue hay intrpretes
"<arrison ,ord, Li! Tyler y Na!ier -ardem' 0ue nos aparecen !arias !eces por ser
protagonistas en !arias de nuestras pel(culas.
Los problemas 0ue ten(amos al incluir el campo ;eneros se hacen en este caso ms
cr(ticos. 9i un intrprete decide cambiar de nombre, ya tenemos dos campos a modificar
en cada fila de las 0ue apare5ca. Pensemos adems un supuesto 0ue no nos hab(amos
planteado con los gneros cinematogrficos, como podr(a ser, si le dejamos alguna
pel(cula a alguien 0ue no nos la de!uel!e nunca "un ejemplo bastante real', y, al cabo del
tiempo, decidimos borrar esa pel(cula de nuestra base de datos nos podemos enfrentar a
!arios problemas. @no de ellos es 0ue, si esa era la Enica pel(cula 0ue ten(a de un
intrprete !oy a perder toda la informaci/n de ese intrprete "en la figura C.I si tu!iera
0ue borrar ;ladiator perder(a la informaci/n de *ussell ro8e' y el otro problema es 0ue
si de esa pel(cula tenemos guardados !arios de sus protagonistas, tendremos 0ue borrar
!arias 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 +nterpretes ",iguras C.3 y C.J' 0ue creamos en la
segunda unidad, intentando indicar de alguna manera 0ue !an a eKistir relaciones entre
filas de la tabla Peliculas con filas de la tabla +nterpretes ",igura C.6'.
Figura $.+. %ise"o de la tabla 3nterpretes
Tutorial de OpenOffice.org Base 3$
Unidad 4. Relaciones entre tablas
Figura $./. Contenido de la tabla 3nterpretes
Figura $.0 Filas relacionadas entre tabla Peliculas y tabla 3nterpretes
@na !e5 0ue ya tenemos claro 0ue algunas !eces !amos a necesitar indicar 0ue tenemos
tablas 0ue estn relacionadas !amos en primer lugar, a !er 0u tipo de relaciones pueden
eKistir y, segundo, c/mo indicar las relaciones en 77o -ase cada uno de esos tipos de
relaciones.
&# +ipos de relaciones entre tablas
Para !er la forma de establecer la relaci/n es necesario decidir, pre!iamente, 0u tipo de
relaci/n eKiste entre las tablas. EKisten tres tipos bsicos de relaciones entre tablas#
@no 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 s/lo
est relacionada con una de la primera. Es decir, si consideramos 0ue una pel(cula
s/lo puede tener un Enico gnero, ste ser(a el tipo de relaci/n 0ue eKiste entre la
tabla ;enero y la tabla Peliculas "!er ,igura C.C' ya 0ue, por ejemplo, el gnero
?rama tiene !arias pel(culas relacionadas 0ue son de dicho gnero pero dada una
pel(cula s/lo est relacionada con un gnero.
.uchos a muchos. Esta clase de relaci/n 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. @n ejemplo de este
tipo lo tenemos en la relaci/n entre la tabla Peliculas y la tabla +nterpretes "!er
,igura C.6' por0ue, dada una pel(cula en particular, puede tener muchos
intrpretes, y, !ice!ersa, dado un intrprete, este puede haber inter!enido en
muchas pel(culas.
@no a uno. Este tipo de relaci/n aparece con menos frecuencia y sucede cuando
una fila de la primera tabla s/lo puede estar relacionada con una fila de la segunda
y una fila de la segunda tabla s/lo puede estar relacionada con una de la primera.
@n ejemplo de este tipo de relaciones podr(a ser entre una tabla con pa(ses y otra
con jefes de gobierno, dado 0ue, normalmente, un pa(s s/lo tiene un jefe de
gobierno y un jefe de gobierno lo es s/lo de un pa(s.
Tutorial de OpenOffice.org Base 3%
Unidad 4. Relaciones entre tablas
9i estamos seguros de cul es el tipo de relaci/n 0ue eKiste entre nuestras tablas el
siguiente paso es !er c/mo podemos indicarlo en 77o -ase.
*# Establecer relaciones entre tablas
En funci/n del tipo de relaci/n, los pasos a reali5ar para indicarlas en 77o -ase son
distintos. A continuaci/n se eKplica al detalle las reglas bsicas para los tipos uno a
muchos y muchos a muchos.
3.1. $sta'lecer relaciones uno a "uc(os
Para este tipo de relaciones la soluci/n siempre es crear una nue!a columna en la tabla del
lado del muchos, es decir, debemos crear una nue!a columna en la tabla cuyas filas s/lo
pueden estar relacionadas con una fila de la otra tabla, de manera 0ue el !alor de ese
campo me indi0ue sin lugar a dudas con 0u fila est relacionada de la otra tabla.
En el caso de ;eneros y Peliculas, esto supone 0ue tenemos 0ue crear en Peliculas un
nue!o campo 0ue para cada pel(cula mantenga un !alor 0ue me indi0ue sin error al
gnero al 0ue pertenece. Por tanto, la columna debe ser del mismo tipo de dato 0ue la
columna 0ue sea cla!e primaria en la otra tabla y los !alores 0ue podr contener ser
cual0uiera de los !alores 0ue tome la cla!e primaria en dicha tabla. Es decir, en la tabla
Peliculas tendremos 0ue crear una columna del mismo tipo 0ue +dQgenero "+nteger', a la
0ue llamaremos ;enero "!er ,igura C.B2', y los !alores 0ue pondremos en esa columna
estarn comprendidos entre el B y el 6, 0ue son los distintos !alores 0ue toma ese !alor en
la tabla ;eneros "!er ,igura C.D'.
Figura $.12 <abla Peliculas con nuevo campo 9enero
@na pregunta 0ue seguro surge despus de leer esto es Fpor 0u la nue!a columna ;enero
en Peliculas s/lo puede tomar !alores entre B y 6H La respuesta es muy simple# esta nue!a
columna la estamos creando para poder referenciar en cada pel(cula a la fila en ;eneros
con la 0ue est relacionadaU es decir, no tiene sentido 0ue la pel(cula *ocTy tenga como
gnero el B% si dicho gnero no eKiste en la tabla ;eneros.
Tutorial de OpenOffice.org Base &
Unidad 4. Relaciones entre tablas
$.11. (pertura de ventana Relaciones
Pero con la creaci/n de esta columna no hemos terminado. ,alta indicarle a 77o -ase
eKpl(citamente 0ue las dos tablas estn relacionadas y 0ue !amos a utili5ar para mantener
dicha relaci/n la nue!a columna ;enero 0ue hemos creado en Peliculas. Para reali5ar esta
operaci/n tenemos 0ue abrir la herramienta *elaciones de 77o -ase. Para ello nos
situamos en la !entana principal, pinchamos en la pestaLa <erramientas y dentro del
menE 0ue se despliega seleccionamos *elaciones "!er ,igura C.BB'.
Lo primero 0ue nos ocurre nada ms entrar en la !entana *elaciones es 0ue se despliega
una !entana donde debemos seleccionar las tablas sobre las 0ue !amos a establecer la
relaci/n "!er ,igura C.B%', en nuestro caso, elegimos las tablas Peliculas y ;eneros y
cerramos dicha !entana.
Figura $.1!. Seleccin de tablas a relacionar
A continuaci/n ya podemos establecer la relaci/n 0ue 0ueremos indicar. Para ello
pinchamos en el icono 0ue aparece a la derecha en la !entana *elaciones "el icono 0ue
contiene tres tablas con una estrella encima, !er ,igura C.BD'.
Tutorial de OpenOffice.org Base 1
Unidad 4. Relaciones entre tablas
Figura $.1#. 3cono para a"adir nueva relacin
Entonces, nos debe aparecer una !entana "!er ,igura C.BC' donde primero debemos
indicar las tablas 0ue 0ueremos relacionar para, a continuaci/n, elegir en funci/n de 0u
columna !amos a establecer la relaci/nU es decir, en nuestro caso ser entre el campo
;enero de Peliculas e +dQgenero de ;eneros.
En la parte inferior de esta !entana !eremos 0ue 77o -ase nos pide 0ue indi0uemos dos
opciones# la de actuali5aci/n y la de eliminaci/nU y 0ue nos ofrece cuatro posibilidades
para cada una de ellas. Estas opciones sir!en para indicar 0u hacer si algEn !alor del
campo de cla!e primaria 0ue est siendo referenciada "en nuestro caso +dQgenero' sufre
alguna modificaci/n o si esa fila es eliminada. Las posibilidades son#
no reali5ar ninguna acci/n.
actuali5ar o borrar en cascada# es decir, si cambiamos en ;eneros de & a B3 el
!alor de +dQgenero de ?rama, entonces, todas las filas de Peliculas cuyo gnero
sea ?rama pasarn a tener el !alor B3. 7 en el caso de borrado, si borramos el
gnero ?rama en ;eneros todas las filas de Peliculas de ese gnero se borrarn por
lo 0ue, esta opci/n debe elegirse con mucho cuidado.
poner a null# es decir, si cambiamos o borramos el gnero ?rama, el campo
;enero de esas pel(culas se 0ueda en blanco.
predeterminar# es decir, podemos fijar un !alor por defecto en el campo ;enero de
Peliculas si el gnero al 0ue referencian en la tabla ;eneros es modificado o
borrado.
Para la actuali5aci/n, lo normal suele ser elegir la posibilidad de actuali5ar en cascada, y
para el borrado no eKiste una opci/n preferida sino 0ue depender bastante del conteKto,
en nuestro caso, para esta relaci/n, indicaremos poner a nulos.
Tutorial de OpenOffice.org Base 2
Unidad 4. Relaciones entre tablas
Figura $.1$. 3ndicacin de relacin entre tabla 9eneros y Peliculas
@na !e5 hemos terminado de indicar la relaci/n, sta debe aparecer indicada en la !entana
*elaciones tal y como se muestra en la figura C.B&. As(, podemos obser!ar 0ue ahora
aparece una l(nea uniendo ambas tablas y 0ue en el eKtremo de esa l(nea en el lado de la
tabla ;eneros aparece el !alor B, y 0ue, en el otro eKtremo, el de la tabla Peliculas, nos
aparece el !alor n. Estos !alores nos estn indicando 0ue el tipo de relaci/n es de uno "B'
a muchos "n'.
Figura $.1'. Relacin uno a muc)os entre 9eneros y Peliculas
3.2. $sta'lecer relaciones "uc(os a "uc(os
En este tipo de relaciones no sir!e la soluci/n anterior de crear una columna en la tabla
del lado del muchos apuntando a la otra tabla por0ue, como cual0uier fila de cada una de
las dos tablas puede apuntar a !arias filas de la otra tabla, Fa cul de las filas de la otra
tabla apuntar(amosH.
La soluci/n en este caso es crear una nue!a tabla "a la 0ue llamaremos Protagonistas, !er
,igura C.BI' con, al menos, dos columnas, cada una de ellas para apuntar a cada una de
las cla!es primarias respecti!as de las tablas 0ue 0ueremos relacionar, de manera 0ue
cada fila de esta tabla !a a representar las relaciones 0ue eKisten entre las filas de ambas
tablasU es decir, cada una de las relaciones 0ue !e(amos representadas en la figura C.6 en
forma de flecha !an a ser una fila de esta nue!a tabla como se puede apreciar en la figura
C.B3.
Tutorial de OpenOffice.org Base 3
Unidad 4. Relaciones entre tablas
Figura $.1*. %ise"o de la tabla Protagonistas
Figura $.1+. Contenido de la tabla Protagonistas
?e la tabla 0ue acabamos de crear falta puntuali5ar dos cosas. La primera, 0ue es posible
aLadir nue!as columnas a esta tabla para guardar ms informaci/n, es decir, no habr(a
ningEn problema, por ejemplo, en aLadir una nue!a columna llamada Papel donde
guardramos el nombre del personaje 0ue el intrprete reali5a en dicha pel(cula. Lo
segundo, 0ue para fijar la cla!e primaria debemos seleccionar juntas las dos columnas 0ue
apuntan a las otras tablas e indicar 0ue ambas juntas son cla!es primarias. Esto Eltimo se
puede apreciar tambin en la figura C.BI donde se !e 0ue ambas figuran con el s(mbolo de
la lla!e 0ue significa 0ue son cla!e primaria.
@na !e5 0ue tenemos creada esta tabla nos falta indicar en 77o -ase las relaciones
eKistentes, siguiendo la misma mecnica 0ue hemos !isto en el anterior apartado.
As(, una !e5 0ue nos hemos situado de nue!o en la !entana *elaciones y hemos aLadido
las tablas 0ue 0ueremos relacionar a dicha !entana, debemos indicar 0ue eKiste una
relaci/n entre la tabla Peliculas y Protagonistas por un lado ",igura C.BJ' y la tabla
Protagonistas e +nterpretes por otro ",igura C.'.
Figura $.1/. Relacin entre Peliculas y Protagonistas
Tutorial de OpenOffice.org Base
Unidad 4. Relaciones entre tablas
Figura $.10. Relacin entre Protagonistas e 3nterpretes
omo podemos obser!ar en el diagrama resultante ",igura C.%2', al aLadir la tabla
Protagonistas, la relaci/n muchos a muchos 0ue eKist(a entre Peliculas e +nterpretes se ha
con!ertido en una relaci/n uno a muchos de Peliculas a Protagonistas y en otra relaci/n
uno a muchos de +nterpretes a Protagonistas. Esto es debido a 0ue, dada una fila de
Protagonistas, !a a estar relacionada con una de +nterpretes y una de Peliculas pero, dada
una fila de +nterpretes y Peliculas, pueden estar relacionadas con muchas de protagonistas.
Por ejemplo, la fila de Protagonistas con los !alores W&,B2X s/lo !a a estar relacionada con
la pel(cula La omunidad del Anillo por un lado y la interprete Li! Tyler por otro, pero,
La omunidad del Anillo est y puede estar relacionada con muchas filas de
Protagonistas "tantas como protagonistas guardemos de esa pel(cula' y la intrprete Li!
Tyler tambin est y puede estar relacionada con muchas filas de Protagonistas "tantas
como en pel(culas haya participado'.
Esto ocurre siempre con las relaciones muchos a muchos# primero se crea una tabla
intermedia para relacionar ambas tablas y luego la relaci/n 0ue pasan a tener las dos
tablas originales con la recin creada es de uno a muchos, respecti!amente. Adems, en
este caso, es recomendable fijar las opciones de actuali5aci/n y borrado a Ren cascadaS.
Figura $.!2. %iagrama de relaciones final
0# E)ercicios propuestos#
B.*eali5ar la creaci/n de la tabla ;eneros con los tipos de columna y las filas 0ue
aparecen en las figuras C.% y C.D
Tutorial de OpenOffice.org Base !
Unidad 4. Relaciones entre tablas
%.*eali5ar la creaci/n de la tabla Protagonistas con los tipos de columna y las filas 0ue
aparecen en las figuras C.BI y C.B3
D.Establecer las relaciones 0ue aparecen en la ,igura C.%2.
Tutorial de OpenOffice.org Base "
Unidad 5. Consultas siples
!nidad 1# Consultas simples
En este tema, en primer lugar, !amos a !er 0u es una consulta y para 0u se utili5a.
En el segundo punto !eremos c/mo reali5ar una consulta bsica utili5ando el asistente.
Por Eltimo, !eremos c/mo reali5ar una consulta sobre !arias tablas combinando el
asistente con el modo ?iseLo.
Puedes !er el !ideo$tutorial de creaci/n de consultas utili5ando el asistente en la pgina
personal del autor#
http#//0uercusseg.uneK.es/al!aro/tutorial/-aseQ!idQ2&Q!B.htm
"# Consultas
Las consultas son objetos 0ue !amos a utili5ar para !isuali5ar parte de la informaci/n
contenida en nuestras bases de datos desde una perspecti!a ms detallada y ms adaptada
a las necesidades concretas a una situaci/n puntual, en contraposici/n al contenido total
de las tablas de nuestra base de datos.
9e pueden reali5ar sobre una o !arias tablas relacionadas y el resultado 0ue de!uel!en se
muestran tambin en forma de tabla.
Las consultas son muy Etiles a la hora de construir formularios y, sobre todo, informes,
como ya !eremos en pr/Kimas unidades.
En 77o -ase las consultas se pueden crear en modo ?iseLo, utili5ando el asistente o
utili5ando 9GL. 9GL es el lenguaje estndar de creaci/n y manipulaci/n de bases de
datos pero su aprendi5aje 0ueda fuera de los objeti!os de este curso, por lo 0ue nosotros
!amos a aprender a reali5ar consultas, primero, de forma bsica, utili5ando el asistente y,
luego, ms complejas, en modo ?iseLo.
&# Creacin de consultas sobre una tabla utili2ando el
asistente
4amos a comen5ar reali5ando una consulta 0ue nos de!uel!a de la tabla +nterpretes "!er
,igura &.B ', 0ue recordamos conten(a intrpretes de distintas nacionalidades "!er ,igura
&.%', el nombre, los apellidos y la nacionalidad de los 0ue no son espaLoles. Para ello,
teniendo seleccionada la secci/n RonsultasS, nos situamos sobre el apartado de tareas y
elegimos R@sar el asistente para crear consultaVS. =os aparece entonces la primera
!entana del asistente donde debemos elegir 0u campos 0ueremos 0ue se muestren, y
seleccionamos entonces los campos =ombre, Apellidos,y =acionalidad de la tabla
+nterpretes "!er ,igura &.D'.
Figura '.1. %ise"o de la tabla 3nterpretes
Tutorial de OpenOffice.org Base #
Unidad 5. Consultas siples
Figura '.!. Contenido de la tabla 3nterpretes
Figura '.#. Seleccin de campos a mostrar en la consulta
A continuaci/n, podemos elegir si 0ueremos 0ue se muestren ordenados en funci/n de los
!alores de uno o !arios campos. =osotros !amos a seleccionar 0ue se ordenen
alfabticamente por los apellidos del intrprete como aparece reflejado en la ,igura &.C.
Figura '.$. Criterios de ordenacin del resultado de la consulta.
Tutorial de OpenOffice.org Base $
Unidad 5. Consultas siples
En el siguiente paso podemos elegir si 0ueremos indicar uno o !arios criterios de
bEs0uedaU es decir, si 0ueremos 0ue las filas 0ue se muestren cumplan alguna condici/n
en particular. omo en nuestro caso el objeti!o es mostrar s/lo los intrpretes no
espaLoles, debemos indicar 0ue para el campo =acionalidad no deseamos a0uellos 0ue
contengan el !alor REspaLolS "!er ,igura &.&'.
Figura '.'. Criterios de b:s&ueda de la consulta.
A continuaci/n, podemos elegir con 0u nombre "alias', se mostrarn las cabeceras de las
columnas de los campos 0ue hemos elegido al mostrar el resultado de la consulta. En este
caso, como los nombres de los campos son bastante claros simplemente les 0uitamos el
nombre de la tabla 0ue figura delante del nombre "!er ,igura &.I'.
Figura '.*. @ombre de las cabeceras de columnas al presentar datos
Tutorial de OpenOffice.org Base %
Unidad 5. Consultas siples
Para finali5ar, en la Eltima !entana "!er ,igura &.3' 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, onsultaQ+nterpretes. Adems podemos elegir si al finali5ar
0ueremos 0ue se muestre el resultado de la consulta o se abra la consulta en modo ?iseLo
para afinar y detallar mejor la consulta. =osotros !amos a elegir 0ue muestre el resultado
ya 0ue el modo ?iseLo lo !eremos en el siguiente apartado y en la pr/Kima unidad.
Figura '.+. Resumen de la consulta y nombre de la consulta
9e muestra entonces el resultado de la consulta "!er ,igura &.J' donde podemos
comprobar 0u intrpretes tenemos almacenados 0ue no son espaLoles.
Figura './. Resultado de Consulta>3nterpretes
@na !e5 cerramos la consulta, esta ya 0ueda almacenada en la secci/n consultas y
podemos hacer uso de ella en cual0uier momento.
Tutorial de OpenOffice.org Base !&
Unidad 5. Consultas siples
*# Creacin de consultas sobre varias tablas combinando el
asistente con el modo Dise3o
Ahora !amos a reali5ar una consulta 0ue nos muestre las pel(culas junto con el nombre
del gnero al 0ue pertenecen. ;racias a esta consulta !amos a empe5ar a comprobar el
gran potencial 0ue tiene guardar la informaci/n distribuida en !arias tablas estableciendo
relaciones entre ellas.
Para reali5ar esta consulta primero !amos a utili5ar el asistente para conseguir un primer
RborradorS de la consulta 0ue 0ueremos reali5ar para, finalmente, acabar de concretarla en
modo ?iseLo. Por tanto, empe5amos de nue!o yendo a la secci/n tareas del tipo de objeto
consulta y elegimos R@sar el asistente para crear consultaVS.
Ahora, en la !entana inicial del asistente, elegimos los campos Titulo, ?irector, ALo y
,ormato de la tabla Peliculas "!er ,igura &.6'
Figura '.0. Seleccin de campo de tabla Peliculas
En la siguiente !entana ",igura &.B2' !amos a indicar 0ue 0ueremos 0ue el resultado se
ordene, en primer lugar, en funci/n del campo ?irector, y, en caso de coincidir el director
entre distintas pel(culas, en funci/n del campo Titulo.
Tutorial de OpenOffice.org Base !1
Unidad 5. Consultas siples
Figura '.12. Criterios de ordenacin para la consulta
En esta consulta no !amos a poner ninguna condici/n por la 0ue filtrar los datos, por lo
0ue nos !amos directamente a la !entana RAliasS ",igura &.BB', donde !amos a
apro!echar para Rma0uillarS 0ue el campo Titulo no tu!iera tilde al crear dicho campo y
ahora s( se la incluimos. Adems, para 0ue el campo ALo 0uede ms concreto lo !amos a
presentar como ,echa de estreno.
Antes de finali5ar con el asistente, en la !entana R+nformaci/n generalS del mismo,
debemos incluir el nombre de la consulta, 0ue en este caso !a a ser
onsultaQPeliculasQ;eneros, y !amos a indicar tambin 0ue no 0ueremos 0ue se muestre
el resultado de la consulta, sino 0ue 0ueremos seguir trabajando con ella en modo ?iseLo.
Para esto Eltimo debemos acti!ar la casilla R.odificar consultaS en dicha !entana "!er
,igura &.B%'.
Figura '.11. 1odificacin de los alias de los campos
Tutorial de OpenOffice.org Base !2
Unidad 5. Consultas siples
Figura '.1!. @ombre de la consulta e indicacin de seguir modific.ndola
=os debe aparecer entonces una !entana como la de la ,igura &.BD. 0ue es la !entana 0ue
permite crear consultas en modo ?iseLo. El entorno de trabajo en modo ?iseLo lo !amos
a !er con ms detenimiento en la siguiente unidad y en esta s/lo nos !amos a centrar en
los elementos espec(ficos para conseguir la consulta 0ue 0ueremos reali5ar. En primer
lugar, podemos !er 0ue la !entana aparece di!idida en dos partes bien diferenciadas# una
0ue contiene la tablas 0ue estamos utili5ando en la consulta y otra con los campos 0ue ya
hab(amos seleccionado en el asistente junto con una serie de opciones 0ue podemos
indicar para cada uno de ellos. As(, podemos !er 0ue aparecen los campos Titulo,
?irector, ALo y ,ormato junto con los alias 0ue indicamos en el asistente y la opci/n de
0ue se ordene la consulta en funci/n del campo ?irector.
Figura '.1#. 6entana de dise"o de consultas
Tutorial de OpenOffice.org Base !3
Unidad 5. Consultas siples
Algo 0ue seguro nos ha llamado la atenci/n es por 0u aparece el campo Titulo dos !eces.
La respuesta es 0ue, debido a 0ue en el orden en 0ue 0ueremos 0ue se muestren los
campos es# primero el campo Titulo, y luego el ?irector, y en el asistente hemos indicado
0ue primero 0ueremos la ordenaci/n en funci/n del nombre del director, y, en caso de
repetirse dicho nombre, ordenar por el t(tulo de la pel(cula. La Enica forma de indicar esto
es poniendo de nue!o el campo Titulo detrs de los otros cuatro, indicando 0ue se ordene
de manera ascendente pero desmarcando la casilla R4isibleS para 0ue no apare5ca dos
!eces este campo en el resultado de la consulta.
:a hemos !isto entonces 0ue en el modo ?iseLo nos aparecen los campos de Peliculas
0ue deseamos pero aEn no hemos hecho nada para !er el nombre del gnero de la
pel(cula. omo el nombre del gnero es un campo de la tabla ;eneros lo primero 0ue
tenemos 0ue hacer es indicar 0ue 0ueremos incluir dicha tabla en la consulta. Para ello,
debemos seleccionar el icono RALadir tablasS "!er ,igura &.BC', 0ue es el primero por la
i50uierda de los iconos de la fila inferior y elegir la tabla ;eneros.
Figura '.1$. ("adir tablas a una consulta
Podemos obser!ar 0ue automticamente 77o -ase detecta 0ue estas dos tablas estn
relacionadas. FGu hubiera pasado si no hubieramos indicado en la unidad anterior 0ue
eKiste una relaci/nH Pues lo mismo 0ue si hubieramos intentado elegir los campos de
ambas tablas directamente en el asistente, 0ue la respuesta a la consulta "!er ,igura &.B&'
hubiera sido 0ue cada fila de la primera tabla aparecer(a unida a cada una de las filas de la
otra tabla sin ningEn criterio, es decir, en nuestro caso tendr(amos 62 filas "resultado del
producto cartesiano de B2 filas de Peliculas por 6 0ue tenemos en ;eneros' de las cuales
J2 no significan nada. Pero al haber indicado 0ue eKiste la relaci/n y detectarse en el
modo ?iseLo conseguimos, sin necesidad de indicarlo eKpl(citamente, 0ue a la hora de
mostrar todas las filas de Peliculas y ;eneros, s/lo nos muestre a0uellas donde el !alor
para el campo por el 0ue estn relacionadas ";enero e +dQgenero respecti!amente' sea el
mismo, es decir, 0ue s/lo nos muestre juntas las filas de ambas tablas 0ue realmente estn
relacionadas.
Tutorial de OpenOffice.org Base !
Unidad 5. Consultas siples
Figura '.1'. Parte del resultado de consultar 9eneros y Peliculas sin indicar &ue est.n relacionadas
@na !e5 hemos aLadido la tabla ;eneros, elegimos 0u campos 0ueremos mostrar de ella.
En este caso, nos basta con el campo =ombre "!er ,igura &.BI'
Figura '.1*. ("adimos campos de segunda tabla
@na !e5 0ue hemos elegido el campo, no debemos ol!idar comprobar 0ue la opci/n
R4isibleS est marcada para 0ue se muestre este campo en el resultado de la consulta "!er
,igura &.B3'.
Tutorial de OpenOffice.org Base !!
Unidad 5. Consultas siples
Figura '.1+. Opcin visible del campo a"adido marcada
En la opci/n RAliasS del campo =ombre de la tabla ;eneros !amos a mostrar la palabra
R;neroS para 0ue cual0uier usuario entienda mejor lo 0ue mostrar esta columna "!er
,igura &.BJ'.
Figura '.1/. Cambio de (lias del campo @ombre de 9eneros
?entro del modo ?iseLo podemos comprobar si la consulta de!uel!e lo 0ue 0ueremos sin
necesidad de cerrar esta !entana y lan5ar la consulta desde el menE principal. Para ello,
basta con seleccionar el icono de ejecuci/n de la consulta 0ue se encuentra situado el
segundo por la derecha en la fila de iconos superiores. As(, nos aparece entonces en la
parte superior de la !entana el resultado de la consulta "!er ,igura &.B6'.
Tutorial de OpenOffice.org Base !"
Unidad 5. Consultas siples
Figura '.10. Resultado de la consulta dentro del modo %ise"o
9i estamos conformes con el resultado, guardamos la consulta y podemos !er en la
!entana principal "!er ,igura &.%2' 0ue las dos consultas de esta unidad aparecen ya
almacenadas.
Figura '.!2. Consultas disponibles
Tutorial de OpenOffice.org Base !#
Unidad 5. Consultas siples
0# E)ercicios propuestos
B.rear la consulta onsultaQ+nterpretes del segundo apartado de esta unidad.
%.rear la consulta onsultaQPeliculasQ;eneros del tercer apartado de esta unidad.
Tutorial de OpenOffice.org Base !$
Unidad !. Consultas a"an#adas y "istas
!nidad 4# Consultas avan2adas y vistas
En esta unidad, en primer lugar !amos a !er el entorno de trabajo en !ista ?iseLo para
creaci/n de consultas.
A continuaci/n, !amos a crear una consulta 0ue incluye todas las tablas de nuestra base
de datos.
?espus, !eremos un ejemplo de c/mo utili5ar funciones dentro de una consulta.
Por Eltimo, !eremos 0u son las !istas y para 0u se utili5an.
Puedes !er el !ideo$tutorial de creaci/n de consultas en !ista diseLo en la pgina personal
del autor#
http#//0uercusseg.uneK.es/al!aro/tutorial/-aseQ!idQ2IQ!%.htm
"# Entorno de traba)o en vista Dise3o
En la unidad anterior ya trabajamos en modo ?iseLo "!er ,igura I.B', pero ahora !amos a
!er en detalle todos los elementos de esta forma de reali5ar consultas.
Primero, podemos obser!ar 0ue la !ista ?iseLo est di!idida hori5ontalemente 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.
,igura I.B. 4entana de creaci/n de consultas en modo ?iseLo
Los botones espec(ficos para consultas de la barra de herramientas 0ue tenemos
disponibles son#
.odo ?iseLo# acti!ar/desacti!ar el modo ?iseLo.
Tutorial de OpenOffice.org Base !%
Unidad !. Consultas a"an#adas y "istas
Ejecutar# muestra el resultado de la consulta sin necesidad de salir del modo de
edici/n. <ay 0ue tener en cuenta 0ue no guarda la consulta.
-orrar# borra la consulta y 0uita todas las tablas de la !ista ?iseLo.
ALadir tablas# permite agregar ms tablas a la consulta.
,unciones# acti!a/desacti!a la posibilidad de asociar funciones a los campos.
Tabla# acti!a/desacti!a en la !entana inferior la fila donde se muestra el
nombre de la tabla a la 0ue pertenece el campo.
Alias# acti!a/desacti!a en la !entana inferior la fila donde se puede introducir
el alias de un campo.
4alores un(!ocos# si se acti!a, a0uellas filas 0ue aparecen repetidas !arias
!eces en el resultado de una consulta s/lo se mostrar(an una !e5. Por ejemplo, si
hicieramos una consulta 0ue de!uel!a los gneros de nuestras pel(culas, la fila con
el !alor Riencia$,icci/nS aparecer(a !arias !eces a menos 0ue acti!aramos esta
casilla y ya s/lo aparecer(a una !e5.
En cuanto a los campos y sus distintas opciones tenemos#
ampo# muestra los nombres de los campos 0ue se desean !isuali5ar. En el caso
de 0uerer mostrar todos los campos de una tabla, tenemos la posibilidad de poner
R=ombre de tabla.ZS en lugar de poner uno a uno cada uno de los campos.
Alias# el !alor 0ue se escriba se mostrar en la cabecera de la columna de
resultados en lugar del nombre del campo 0ue tiene la tabla.
Tabla# muestra la tabla a la 0ue pertenece al campo.
7rden# podemos elegir entre ordenar los resultados por los !alores de ese campo
de forma ascendente o descendente.
4isible# si 0ueremos 0ue se muestre ese campo en el resultado estar marcada. Los
campos con esta opci/n desmarcada se utili5an para fijar condiciones de filtrado
de los resultados.
,unci/n# permiten reali5ar distintas operaciones sobre los resultados. <ay 0ue
tener en cuenta 0ue, una !e5 0ue a un campo se le incluye alguna funci/n, el resto
de los campos tambin deben lle!ar asociada alguna de las funciones disponibles.
oncretamente, 77o -ase ofrece las siguientes funciones#
Agrupar# permite agrupar los resultados a mostrar en funci/n de uno o
!arios campos.
antidad# de!uel!e el nEmero total de filas de!ueltas 0ue contengan algEn
!alor para ese campo.
Promedio# para campos de tipo nEmerico de!uel!e la media de los
resultados para ese campo.
9uma# para campos de tipo nEmerico de!uel!e la suma de los resultados
para ese campo.
Tutorial de OpenOffice.org Base "&
Unidad !. Consultas a"an#adas y "istas
.Kimo# para campos de tipo nEmerico de!uel!e el !alor mKimo de los
resultados para ese campo.
.(nimo# para campos de tipo nEmerico de!uel!e el m(nimo de los
resultados para ese campo.
riterio# Especifica criterios de filtro "0ue un campo contenga un !alor mayor,
menor, igual, etc..' para el campo. 9e pueden incluir !arios criterios de filtrado
para un campo utili5ando las filas RoS. ?ebido al espacio limitado de cada unidad
de este curso, se recomienda, a a0uellos alumnos 0ue 0uieran ms informaci/n
acerca de los criterios de filtrado, eKaminar el apartado de la Ayuda de
7pen7ffice.org llamada R?iseLar consultaS donde en el apartado R,ormular
condiciones de filtradoS aparecen eKplicadas al detalle.
&# Creacin en vista Dise3o de consulta sobre varias tablas
4amos a crear nuestra primera consulta completamente en !ista ?iseLo. En particular,
!amos a crear una consulta 0ue nos muestre todos los actores 0ue protagoni5an pel(culas
junto con los datos de la pel(cula, incluido el nombre del gnero. Es decir, !amos a
construir una consulta 0ue utili5a las cuatro tablas de nuestra base de datos.
Para empe5ar, nos !amos a la !entana principal de 77o -ase, a la secci/n RonsultasS y
seleccionamos la tarea Rrear consulta en !ista ?iseLoVS.
=ada ms entrar en el modo ?iseLo, nos mostrar una !entana donde indicar las tablas
0ue 0ueremos incluir en la consulta 0ue se !a a crear. En nuestro caso, !amos a aLadir las
cuatro disponibles y !eremos como 77o -ase nos muestra las relaciones eKistentes
automticamente "!er ,igura I.%'.
Figura *.!. Seleccin de tablas de la consulta
Los primeros cuatro campos 0ue !amos a incluir son los de la tabla +nterpretes como se
muestra en la ,igura I.D.
Tutorial de OpenOffice.org Base "1
Unidad !. Consultas a"an#adas y "istas
Figura *.#. 3nclusin de campos de la tabla 3nterpretes
A continuaci/n !amos a especificar 0ue 0ueremos 0ue los resultados de la consulta se
muestren ordenados por los apellidos y el nombre de los intrpretes "!er ,igura I.C'.
Figura *.$. Ordenacin de resultados por apellidos y nombre
Para incluir los campos de la tabla Peliculas !amos a seleccionar RPeliculas#ZS y as( no
tenemos 0ue incluir los campos uno a uno "!er ,igura I.&'.
Tutorial de OpenOffice.org Base "2
Unidad !. Consultas a"an#adas y "istas
Figura *.'. 3nclusin de todos los campos de la tabla 3nterpretes
Para seleccionar los campos de la tabla +nterpretes no hemos utili5ado la posibilidad
R+nterpretes.ZS por0ue es necesario seleccionar cada campo indi!idualmente, ya 0ue
!amos a establecer algEn criterio de ordenaci/n en funci/n de alguno de los campos de la
tabla. omo en nuestro caso !amos a mostrar los resultados ordenados en funci/n de los
apellidos y el nombre de los intrpretes "!er ,igura I.C' necesitamos seleccionar uno a
uno cada campo de +nterpretes.
Para terminar, !amos a seleccionar el campo =ombre de la tabla ;eneros y, en el alias,
!amos a poner R=ombre;eneroS, para distinguirlo de los campos ya seleccionados,
=ombre de la tabla +nterpretes y ;enero de la tabla Peliculas. "!er ,igura I.I.'.
Tutorial de OpenOffice.org Base "3
Unidad !. Consultas a"an#adas y "istas
Figura *.*. 3nclusin del campo @ombre de 9eneros
9al!amos la consulta como RonsultaTotalS y al ejecutarla el resultado es el de la ,igura
I.3.
Figura *.+. Resultado de la consulta Consulta<otal
*# Creacin de consultas 5ue incluyen funciones
4amos a crear una consulta 0ue reali5a operaciones sobre los resultados. As(, !amos a
crear una consulta 0ue muestre el nombre de cada gnero almacenado y el total de
pel(culas 0ue tenemos de cada gnero. Es decir, el objeti!o es reali5ar una consulta sobre
;eneros y Peliculas de manera 0ue agrupemos las filas de!ueltas en funci/n de cada
gnero para as( poder contarlas y poder saber el nEmero de pel(culas asociadas a cada uno
de ellos. El resultado de nuestra consulta, con las filas 0ue tenemos actualmente en
;eneros y Peliculas, debe ser como el de la ,igura I.J.
Figura *./ 9eneros y total de pel?culas de cada gnero
Para empe5ar, elegimos las tablas sobre las 0ue !amos a reali5ar la consulta, ;eneros y
Peliculas "!er ,igura I.6'.
Tutorial de OpenOffice.org Base "
Unidad !. Consultas a"an#adas y "istas
Figura *.0. <ablas de la consulta
Los campos 0ue necesitamos son, por una lado =ombre de ;eneros, 0ue es sobre el 0ue
agruparemos los resultados de!ueltos y, por otro, un campo de la tabla Peliculas 0ue
estemos seguros 0ue siempre tendr un !alor "no estar !ac(o' para cada fila de Peliculas.
Por ejemplo, podemos elegir el campo +dQpelicula 0ue siempre !a a tener !alor para cada
pel(cula. Los campos seleccionados se muestran en la figura I.B2.
Figura *.12. Campos seleccionados de ambas tablas
Tutorial de OpenOffice.org Base "!
Unidad !. Consultas a"an#adas y "istas
A continuaci/n, debemos asociar la funci/n correspondiente a cada uno de los dos
campos. En primer lugar, hemos dicho 0ue 0ueremos agrupar los resultados en funci/n de
cada gnero, para ello !amos a incluirle la funci/n RAgruparS asociada al campo =ombre
de ;eneros. :, en segundo lugar, lo 0ue 0ueremos es contar las pel(culas relacionadas con
cada gnero. Esto Eltimo lo conseguimos asociando la funci/n RantidadS al campo
+dQpelicula de Peliculas "!er ,igura I.BB'.
Figura *.11. 3nclusin de funciones necesarias en cada campo
;uardamos entonces la consulta como RPeliculas de cada ;eneroS y al lan5arla nos
encontramos una pantalla como la de la ,igura I.B%.
Figura *.1!. Resultado de la consulta Peliculas de cada 9enero
omo !emos, la cabecera con el total de pel(culas est mostrando la funci/n 0ue estamos
utili5ando junto con el nombre del campo. 9i 0ueremos 0ue el resultado apare5ca como el
0ue mostrabamos en la ,igura I.J., es decir, con una cabecera significati!a, debemos
aLadir el alias RTotal de PeliculasS "!er ,igura I.BD'.
Tutorial de OpenOffice.org Base ""
Unidad !. Consultas a"an#adas y "istas
Figura *.1#. 3nclusin de alias para el total de pel?culas
0# 6istas# Consultas sobre vistas
Las !istas son un tipo especial de consultas almacenadas 0ue, a ni!el de bases de datos, se
tratan como una tabla ms. Es decir, hasta ahora hemos !isto 0ue s/lo podemos reali5ar
consultas sobre nuestras tablas de la base de datos pero F0u ocurre si necesitamos
reali5ar una consulta no sobre una tabla sino sobre los resultados de otra consultaH La
respuesta es 0ue debemos con!ertir la consulta en una !ista para 0ue se pueda manejar
como si de una tabla se tratara.
Para !er las beneficios de usar !istas, !amos a reali5ar una consulta 0ue nos de!uel!a el
!alor medio de las pel(culas asociadas a cada gnero. Esta consulta no se puede reali5ar
directamente sobre las tablas ;eneros y Peliculas sino sobre la consulta Peliculas de cada
;enero una !e5 con!ertida en !ista.
Para con!ertir una consulta en una !ista nos situamos en la !entana principal de 77o
-ase en la secci/n RonsultasS y seleccionamos la consulta 0ue 0ueramos con!ertir con
el bot/n derecho del rat/n. ?el menE 0ue se despliega seleccionamos la opci/n Rrear
como !istaS "!er ,igura I.BC'.
Tutorial de OpenOffice.org Base "#
Unidad !. Consultas a"an#adas y "istas
Figura *.1$. Convertir una consulta en una vista
Figura *.1'. 6ista creada en la seccin <ablas
9e nos despliega entonces una !entana donde tenemos 0ue poner un nombre a la !ista,
escribimos RPeliculasada;eneroS y aceptamos. :a hemos con!ertido la consulta en una
!ista y podemos !er 0ue ya es as( si nos situamos en la secci/n RTablasS de la !entana
principal "!er ,igura I.B&'. Podemos obser!ar 0ue se usa un icono distinto para
representar !istas y distinguirlas de las tablas.
Tutorial de OpenOffice.org Base "$
Unidad !. Consultas a"an#adas y "istas
@na !e5 0ue ya tenemos la !ista, !amos a crear una consulta sobre ella. Para empe5ar,
!emos 0ue al entrar en !ista ?iseLo para crear una nue!a consulta ya nos aparece
Peliculasada;enero como si de una tabla ms se tratara y la elegimos como Enica tabla
de la consulta "!er ,igura I.BI'.
Figura *.1*. 3nclusin de la vista PeliculasCada9enero en la consulta a crear
omo s/lo 0ueremos 0ue nos de!uel!a el !alor medio de las pel(culas de cada gnero
seleccionamos el campo Total de Peliculas y le asociamos la funci/n RPromedioS junto
con el alias R.edia de cada gneroS "!er ,igura I.B3'.
Figura *.1+. 3nclusin del valor medio del campo <otal de Peliculas
Tutorial de OpenOffice.org Base "%
Unidad !. Consultas a"an#adas y "istas
Para !er 0ue la consulta hace lo 0ue esperamos en la propia !ista ?iseLo "!er ,igura
I.BJ', la lan5amos antes de guardarla utili5ando el bot/n REjecutarS y, si de!uel!e el !alor
esperado, ya hemos terminado.
Figura *.1/. Resultado del valor medio de pel?culas por cada gnero
1# E)ercicios propuestos
B.rear la consulta RonsultaTotalS del apartado %.
%.rear la consulta RPeliculas de cada ;eneroS del apartado D.
D.rear la !ista RPeliculasada;eneroS del apartado C.
C.rear una consulta 0ue de!uel!a la media del nEmero de pel(culas de cada gnero.
Tutorial de OpenOffice.org Base #&
Unidad $. %orularios b&sicos
!nidad 7# Formularios b8sicos
En esta unidad, en primer lugar !amos a !er 0u es un formulario y para 0u se utili5a.
En el segundo punto !eremos el entorno de creaci/n de formularios.
Por Eltimo, !eremos c/mo crear un formulario bsico.
Puedes !er el !ideo$tutorial de creaci/n de un formulario en la pgina personal del autor#
http#//0uercusseg.uneK.es/al!aro/tutorial/-aseQ!idQ23Q!B.htm
"# Formularios
Los formularios son un tipo de objeto 0ue !an a permitir la introducci/n de datos en las
tablas de una forma ms sencilla y ms limpia. En !e5 de introducir los datos
directamente sobre la tabla, los datos se introducen en la tabla a tra!s de los formularios.
En una base de datos se puede crear ms de un formulario basado en una misma tabla. @n
formulario puede tomar !arios campos de una tabla o todosU incluso puede tomar campos
de diferentes tablas o consultas.
Las tablas almacenan la informaci/n, los formularios se encargan de recogerla. Las tablas
deben estar cerradas para 0ue las tablas puedan incluir los datos de los formularios. Al
cerrar o guardar los formularios, las tablas se actuali5an. Todos estos conceptos los
trataremos en las siguientes secciones.
&# Entorno de creacin de un formulario
Para crear un formulario nos !amos a encontrar dos posibilidades dentro del apartado de
tareas disponibles en la secci/n formularios de 77o -ase ",igura 3.B'#
reaci/n de formularios en !ista ?iseLo# seleccionando esta opci/n se puede crear
un formulario totalmente personali5ado.
@sar el asistente para crear formulario# crea automticamente un formulario con
los campos 0ue el usuario seleccione. on este asistente se pueden crear
formularios de formatos muy distintos.
Tutorial de OpenOffice.org Base #1
Unidad $. %orularios b&sicos
Figura +.1. Seccin de formularios en OOo 5ase
=osotros !amos a crear formularios en la !ista ?iseLo por0ue nos permite configurarlos
con ms detalles. Para ello nos !amos a la secci/n RTareasS dentro de formularios y
pulsamos sobre Rrear formulario en !ista ?iseLoVS. =os aparece entonces la !entana
de diseLo de formularios "!er ,igura 3.%'.

Figura +.!. 6entana de creacin de fomularios
Antes de empe5ar a diseLar nuestro formulario necesitamos conocer los distintos tipos de
controles de 0ue !amos a disponer y para 0u sir!en.
Tutorial de OpenOffice.org Base #2
Unidad $. %orularios b&sicos
!.1 Controles de formularios
Toda la informaci/n de un formulario est contenida en los controles. Los controles son
objetos de un formulario 0ue muestran datos, reali5an acciones o decoran el formulario.
Los controles pueden ser dependientes, independientes o calculados#
ontrol dependiente# est unido a un campo de una tabla o consulta. Los controles
dependientes se utili5an para mostrar, introducir y actuali5ar !alores de los
campos de la base de datos.
ontrol independiente# no tiene un origen en una tabla o consulta. Los controles
independientes se pueden utili5ar para mostrar informaci/n, l(neas, rectngulos e
imgenes, independientemente de 0ue estos eKistan en la tabla creada de
antemano.
ontrol calculado# el origen de los datos es una eKpresi/n, no un campo. @na
eKpresi/n es una combinaci/n de operadores "[,\,$,Z y /', nombres de controles,
nombres de campos, funciones 0ue de!uel!en un solo !alor y !alores constantes.
La eKpresi/n 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 0ue aparecen resaltadas en la ,igura 3.%U por un lado, la barra R?iseLo de
,ormulariosS y, por otro, la barra Rampos de control de formularioS. 9i esta Eltima barra
no nos apareciera por cual0uier moti!o, se puede acceder a ella a tra!s del menE R4erS,
eligiendo la opci/n R-arra de <erramientasS y acti!ando la casilla Rampos de control de
formularioS.
Antes de conocer los controles ms importantes de ambas barras es recomendable, para
hacer ms comodo el diseLo de formularios, incrustar la barra Rampo de ontrolVS con
el resto de barras de herramientasU para ello, basta con hacer doble clic con el rat/n sobre
la cabecera de esta barra y la !entana de diseLo de formularios nos 0uedar como aparece
en la ,igura 3.D.

Figura +.#. 5arra 7Campos de control de formularios8 incrustada
Tutorial de OpenOffice.org Base #3
Unidad $. %orularios b&sicos
En esta Eltima barra, por defecto, no aparecen todos los controles disponiblesU si
0ueremos 0ue apare5can todos, debemos pulsar el icono 0ue abre la barra de herramientas
R.s campos de controlS "!er ,igura 3.D' y nuestra !entana de trabajo deber(a 0uedar
como la 0ue aparece en la ,igura 3.C.

Figura +.$. 6entana de edicin de formularios con todas las barras de )erramientas necesarias
Los campos de control ms importantes son los siguientes#
.odo ?iseLo# acti!a y desacti!a el modo ?iseLo. =os permite alternar entre el
modo de @suario "introducci/n de datos a tra!s de los campos' y el modo ?iseLo
"edici/n de los campos de control'.
=a!egador de formulario# muestra todos los formularios y subformularios del
documento actual con sus respecti!os campos de control.
Abrir en modo diseLo# si est acti!o, el formulario siempre se abre en modo
?iseLo.
asilla de !erificaci/n# para !alores 9(/=o. 9e puede utili5ar dentro de un
grupo de opciones.
ampo de teKto# sir!e para mostrar o introducir datos.
ampo formateado# es un cuadro de teKto en el 0ue se define el formato de las
entradas y salidas, as( como los !alores limitadores 0ue las afectan.
-ot/n de comando# inserta un bot/n 0ue al ser pulsado ejecuta instrucciones.
ampo de opci/n# permiten al usuario elegir entre di!ersas opciones.
uadro de lista# permite seleccionar un elemento de una lista.
Tutorial de OpenOffice.org Base #
Unidad $. %orularios b&sicos
uadro combinado# permite seleccionar un elemento de una lista o escribir el
dato directamente.
ampo de !isuali5aci/n de teKto# sir!en para mostrar teKto predefinido.
Tambin se le conoce como campo eti0ueta.
Asistente# especifica si se debe o no acti!ar el asistente al insertar un campo de
control nue!o. Estos asistentes ayudan a introducir las propiedades de los cuadros
de listas, los campos de control de tablas y otros campos de control.
uadro de grupo# sir!e para crear marcos donde agrupar campos de control.
ontrol de tablas# se utili5a para crear un campo de control con una tabla de la
base de datos.
,uente de datos# enumera las tablas y consultas de la base de datos desde las
0ue estamos creando el fomulario y permite !er su contenido en la barra de
herramientas. Es muy Etil para conocer cules !an a ser las tablas en las 0ue se
insertarn los datos a tra!s del formulario 0ue !amos a crear.
*# Creacin de un formulario b8sico#
El primer fomulario 0ue !amos a crear en !ista ?iseLo es uno para la tabla +nterpretes 0ue
nos !a a permitir introducir los intrpretes de una pel(cula.
Lo primero 0ue !amos a hacer dentro de la !entana de edici/n de formularios ",igura 3.C'
es indicar c/mo se !a a llamar el formulario y con 0u tabla !a a estar conectado. Para
ello, pulsamos sobre el icono R=a!egador de formularioS y hacemos clic con el bot/n
derecho sobre el campo R,ormularioS, elegimos la opci/n R=ue!oS y, dentro de sta,
R,ormularioS "!er ,igura 3.&'.

Figura +.'. Creacin de nuevo formulario
Tutorial de OpenOffice.org Base #!
Unidad $. %orularios b&sicos
Por defecto, al nue!o formulario lo llama 9tandard pero nosotros lo !amos a renombrar
como ,ormQ+nterpretes ",igura 3.I'.

Figura +.* Creacin de Form>3nterpretes
Para indicar 0ue el formulario !a a estar conectado con la tabla +nterpretes hacemos clic
con el bot/n derecho del rat/n en el na!egador de formulario sobre ,ormQ+nterpretes y
elegimos RPropiedadesS ",igura 3.3'.

Figura +.+. Eleccin de propiedades del formulario creado
En el cuadro resultante, !amos a la ficha R?atosS, y seleccionamos dentro RontenidoS.
Abrimos el menE desplegable y seleccionamos la tabla sobre la 0ue !amos a contruir el
formulario, en nuestro caso +nterpretes ",igura 3.J'.

Tutorial de OpenOffice.org Base #"
Unidad $. %orularios b&sicos
Figura +./. Eleccion de tabla 3nterpretes
erramos las !entanas RPropiedades del formularioS y R=a!egador de formularioS y,
antes de continuar, guardamos el formulario pulsando en la pestaLa RArchi!oS y dentro
R;uardarS, y tambin a0u( le nombramos como ,ormQ+nterpretes ",igura 3.6'.

Figura +.0. 9uardado de Form>3nterpretes
Tutorial de OpenOffice.org Base ##
Unidad $. %orularios b&sicos
Ahora ya podemos continuar con la creaci/n del formulario. En primer lugar, !amos a
crear un campo de teKto. Para ello, seleccionamos Rampo de teKtoS de entre todos los
controles disponibles. 4eremos 0ue el cursor cambia de forma, y es cuando podemos
insertar dicho campo. Lle!amos el cursor a la posici/n de la 5ona de trabajo y lo
arrastramos hasta 0ue el campo de teKto alcance el tamaLo deseado "!er ,igura 3.B2'.

Figura +.12. 3nclusin de un campo de teAto
Ahora tenemos 0ue dar unas propiedades al campo de teKto y asignarle la tabla en la 0ue
se insertarn los datos introducidos desde este formulario. 9eleccionamos dicho cuadro
con el bot/n derecho y nos sale un cuadro emergente, y dentro de l escogemos Rampo
de ontrolS "!er ,igura 3.BB'.

Figura +.11. Propiedades del campo de control
En el cuadro resultante, !amos a la ficha R?atosS, y seleccionamos dentro de Rampo de
datosS el nombre del campo al cual se !a a enla5ar, en este caso, al campo +dQ+nterprete
"!er ,igura 3.B%'.

Tutorial de OpenOffice.org Base #$
Unidad $. %orularios b&sicos
Figura +.1!. Propiedad 7Campo de %atos8
?entro de esta misma !entana de propiedades del campo, nos !amos a la ficha R;eneralS
al campo R=ombreS y escribimos ampo+dQ+nterprete ",igura 3.BD'. @na buena prctica
es dar un nombre significati!o a cada campo 0ue creemos, sobre todo cuando tengamos
formularios con muchos campos. As(, podremos distinguir bien cada campo dentro de la
!entana R=a!egador de ,ormulariosS.

Figura +.1#. 3ndicacin de nombre del campo
?elante del campo de teKto creado !amos a poner un Rampo eti0uetaS "!er ,igura 3.BC'
para 0ue cual0uier usuario 0ue utilice el formulario cono5ca lo 0ue debe introducir.

Tutorial de OpenOffice.org Base #%
Unidad $. %orularios b&sicos
Figura +.1$. 3nclusin de campo eti&ueta
9i hacemos doble clic sobre la eti0ueta aparecer una !entana "!er ,igura 3.B&' donde
podremos indicar las diferentes propiedades de la eti0ueta "nombre 0ue aparecer en la
eti0ueta, color de fondo, tipo de letra, tamaLo, color,V'. El formato de los formularios
puede tener ms colorido y distintas fuentes de teKto pero el conocer y cambiar los
distintos formatos entra dentro de los contenidos del curso de 77o Priter y no de ste
por lo 0ue se remite al alumno a dicho curso para aprender ms sobre este tema.

Figura +.1'. Propiedades del Campo de Eti&ueta
?entro de estas propiedades !emos 0ue hay algunas 0ue nos abren una nue!a !entana
como, por ejemplo, la propiedad R,uenteS "4er ,igura 3.BI' donde podemos !ariar el
tamaLo y el tipo de la fuente del teKto.

Tutorial de OpenOffice.org Base $&
Unidad $. %orularios b&sicos
Figura +.1*. Propiedad Fuente del Campo de eti&ueta
@na !e5 0ue hemos cambiado las propiedades de la eti0ueta, nuestro formulario deber(a
parecerse al de la figura 3.B3.

Figura +.1+. Formulario tras cambio de propiedades de eti&ueta
9i repetimos los pasos reali5ados para el resto de los campos de la tabla +nterpretes
podr(amos obtener un formulario parecido al de la ,igura 3.BJ.

Tutorial de OpenOffice.org Base $1
Unidad $. %orularios b&sicos
Figura +.1/. Formulario Form>3nterpretes con todos los campos incluidos
9i sal!amos los cambios reali5ados y cerramos la !entana de edici/n de formularios, en la
!entana de objetos ya debe aparecer el formulario 0ue acabamos de crear ",igura 3.B6'.

Figura +.10. 6entana de ob4etos con nuevo formulario
9i 0ueremos reali5ar algEn cambio en el formato del formulario, pulsamos sobre el
formulario con el bot/n derecho del rat/n y elegimos la opci/n ]Editar^ ",igura 3.%2'.

Tutorial de OpenOffice.org Base $2
Unidad $. %orularios b&sicos
Figura +.!2. Editar formulario creado
En cambio, si lo 0ue 0ueremos es ejecutar el formulario para empe5ar a insertar datos "!er
,igura 3.%B' hacemos doble clic sobre l .

Figura +.!1. 6er e insertar datos en formulario
Para mo!ernos entre los diferentes registros y reali5ar distintas operaciones sobre ellos,
usaremos la barra R=a!egaci/n de ,ormulariosS 0ue nos aparece en la parte inferior
",igura 3.%B' en la 0ue destacan los siguientes elementos#
bEs0ueda de registros
despla5amiento entre registros
inserci/n de nue!o registro
guardar cambios registro
deshacer entrada de datos
eliminaci/n del registro actual.
0# E)ercicios propuestos
B.rear el formulario ,ormQ+nterpretes.
Tutorial de OpenOffice.org Base $3
Unidad '. %orularios a"an#ados
!nidad 9# Formularios avan2ados
En este tema, para empe5ar, !amos a crear un formulario con !arios campos de control de
distintos tipos.
A continuaci/n, !amos a crear un formulario 0ue contiene subformularios.
Puedes !er el !ideo$tutorial de creaci/n de un formulario con subformularios en la pgina
personal del autor#
http#//0uercusseg.uneK.es/al!aro/tutorial/-aseQ!idQ2JQ!%.htm
"# Creacin de formularios con m:ltiples tipos de campos
de control
En la unidad anterior creamos el formulario ,ormQ+nterpretes 0ue s/lo conten(a campos
de teKto, pero !imos 0ue eKist(an muchos ms campos de control disponibles. En este
apartado !amos a crear un formulario llamado ,ormQPeliculas en el 0ue !amos a incluir
ms !ariedad de campos.
El formulario ,ormQPeliculas !a a contener cuatro campos de teKto para las columnas
+dQpelicula, Titulo, ALo y ?irector. Para insertar estos campos, repetimos todos los pasos
0ue reali5amos en la unidad anterior hasta llegar a obtener un formulario 0ue contenga los
campos de teKto mencionados tal y como se muestran en la figura J.B.
Figura /.1 Form>Peliculas con cuatro campos de teAto
A partir de a0u( !amos a empe5ar a aLadir campos 0ue hasta ahora no hemos utili5ado. El
primero 0ue !amos a incluir es del tipo Rasilla de !erificaci/nS para indicar si hemos
!isto o no la pel(cula. Para ello, seleccionamos este tipo de campo y, dentro de la opci/n
Rampo de datosS de la ficha R?atosS de las propiedades, lo asociamos a la columna
4isionada de Peliculas. @na !e5 0ue lo hayamos aLadido y modificado usando las
propiedades de la ficha R;eneralS de propiedades, como se muestra en la figura J.%,
deber(amos tener nuestro formulario como el de la figura J.D.
Tutorial de OpenOffice.org Base $
Unidad '. %orularios a"an#ados
Figura /.!. Propiedades de casilla de verificacin
Figura /.#. Form>Peliculas con casilla de verificacin
Para el campo ,ormato !amos a utili5ar un Ruadro de ;rupoS para establecer por
anticipado las diferentes opciones y para 0ue el usuario no tenga 0ue escribir tantas !eces
lo mismo. Elegimos entonces dicho campo y al incluirlo en el formulario nos debe
aparecer un asistente "!er ,igura J.C' 0ue nos !a a guiar para indicarnos c/mo asignar el
!alor seleccionado en el campo ,ormato.
Tutorial de OpenOffice.org Base $!
Unidad '. %orularios a"an#ados
Figura /.$. (sistente Cuadro de 9rupo
En primer lugar debemos incluir los nombres de las posibles opciones 0ue 0ueremos 0ue
apare5can para el campo ,ormato, en nuestro caso, R?4?S, R4<9S y R?S. En la
siguiente !entana "!er ,igura J.&' del asistente podemos elegir si alguna de las tres
opciones debe aparecer por defecto
Figura /.'. Opcin por defecto en Cuadro de 9rupo
Tutorial de OpenOffice.org Base $"
Unidad '. %orularios a"an#ados
?ejamos por defecto R?4?S y en la siguiente !entana "!er ,igura J.I' tenemos 0ue
asociar a cada uno de los nombres de opci/n fijados en la primera !entana del asistente el
!alor real 0ue se almacenar en dicho campo. En nuestro caso, el !alor a almacenar es el
mismo 0ue el nombre de opci/n y as( debemos indicarlo para cada uno de los tres
campos.
Figura /.*. 6alor asociado a cada nombre de opcin.
La siguiente !entana del asistente "!er ,igura J.3' sir!e para asociar el Ruadro de
;rupoS a un campo de la tabla. En nuestro caso al campo ,ormato.
Figura /.+.Campo asociado al cuadro de grupo
Tutorial de OpenOffice.org Base $#
Unidad '. %orularios a"an#ados
Para finali5ar, la Eltima !entana del asistente "!er ,igura J.J' permite ponerle un nombre
al cuadro.
Figura /./. @ombre del cuadro de grupo
9i hemos reali5ado todos los pasos correctamente, nuestro formulario debe tener un
aspecto similar al de la ,igura J.6.

Figura /.0. Form>Peliculas con cuadro de grupo
Para el campo ;enero !amos a apro!echarnos de las !entajas de haber utili5ado
relaciones entre tablas de forma 0ue s/lo se puedan incluir los gneros 0ue estn en la
tabla ;eneros. Para ello !amos a utili5ar la opci/n Rampo de listaS 0ue, nada ms
elegirla, nos abre un asistente como el 0ue se muestra en la ,igura J.B2.
Tutorial de OpenOffice.org Base $$
Unidad '. %orularios a"an#ados
Figura /.12. Seleccin de la tabla para el contenido del cuadro de lista.
En dicho asistente se nos !a a permitir elegir el contenido del cuadro de lista a partir del
contenido de alguna tabla, en nuestro caso ;eneros, y, dentro de la tabla elegida, debemos
seleccionar el campo 0ue 0ueremos 0ue se muestre, en este caso el campo =ombre "!er
,igura J.BB'.
Figura /.11. Seleccin del campo a mostrar en cuadro de lista.
Por Eltimo, debemos indicar 0u campo tienen en comEn la tabla principal del formulario
Peliculas con la tabla del cuadro de lista ;enerosU es decir, debemos especificar el campo
a partir del cul hemos construido la relaci/n entre ambas tablas. ?icho campo era
;enero en Peliculas e +dQgenero en ;eneros "!er unidad C del curso' y as( hay 0ue
indicarlo en la Eltima !entana del asistente "!er ,igura J.B%'.
Tutorial de OpenOffice.org Base $%
Unidad '. %orularios a"an#ados
Figura /.1!. Seleccin del campo com:n entre tabla del formulario y tabla del cuadro de lista
Para finali5ar este formulario le aLadimos una eti0ueta descripti!a delante del cuadro de
lista creado para el gnero. =uestro formulario en ejecuci/n debe !erse como el de la
figura J.BD.
Figura /.1#. 6ista de Form>Peliculas en e4ecucin
&# Creacin de formulario con subformularios
En este apartado !amos a crear un formulario 0ue permita relacionar los intrpretes con
las pel(culas en las 0ue ha participado y al 0ue llamaremos ,ormQProtagonistas.
Figura /.1$. Creacin de Form>Protagonistas asociado a tabla Protagonistas
Para comen5ar, seguimos los pasos iniciales 0ue !imos en la unidad anterior. As(, primero
seleccionamos Rrear un nue!o formulario en !ista ?iseLoVS, luego abrir el R=a!egador
de formulariosS y, por Eltimo, crear un nue!o formulario llamado ,ormQProtagonistas
asociado a la tabla Protagonistas "!er ,igura J.BC'.
omo sabemos, la tabla Protagonistas s/lo contiene los identificadores de los intrpretes
y los identificadores de las pel(culas 0ue estn relacionadas. Por tanto, ser(a un poco
complicado, al utili5ar este formulario, tener 0ue recordar el identificador de cada uno en
el momento de !er los protagonistas o insertar nue!as interpretaciones.
Tutorial de OpenOffice.org Base %&
Unidad '. %orularios a"an#ados
Para solucionar esto nos !amos a !aler de nue!o de los cuadros de lista para poder !er el
t(tulo de las pel(culas y los apellidos y el nombre de cada interpretaci/n en lugar de
simplemente los identificadores.
4amos a empe5ar introduciendo en nuestro formulario el t(tulo de las pel(culasU para ello,
seleccionamos un nue!o cuadro de lista, donde debemos indicar 0ue el contenido es el de
la tabla Peliculas, 0ue el campo 0ue 0ueremos 0ue se muestre es el t(tulo y 0ue las tablas
Peliculas e +nterpretes tienen en comEn el campo +dQpelicula y Pelicula, respecti!amente.
Nunto con este cuadro debemos incluir una eti0ueta delante llamada T(tulo.
?ebajo del t(tulo !amos a incluir el nombre y apellidos de los intrpretes. ?ebido a 0ue
son dos campos diferentes, necesitamos dos cuadros de lista distintos, uno para el campo
=ombre y otro para el campo Apellidos, y en ambos casos se utili5arn los campos
+dQ+nterprete de +nterpretes e +nterprete de Protagonistas como enlace entre ambas tablas.
9i adems acti!amos el =a!egador de formulario, ,ormQProtagonistas debe !erse como
en la ,igura J.B&.
Figura /.1'. Form>Protagonistas con t?tulo, apellidos y nombre
En ejecuci/n, podemos !er 0ue este formulario "!er ,igura J.BI' nos muestra y nos
permite insertar las distintas interpretaciones de una forma mucho ms amigable 0ue a
tra!s de la tabla Protagonistas directamente.
Figura /.1*. Form>Protagonistas en e4ecucin
4amos a hacer aEn ms intuiti!o este formulario haciendo 0ue, cada !e5 0ue nos
mo!emos entre los distintos registros, nos muestre todos los intrpretes asociados a esa
pel(cula y todas las pel(culas del intrprete seleccionado. Para ello, !amos a necesitar
utili5ar subformularios, 0ue no son ms 0ue formularios construidos sobre otras tablas o
consultas distintas a la asociada al formulario principal.
4amos a empe5ar creando un subformulario 0ue nos muestre todos los intrpretes de la
pel(cula seleccionada. Para empe5ar, abrimos el na!egador de formulario y teniendo
seleccionado ,ormQProtagonistas le indicamos 0ue 0ueremos crear un nue!o formulario
llamado 9ubformQ+nterpretes "!er ,igura J.B3'.
Tutorial de OpenOffice.org Base %1
Unidad '. %orularios a"an#ados
Figura /.1+. Subformulario Subform>3nterpretes creado
A continuaci/n, en las pestaLa R?atosS de las propiedades del subformulario debemos
indicar !arias opciones. Primero, en RTipo de contenidoS !amos a poner RonsultaS y en
RontenidoS indicaremos la consulta onsultaTotal "!er ,igura J.BJ' 0ue creamos en la
unidad I. FPor 0u utili5amos esta consulta en lugar de la tabla +nterpretesH Por0ue dada
la pel(cula seleccionada en ,ormQProtagonistas se 0uiere !er todos sus intrpretesU es
decir, se necesita RalgoS 0ue contenga tanto la informaci/n de las pel(culas como la de los
intrpretes de una sola !e5 y dicha informaci/n s/lo la tiene la consulta onsultaTotal.
Figura /.1/. Subfomulario con el contenido de Consulta<otal
on esto no hemos terminado, sino 0ue tenemos 0ue indicar el !(nculo 0ue eKiste entre el
formulario principal y el subfomulario creado. Para ello, sin salir de la pestaLa R?atosS,
nos !amos a cual0uiera de los iconos en forma de puntos suspensi!os 0ue aparece a la
derecha de las opciones R4inculaci/n de VS o R4inculaci/n con VS y hacemos clic con
el rat/n. 9e nos despliega una !entana como la de la ,igura J.B6 donde debemos indicar
por 0u campos !amos a relacionar ambos formularios.
=osotros 0ueremos conseguir 0ue, dada una pel(cula seleccionada en el formulario
principal, se muestren sus intrpretes en un subformulario. Es decir, si, por ejemplo,
tenemos seleccionada la pel(cula RLa omunidad del AnilloS, cuyo identificador es el
!alor R&_, entonces, s/lo nos interesarn a0uellos intrpretes de onsultaTotal cuyo !alor
para +dQpelicula sea R&_ "S4iggo .ortensenS y RLi! TylerS', lo 0ue podemos obtener
!inculando ambos formularios utili5ando el campo Pelicula de Protagonistas junto con el
campo +dQpelicula de onsultaTotal. ?e esta manera, en el subformulario s/lo aparecern
a0uellas filas de onsultaTotal cuyo !alor para +dQpelicula sea el mismo 0ue el !alor
Pelicula en Protagonistas.
Tutorial de OpenOffice.org Base %2
Unidad '. %orularios a"an#ados
Figura /.10. 6inculacin entre el formulario y el subformulario
Ahora s/lo nos falta elegir un campo de control 0ue permita mostrar en el subformulario
los datos 0ue 0ueramos de los intrpretes. El ms adecuado para mostrar toda la
informaci/n de una !e5 es el campo Rontrol de tablasS. Lo seleccionamos y lo incluimos
en nuestro formulario, de forma 0ue nos aparece un asistente "!er ,igura J.%2' donde
podemos elegir los campos de onsultaTotal 0ue 0ueremos 0ue se muestren, en este caso,
Apellidos, =ombre y =acionalidad.
Figura /.!2. Seleccin de campos a mostrar en la tabla
9i aLadimos una eti0ueta descripti!a al subformulario y lan5amos el formulario
deber(amos !er algo parecido a lo 0ue muestra la ,igura J.%B.
Figura /.!1. Form>Protagonitas con todos los intrpretes de una pel?cula
Tutorial de OpenOffice.org Base %3
Unidad '. %orularios a"an#ados
Para finali5ar, !amos a aLadir un segundo subformulario 0ue permita 0ue se muestren las
pel(culas en las 0ue aparece el intrprete 0ue figura en el formulario principal.
omo para el primer subformulario, de nue!o abrimos el na!egador de formulario y
teniendo seleccionado ,ormQProtagonistas le indicamos 0ue 0ueremos crear un nue!o
formulario llamado 9ubformQPeliculas.
Ahora, en las pestaLa R?atosS de las propiedades del subformulario, !ol!emos a indicar
en el tipo de contenido la opci/n RonsultaS y en contenido indicaremos la consulta
onsultaTotal, pero ahora el !(nculo entre ambos formulario lo !amos a establecer entre
el campo +nterprete de Protagonistas junto con el campo +dQinterprete de onsultaTotal
"!er ,igura J.%%'. Es decir, en este subformulario s/lo 0ueremos 0ue apare5can a0uellas
filas de onsultaTotal cuyo !alor para +dQinterprete sea el mismo 0ue el !alor +nterprete
en Protagonistas.
Figura /.!!. Propiedades del subformulario Subform>Peliculas
Tambin esta !e5, para mostrar las pel(culas del intrprete seleccionado, !amos a incluir
un campo Rontrol de TablaS en el nue!o subformulario con los campos Titulo, ?irector,
ALo, ,ormato, 4isionada y =ombre;enero "!er ,igura J.%D'.
Figura /.!#. Campos a incluir en tabla de subformulario Subform>Peliculas
Para terminar, aLadimos la eti0ueta 0ue describe el subformulario y una !e5 lan5ado el
formulario 0ue acabamos de construir deber(a ser parecido al de la ,igura.J.%C.
Tutorial de OpenOffice.org Base %
Unidad '. %orularios a"an#ados
Figura /.!$. Form>Protagonistas en funcionamiento.
*# E)ercicios propuestos
B.rear el formulario ,ormQPeliculas siguiendo los pasos del apartado B.
%.rear el formulario ,ormQProtagonistas siguiendo los pasos del apartado %.
Tutorial de OpenOffice.org Base %!
Unidad (. In)ores
!nidad ;# nformes
En este tema, en primer lugar !amos a !er 0u es un informe.
A continuaci/n !amos a crear un informe simple sobre los interpretes y las pel(culas.
?espus crearemos un informe 0ue muestre las pel(culas agrupadas por gneros.
Para finali5ar, crearemos un informe 0ue muestre, para cada intrprete, su nombre y
apellidos y las pel(culas 0ue ha protagoni5ado.
Puedes !er el !ideo$tutorial de creaci/n de un informe en la pgina personal del autor#
http#//0uercusseg.uneK.es/al!aro/tutorial/-aseQ!idQ26Q!B.htm
"# ,-u. es un informe/
Los informes son documentos 0ue se utili5an para presentar los datos de una forma ms
amigable. Es decir, su objeti!o es recuperar informaci/n de la base de datos, igual 0ue las
consultas, pero con un formato 0ue facilita su presentaci/n e impresi/n en papel. Es ms,
los informes y las consultas suelen complementarse ya 0ue los informes suelen
construirse a partir de consultas almacenadas y no a partir de las tablas. Por ejemplo, en
esta unidad, !amos a construir tres informes a partir de la consulta onsultaTotal 0ue
reali5amos en la unidad I del curso.
Los informes en 77o -ase %.2 s/lo se pueden crear utili5ando el asistente y, aun0ue se
nos ofrece la posibilidad de editarlos posteriormente, no se recomienda a los alumnos
hacerlo para !ariar el contenido y s(, s/lamente, para !ariar algEn detalle del formato
final. Es decir, si un informe no muestra la informaci/n 0ue deseamos, es ms sencillo
crear un nue!o informe desde el principio 0ue editar uno eKistente.
Para empe5ar a crear informes basta con seleccionar la tarea R@sar el asistente para crear
informeVS de la secci/n R+nformesS en la !entana principal de 77o -ase "!er ,igura
6.B'.
Tutorial de OpenOffice.org Base %"
Unidad (. In)ores
Figura 0.1. <area 7Bsar el asistente para crear informe..8
&# Creacin de un informe simple
4amos a empe5ar creando un informe 0ue nos muestre un listado de las pel(culas y los
actores protagonistas.
En primer lugar, nos aparece una !entana "!er ,igura 6.%' donde seleccionar los campos
0ue mostraremos en el informe. Elegimos de onsultaTotal los campos Titulo, ?irector,
=ombre;enero, Apellidos, =ombre y =acionalidad.
Figura 0.!. Seleccin de campos del informe
A continuaci/n, tenemos la posibilidad de cambiar el nombre bajo el 0ue se mostrarn los
campos. En nuestro caso, !amos a cambiar en este, y en el resto de informes 0ue
hagamos, la eti0ueta R;neroS para el campo =ombre;enero "!er ,igura 6.D'.
Tutorial de OpenOffice.org Base %#
Unidad (. In)ores
Figura 0.#. Eti&uetas de los campos
En la siguiente !entana "!er ,igura 6.C' se nos presenta la posibilidad de agrupar los
resultados en funci/n de uno o !arios campos. Esta opci/n ya !eremos en los siguientes
informes 0ue es muy Etil, pero al ser el primer informe 0ue reali5amos !amos a dejar los
campos sin agrupar.
Figura 0.$. (grupacin de campos
En la siguiente !entana "!er ,igura 6.&' podemos elegir diferentes opciones de diseLo.
Por un lado, de presentaci/n de los datos y, por otra, de los encabe5ados y pies de pgina.
Tambin podemos elegir si los datos se presentarn orientados !ertical u hori5ontalmente
para su impresi/n. Estas opciones 0ue afectan al formato de la presentaci/n de los datos
son las Enicas 0ue se aconseja !ariar, si fuera necesario, a posteriori. Para este primer
informe !amos a elegir la opci/n RPredeterminadoS en ambos casos.
Tutorial de OpenOffice.org Base %$
Unidad (. In)ores
Figura 0.'. (specto del informe
En la Eltima !entana del asistente "!er ,igura 6.I' podemos elegir el t(tulo 0ue tendr el
informe y una opci/n muy importante# si 0ueremos 0ue el informe sea esttico o
dinmico. En el primer caso, los datos 0ue mostrar siempre el informe sern los 0ue
tu!iera la consulta reali5ada en el momento de la creaci/nU es decir, una !e5 creado el
informe, los datos 0ue muestra siempre sern los mismos, mientras 0ue en el segundo
caso, cada !e5 0ue llamemos al informe, los datos 0ue se !an a mostrar son los 0ue
tu!iera la base de datos en el momento de la llamada.
Adems en esta Eltima !entana podemos indicar tambin si 0ueremos 0ue se muestre el
contenido del informe o 0ueremos modificarlo.
Figura 0.*. <?tulo y m.s opciones del informe
9i elegimos las opciones 0ue se muestran en la ,igura 6.I, 77o -ase nos !a a abrir el
informe en modo ?iseLo "!er ,igura 6.3' por si 0ueremos reali5ar alguna modificaci/n.
Tutorial de OpenOffice.org Base %%
Unidad (. In)ores
Figura 0.+. 6ista %ise"o del 3nforme
Podemos obser!ar 0ue 77o -ase en la parte 0ue corresponde al contenido de los campos
incluye teKto en lat(n. Este teKto aparece s/lo en modo ?iseLo y no aparece reflejado
posteriormente en el informe. 9ir!e para facilitarnos una !isi/n de c/mo se !a a mostrar
el contenido de los campos en el informe final.
Para finali5ar, antes de !er el contenido del informe, !amos a incluir el t(tulo en negrita en
el encabe5amiento de la pgina y 0uitar el autor del mismo. Adems, !amos a ensanchar
el tamaLo del campo Titulo para 0ue el t(tulo no se muestre en !arias l(neas. Todos estos
cambios aparecen reflejados en la ,igura 6.J.
Figura 0./. %ise"o final de 3nforme de pel?culas y actores.
@na !e5 guardado y cerrado el informe ya podemos hacer uso de l en cual0uier
momento, bien para mostrarlo por pantalla o bien para imprimirlo. @n ejemplo de
ejecuci/n del informe con el contenido actual de nuestra tablas ser(a el 0ue se muestra en
la ,igura C.6.
Tutorial de OpenOffice.org Base 1&&
Unidad (. In)ores
Figura 0.0. Resultado de 3nforme de pel?culas y actores.
*# Creacin de informe agrupando por un campo
En el siguiente informe 0ue !amos a reali5ar !amos a !er 0u conseguimos con la
agrupaci/n en funci/n de un campo. Para ello, !amos a contruir un informe 0ue nos
muestre los datos ms significati!os de cada pel(cula agrupadas por el gnero al 0ue
pertenecenU es decir, el objeti!o es mostrar el nombre de cada gnero y las pel(culas 0ue
pertenecen a dicho gnero tal y como se muestra en la ,igura 6.B2.
Figura 0.12. Resultado de 3nforme de gneros y pel?culas
Para crear el informe iniciamos el asistente y elegimos los campos =ombre;enero,
Titulo, ?irector, ALo y ,ormato de onsultaTotal y, a continuaci/n, !amos a cambiar las
eti0uetas de los campos =ombre;enero y ALo por R;neroS y R,echa de estrenoS,
respecti!amente. Llegamos entonces a la !entana RAgrupaci/nS ",igura 6.BB', donde
!amos a indicar 0ue 0ueremos agrupar los resultados a mostrar en funci/n del campo
;nero "=ombre;enero'.
Tutorial de OpenOffice.org Base 1&1
Unidad (. In)ores
Figura 0.11. (grupacin por 9nero
En las opciones de diseLo dejamos la mismas 0ue ten(amos para el informe anterior "!er
,igura 6.&' y en las opciones de clase de informe tambin "!er ,igura 6.I' con la sal!edad
de 0ue ahora !amos a titularlo R+nforme de gneros y pel(culasS. Al finali5ar el asistente
nos aparece la !ista ?iseLo del informe 0ue acabamos de crear. En esta ocasi/n !amos a
mostrar el informe sin ningEn tipo de encabe5amiento. Para ello, nos !amos a la pestaLa
R+nsertarS y desmarcamos las casillas de la opci/n REncabe5amientoS ",igura 6.B%'.
Figura 0.1!. Seleccionamos mostrar el informe sin encabe-amientos
Para conseguir un resultado similar al de la ,igura 6.B2. ya s/lo nos falta modificar el
tamaLo asignado a cada campo ",igura 6.BD'.
Tutorial de OpenOffice.org Base 1&2
Unidad (. In)ores
Figura 0.1#. 6ista %ise"o definitiva de 3nforme de gneros y pel?culas
0# Creacin de informe agrupando por m8s de un campo
Para terminar, !amos a reali5ar un informe donde agruparemos los resultados en funci/n
de !arios campos. En concreto, el informe 0ue !amos a crear !a a mostrarnos el nombre y
los apellidos de cada intrprete seguido de las pel(culas 0ue ha protagoni5ado. Adems,
para este informe !amos a !ariar el diseLo de la presentaci/n de los datos.
En primer lugar, comen5amos, como siempre, eligiendo los campos 0ue mostrar el
informe, 0ue en este caso son =ombre, Apellidos, Titulo, ?irector, ALo y =ombre;enero
de onsultaTotal. A continuaci/n, en la siguiente !entana el Enico cambio en las eti0uetas
0ue !amos a reali5ar es el de R;neroS en el campo =ombre;enero y pasamos a la
!entana RAgrupaci/nS "figura 6.BC'.
Ahora, en esta !entana debemos indicar 0ue 0ueremos agrupar por los campos =ombre y
Apellidos si 0ueremos 0ue nos muestre agrupados los resultados en funci/n de cada
intrprete. La diferencia entre agrupar por un campo o ms de uno estriba en 0ue, cuando
se elige por ms de un campo, los resultados se agrupan en funci/n de las diferentes
combinaciones de esos campos. Es decir, si tu!ieramos !arios intrpretes con el mismo
apellido "por ejemplo, R`irT ?ouglasS y R.ichael ?ouglasS' y, simplemente
agruparamos por ese campo, nos aparecer(an juntas todas las pel(culas de a0uellos
intrpretes 0ue se apellidan igual "se mostrar(an las pel(culas de ambos R?ouglasS como
de un Enico intrprete'U pero, al incluir tambin en la agrupaci/n el campo =ombre,
estamos indicando 0ue s/lo se !an a agrupar juntas las pel(culas cuyo !alor para ambos
campos sea el mismo "aun0ue el !alor R?ouglasS en el campo Apellidos sea igual para
ambos intrpretes, su !alor para el campo =ombre es distinto por lo 0ue diferencia entre
las pel(culas de padre e hijo'.
Tutorial de OpenOffice.org Base 1&3
Unidad (. In)ores
Figura 0.1$. (grupacin de resultados por m.s de un campo
A continuaci/n, !amos a la !entana R9elecci/n del diseLoS ",igura 6.B&' donde !amos a
cambiar el diseLo de los datos y el de la pgina.
Figura 0.1'. Cambios en el dise"o del informe
En cuanto a los datos, !amos a elegir la primera opci/n RA5ul y rojo $alineado a la
i50uierdaS y, en los encabe5ados y pies de pgina, !amos a elegir R.apamundiS para 0ue
nos muestre de fondo en cada pgina del informe la imagen de un mapamundi.
@na !e5 0ue en la Eltima !entana del asistente indi0uemos 0ue el informe ser dinmico y
0ue el t(tulo ser R+nforme de intrpretes y pel(culasS nos debe aparecer el diseLo del
informe tal y como se muestra en la figura 6.BI.
Tutorial de OpenOffice.org Base 1&
Unidad (. In)ores
0.1*. %ise"o inicial de 3nforme de intrpretes y pel?culas.
Antes de finali5ar, !amos a modificar la cabecera del informe para 0ue simplemente
apare5ca el t(tulo del mismo, y !amos a modificar tambin el tamaLo de los campos para
e!itar en lo posible 0ue algEn campo ocupe ms de una l(nea "!er ,igura 6.B3'.

,igura 6.B3. ?iseLo final de +nforme de intrpretes y pel(culas
@na !e5 hemos reali5ados los cambios mencionados y guardados los cambios, podemos
ejecutar el informe, del 0ue una parte se muestra en la ,igura 6.BJ.
Figura 0.1/. Parte del contenido del 3nforme de intrpretes y pel?culas
1# E)ercicios propuestos
B.rear el informe R+nforme de pel(culas e intrpretesS del apartado %.
Tutorial de OpenOffice.org Base 1&!
Unidad (. In)ores
%.rear el informe R+nforme de gneros y pel(culasS del apartado D.
D.rear el informe R+nforme de intrpretes y pel(culasS del apartado C.
Tutorial de OpenOffice.org Base 1&"
Unidad 1*. +ane,o de )uentes de datos e-ternas en OOo Base
!nidad "'# <ane)o de fuentes de datos e=ternas en
$$o %ase
En esta unidad, en primer lugar, se !a a eKplicar el concepto de fuentes de datos.
A continuaci/n, se !a a crear una base de datos en 77o -ase 0ue !a a trabajar con una
base de datos de .icrosoft 7ffice.
Por Eltimo, se !a a crear una base de datos con tablas creadas a partir de archi!os de teKto.
Puedes !er el !ideo$tutorial de ejemplo de coneKi/n a base de datos .9 Access en la
pgina personal del autor#
http#//0uercusseg.uneK.es/al!aro/tutorial/-aseQ!idQB2Q!B.htm
"# Fuentes de datos
EKisten una gran !ariedad de 9istemas de -ases de ?atos en el mercado, entre los 0ue
podemos citar 7*ALE, 9GL 9er!er, d-ase, Postgre9GL, .y9GL o .icrosoft Access
"en adelante .9 Access'. ada uno de estos sistemas se caracteri5a por0ue tienen su
propio formato de archi!o de datos para almacenar las bases de datos 0ue mantienen.
ual0uier base de datos gestionada por estos sistemas puede ser registrada como fuente
de datos en 77o -aseU es decir, se puede considerar una fuente de datos a cual0uier base
de datos eKterna susceptible de ser manejada desde 77o -ase. El acceso a dichas fuentes
de datos puede hacerse tratando directamente con los archi!os correspondientes de
fuentes de datos, por ejemplo, los archi!os planos de d-ase o los archi!os con eKtensi/n
RmdbS de .9 Access, o, puede hacerse a tra!s de lo 0ue se conoce como manejadores de
coneKi/n con bases de datos.
Los manejadores de coneKi/n se caracteri5an por0ue son capaces de ejecutar operaciones
de bases de datos de manera transparente al usuarioU es decir, actEan como intermediarios
entre el usuario y un sistema de bases de datos en particular, de manera 0ue, una !e5
establecidos los parmetros de coneKi/n con un sistema de bases de datos, el usuario no
tiene 0ue preocuparse, al reali5ar operaciones, de las particularidades del sistema al 0ue
est conectado.
Entre los manejadores de coneKi/n destacan especialmente 7?- y N?-. 7?- es el
estndar de conecti!idad con bases de datos de .icrosoft mientras 0ue N?- est basado
en la plataforma Na!a.
Adems, 77o -ase tambin soporta como fuentes de datos hojas de clculo, libretas de
direcciones de di!ersos clientes de correo como .icrosoft 7utlooT o .o5illa
Thunderbird e, incluso, archi!os de teKto.
La instalaci/n y configuraci/n de manejadores de coneKi/n como 7?- y N?- 0ueda
fuera de los objeti!os de un curso de iniciaci/n a 77o -ase como este, por lo 0ue en esta
unidad !amos a !er c/mo trabajar en 77o -ase con una base de datos eKistente en .9
Access y c/mo crear otra base de datos con tablas construidas a partir de archi!os de
teKto.
Tutorial de OpenOffice.org Base 1&#
Unidad 1*. +ane,o de )uentes de datos e-ternas en OOo Base
&# +raba)ar con bases de datos de <> Access
En este apartado se !a a !er c/mo manejar una base de datos de .9 Access desde 77o
-ase. Para empe5ar, hay 0ue tener en cuenta 0ue 77o -ase s/lo reconoce las tablas y
consultas de .9 AccessU es decir, los informes y formularios 0ue se tengan en .9 Access
no !an a estar disponibles en 77o -ase e, incluso, las consultas no !an a ser reconocidas
como tales sino 0ue !an a ser tratadas como !istas.
En el ejemplo 0ue se !a a mostrar, se !a a partir de 0ue se tiene una base de datos de .9
Access 0ue contiene tres tablas llamadas Empresas, 9ub!enciones e
<istorial9ub!enciones y una consulta llamada onsultaTotales. Todos estos objetos y su
contenido junto con las relaciones eKistentes entre las tablas se muestran en la ,igura
B2.B.
Figura 12.1. Contenido de la base de datos de 1S (ccess
A continuaci/n, se !a a trabajar con esta base de datos a tra!s de 77o -ase. Lo primero
0ue se debe hacer en 77o es seleccionar la pestaLa Archi!o, el submenE =ue!o y dentro
de l la opci/n -ase de ?atos. A continuaci/n aparece la pantalla RAsistente para bases de
datosS donde se debe seleccionar Ronectar con una base de datos eKistenteS. ?e entre
todas las opciones de coneKi/n 0ue se presentan "d-ase, <oja de lculo, N?-,
7?-,etc..' se debe elegir R.icrosoft AccessS "!er ,igura B2.%'.
Tutorial de OpenOffice.org Base 1&$
Unidad 1*. +ane,o de )uentes de datos e-ternas en OOo Base
Figura 12.!. Conectar con una base de datos 1icrosoft (ccess
En la siguiente !entana se debe indicar la ruta y el archi!o con la base de datos en
.icrosoft Access tal y como se muestra en la figura B2.D
Figura 12.#. Seleccin de base de datos de 1icrosoft (ccess
En la !entana siguiente ",igura B2.C' se puede indicar si 0uiere registrar o no la base de
datos y si una !e5 guardada la base de datos se 0uiere abrir.
Tutorial de OpenOffice.org Base 1&%
Unidad 1*. +ane,o de )uentes de datos e-ternas en OOo Base
Figura 12.$ Opciones de guardado de la nueva base de datos
Por Eltimo, debemos indicar un nombre para la nue!a base de datos creada ",igura B2.&'.
Figura 12.'. 9uardado de la nueva base de datos
Antes de continuar hay 0ue tener en cuenta 0ue la nue!a base de datos creada no es una
base de datos nue!a e independiente sino 0ue realmente en el archi!o creado s/lo se est
guardando la informaci/n 0ue necesita 77o -ase para conectarse con la base de datos de
.9 Access.
Esto supone 0ue los cambios 0ue se hagan sobre las tablas y las !istas de la base de datos
en 77o -ase tambin se !an a !er reflejados automticamente en la base de datos
original de .9 Access.
Tutorial de OpenOffice.org Base 11&
Unidad 1*. +ane,o de )uentes de datos e-ternas en OOo Base
omo ya se ha eKpuesto anteriormente, al abrir la base de datos y situarse en la secci/n
RTablasS ",igura B2.I' se puede !er 0ue estn todas las tablas 0ue tiene la base de datos
de .9 Access y 0ue la consulta 0ue eKist(a aparece como una !ista. Adems, aparecen
una serie de tablas propias de .9 Access "todas las 0ue comien5an por R.9ysS' 0ue
almacenan diferentes caracter(sticas internas de la base de datos y 0ue no son legibles ni
modificables en 77o -ase.
Figura 12.*. <ablas y vistas en OOo 5ase
Adems, en la ,igura B2.I puede obser!arse tambin 0ue en la barra de estado aparece
0ue realmente la base de datos abierta est enla5ando con una base de datos .9 Access y
aparece la ruta y el nombre del archi!o original de dicha base de datos
Las relaciones 0ue eKist(an entre las tablas y 0ue se mostraban en la ,igura B2.B tambin
se mantienen automticamente en 77o -ase como puede !erse en la ,igura B2.3.
Figura 12.+. Relaciones de la base de datos
Tutorial de OpenOffice.org Base 111
Unidad 1*. +ane,o de )uentes de datos e-ternas en OOo Base
*# Creacin de base de datos a partir de archivos de te=to
En este apartado se !a a !er c/mo, a partir de archi!os de teKto 0ue contengan
informaci/n de un modo homogneo, se puede crear una base de datos donde cada tabla
se forma a partir de dichos archi!os.
En primer lugar, se !a a suponer 0ue se tiene una carpeta llamada RListasS 0ue almacena
un par de archi!os de teKto, uno llamado RLibros leidosS y otro llamado RLibros
pendientesS. El contenido de estos dos archi!os se muestra en los uadros de TeKto B2.B
y B2.%
Cuadro de <eAto 12.1. =ibros leidos
Cuadro de <eAto 12.!. =ibros pendientes
En ambos archi!os puede !erse 0ue se est almacenado informaci/n sobre libros, en
concreto, cada l(nea de estos archi!os contiene el t(tulo, el autor y el aLo de publicaci/n
de distintos libros.
Para tener estas listas de libros en forma de tablas en 77o -ase se debe indicar, como en
el apartado anterior, 0ue se 0uiere crear una nue!a base de datos conectando con una base
de datos eKistente, pero en este caso, eligiendo RTeKtoS como fuente de datos ",igura
B2.J'.
Figura 12./. Conectar con una base de datos de teAto
Tutorial de OpenOffice.org Base 112
Unidad 1*. +ane,o de )uentes de datos e-ternas en OOo Base
En la siguiente !entana ",igura B2.6' se debe indicar la carpeta donde se encuentran los
archi!os y, la eKtensi/n de dichos archi!os "en este ejemplo .tKt'. Adems, se debe indicar
tambin 0u caracteres se estn utili5ando para distinguir un campo de otro en cada fila
"en este ejemplo los campos estn separados por U ' y, en caso de tener datos numricos,
cules !an a ser los separadores de decimales y de miles.
Figura 12.0. Bbicacin y configuracin de los arc)ivos de teAto
Al igual 0ue en el apartado anterior, se debe indicar si al terminar ",igura B2.B2' se desea
registrar la base de datos y abrirla.
Figura 12.12. Opciones de finali-acin
Por Eltimo, hay 0ue darle un nombre a la nue!a base de datos e indicar d/nde se 0uiere
almacenar ",igura B2.BB'.
Tutorial de OpenOffice.org Base 113
Unidad 1*. +ane,o de )uentes de datos e-ternas en OOo Base
Figura 12.11. @ombre de la nueva base de datos
9i se eKamina la secci/n RTablasS de la nue!a base de datos puede !erse 0ue las dos listas
0ue estaban en la carpeta indicada se han con!ertido en dos tablas en 77o -ase ",igura
B2.B%'.
Figura 12.1!. @ueva base de datos y contenido de las tablas
0# E)ercicios propuestos
B.rear los archi!os de teKto RLibros leidosS y RLibros PendientesS detallados en esta
unidad.
%.rear la base de datos RLibrosS a partir de los dos archi!os del ejercicio anterior
Tutorial de OpenOffice.org Base 11
.obre el autor
>obre el autor
.e llamo )l!aro E. Prieto *amos y soy Profesor olaborador del )rea de Lenguajes y
9istemas +nformticos del ?epartamento de +ngenier(a de 9istemas +nformticos y
Telemticos de la @ni!ersidad de EKtremadura en la Escuela Politcnica de ceres y
miembro del G@E*@9 9oft8are Engineering ;roup.
Principalmente he impartido las asignaturas de -ases de ?atos y Administraci/n de -ases
de ?atos en +ngenier(a +nformtica, +ngenier(a Tcnica en +nformtica de 9istemas e
+ngenier(a Tcnica en +nformtica de ;esti/n.
Actualmente tambin soy coordinador y profesor en el m/dulo 9istemas ;estores de
-ases de ?atos del .ster en 9oft8are Libre de la @ni!ersidad de EKtremadura. En este
m/dulo el objeti!o es aprender a manejar .y9GL y Postgre9GL.
Espero 0ue este tutorial os haya sido de utilidad.
Tutorial de OpenOffice.org Base 11!

También podría gustarte