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.....................................................................................................................++ +A=...............................................................................................................................B +A= : E=T7*=7 ?E

+=T*7?@

@=+?A? B. +=9TALA

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

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 ingl s

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 R onfiguraS' de entre las 0ue debemos elegir la primera de ellas.

Tutorial de OpenOffice.org Base

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

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 R rear 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

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.
2"

Tutorial de OpenOffice.org Base

Unidad 3. Tipos de datos y edicin de tablas.

<abla #.1.<ipos de datos alfanum ricos

=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

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 g nero 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

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

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

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 si ples

!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 R onsultasS, 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 si ples

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 si ples

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 si ples

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 si ples

*# 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 si ples

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 si ples

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 si ples

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 si ples

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 si ples

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 si ples

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 si ples

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 R iencia$,icci/nS aparecer(a !arias !eces a menos 0ue acti!aramos esta casilla y ya s/lo aparecer(a una !e5. 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#

En cuanto a los campos y sus distintas opciones tenemos#

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
"&

Tutorial de OpenOffice.org Base

Unidad !. Consultas a"an#adas y "istas

para ese campo.

.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 R onsultasS y seleccionamos la tarea R rear 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

Tutorial de OpenOffice.org Base

"1

Unidad !. Consultas a"an#adas y "istas

Los primeros cuatro campos 0ue !amos a incluir son los de la tabla +nterpretes como se muestra en la ,igura I.D.

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 R onsultaTotalS 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 g nero

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 R antidadS 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 R onsultasS 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 R rear 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 RPeliculas ada;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 Peliculas ada;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 g nero

1# E)ercicios propuestos
B. rear la consulta R onsultaTotalS del apartado %. %. rear la consulta RPeliculas de cada ;eneroS del apartado D. D. rear la !ista RPeliculas ada;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 $. %or ularios 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 $. %or ularios 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 R rear 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 $. %or ularios 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 R ampos 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 R ampos 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 R ampo 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 $. %or ularios 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 $. %or ularios 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 $. %or ularios 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 R ontenidoS. 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 $. %or ularios 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 $. %or ularios 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 R ampo 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 R ampo 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 R ampo 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 $. %or ularios 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 R ampo eti0uetaS "!er ,igura 3.BC' para 0ue cual0uier usuario 0ue utilice el formulario cono5ca lo 0ue debe introducir.

Tutorial de OpenOffice.org Base

#%

Unidad $. %or ularios 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 $. %or ularios 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 $. %or ularios 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 $. %or ularios 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 '. %or ularios 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 R asilla 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 R ampo 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 '. %or ularios a"an#ados

Figura /.!. Propiedades de casilla de verificacin

Figura /.#. Form>Peliculas con casilla de verificacin

Para el campo ,ormato !amos a utili5ar un R uadro 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 '. %or ularios 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 '. %or ularios 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 R uadro 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 '. %or ularios 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 R ampo 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 '. %or ularios 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 '. %or ularios 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 R rear 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 '. %or ularios 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 '. %or ularios 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 R onsultaS y en R ontenidoS 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 '. %or ularios 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 R ontrol 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 int rpretes de una pel?cula

Tutorial de OpenOffice.org Base

%3

Unidad '. %or ularios 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 R onsultaS 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 R ontrol 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 '. %or ularios 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)or es

!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)or es

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)or es

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)or es

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)or es

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)or es

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 g neros 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)or es

Figura 0.11. (grupacin por 9 nero

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)or es

Figura 0.1#. 6ista %ise"o definitiva de 3nforme de g neros 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)or es

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)or es

0.1*. %ise"o inicial de 3nforme de int rpretes 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 int rpretes 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)or es

%. 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*A LE, 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 R onectar 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