Sei sulla pagina 1di 53

Prctica 3

Bases de datos con LibreOfce Base


Material de apoyo

Informtica Bsica
Grado en: Ingeniera Informtica, Matemtica Computacional

IBREOFFICE es un paquete omtico libre, de cdigo abierto y distribucin gratuita que incluye, entre otros, un procesador de textos, una herramienta para el desarrollo de hojas de clculo, un programa para realizar presentaciones y, lo que ms nos interesa en esta prctica, una herramienta para la creacin y manejo de bases de datos sencillas (en contraposicin a la complejidad que supone la gestin del gran volumen de datos de las bases de datos corporativas). Es un programa multiplataforma, que funciona en Linux, Windows, Mac OS X y otros sistemas operativos de la familia Unix, y que constituye la alternativa libre y funcional al paquete Ofce de Microsoft. En este material de apoyo, te mostraremos las funcionalidades bsicas del programa, que te permitirn poder crear y gestionar con xito bases de datos pequeas. Tambin veremos cmo elaborar consultas e informes, que proporcionan a los usuarios nales un acceso fcil a los datos. Es importante que te familiarices con este material para que puedas abordar con xito la realizacin de los ejercicios planteados en el boletn de la prctica 3. Tambin resultar conveniente que, previamente, estudies con detenimiento los contenidos del Tema 1 de teora, en particular la ltima seccin, que explica los conceptos bsicos del modelo relacional de bases de datos que daremos por sentados en este texto.

ndice
1. Creacin de una base de datos 2. Creacin y edicin de tablas en la base de datos 2.1. Nombre y tipo de los campos . . . . . . . . . . . . 2.2. Clave primaria . . . . . . . . . . . . . . . . . . . . 2.3. Guardar una tabla . . . . . . . . . . . . . . . . . . 2.4. Gestionar registros . . . . . . . . . . . . . . . . . 2 5 6 7 9 10

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

3. Relaciones entre tablas 12 3.1. Relacin uno a muchos (1:M) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.2. Relacin muchos a muchos (M:M) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4. Diseo de consultas 15 4.1. Vista diseo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.2. Asistente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.3. Vista SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5. Generacin y uso de vistas 26

6. Formularios 30 6.1. Creacin mediante el asistente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 6.2. Creacin en vista diseo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 7. Informes 46

-1-

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Nota
Este material de apoyo es el mismo que se elabor para la herramienta Base de OpenOfce.org en el curso 2010/2011. En el presente curso usaremos LibreOfce, que es un fork de OpenOfce.org. Si no sabes lo que es un fork en el contexto del desarrollo de software, bscalo por Internet o consulta con el profesor. La funcionalidad de la herramienta es la misma y se llaman igual por lo que nos hemos limitado a cambiar los nombres en el texto y a sustituir unas pocas imgenes. El resto del material no cambia, ya que, insistimos, se trata del mismo programa. S que es posible que observes algunas pequeas diferencias sin importancia en algunas imgenes y nombres de opciones de mens, pero que no son relevantes para la comprensin del texto.

Bibliografa
LVARO E. P RIETO R AMOS: Tutorial de OpenOfce.org Base. Tutorial para usuarios de Windows de la herramienta Open Ofce Base. http://tutorialopenofficebase.wordpress.com/. ltima actualizacin: enero de 2008. Te recomendamos que le eches un vistazo como material complementario a ste. Est muy bien explicado e incluye ms detalles que los que aqu te proporcionamos. Como ya hemos comentado LibreOfce y OpenOfce.org son muy similares en la actualidad por lo que este tutorial contina siendo plenamente vlido.

1.

Creacin de una base de datos

LibreOfce, LO de ahora en adelante para abreviar, es una suite omtica libre (de cdigo abierto) y distribucin gratuita similar en cuanto a funcionamiento y prestaciones al paquete omtico Ofce de Microsoft. De la misma manera, incluye un procesador de textos, hoja de clculo, herramienta para el diseo de presentaciones y base de datos, entre otras cosas. El vocablo suite hace referencia a una recopilacin de programas capaces de interactuar entre ellos en mayor o menor medida, lo que se conoca tradicionalmente como paquete integrado. El trmino omtica hace referencia al trabajo habitual en una ocina: llevar el papeleo (documentos y facturacin) y las cuentas. En este sentido, los procesadores de texto y las hojas de clculo seran las herramientas bsicas empleadas en la gestin de una ocina. No obstante, puede pensarse que igualmente resulta necesario un gestor de bases de datos sencillas (para, por ejemplo, llevar un registro de clientes y poder realizar servicios de mailing automtico). En cuanto a las presentaciones, quisiramos apuntar que este tipo de programas se ha venido incluyendo en las suites omticas desde hace ya algunos aos, sin duda a semejanza de lo ocurrido con el Ofce de Microsoft. En este material de apoyo nos vamos a centrar en la herramienta de gestin de bases de datos sencillas, que sera el equivalente al programa Access de Microsoft. Se trata del programa LO Base, al que llamaremos Base en adelante para abreviar. Como hilo conductor para ilustrar los aspectos ms relevantes del funcionamiento de Base seguiremos el mismo ejemplo empleado en el cuaderno de teora correspondiente al Tema 1: tenemos una serie de pelculas en nuestra casa, en un formato determinado (DVD, DivX, XviD, VCD), almacenadas en unos cuantos estuches. Pretendemos guardar una serie de datos para cada pelcula (ttulo, nombre del director, fecha de estreno en Espaa,. . . ) y tambin para cada estuche. Tambin queremos guardar una serie de datos relacionados con los actores que intervienen en las pelculas que tenemos (su nombre, nacionalidad, fecha de nacimiento, personajes que interpretan en sus pelculas,. . . ). Para almacenar toda esta informacin y poder automatizar una serie de consultas, gestionaremos la creacin de una base de datos mediante Base. Cuando arrancamos Base, a no ser que lo hagamos abriendo una base de datos previamente creada, se ejecutar el asistente para la creacin de bases de datos (vase la Figura 1(b)). Podemos ejecutar Base bien desde la pantalla principal de LO (vase la Figura 1(a)), bien desde el men del lanzador de aplicaciones, en la seccin Ocina, entrada Base de datos para conocer los detalles exactos en los equipos de las aulas informticas consulta el boletn de la prctica. En cualquier caso, llegaremos a la ventana del asistente para bases de datos de LO (vase la Figura 1(b)) tal como comentamos en el prrafo anterior. El primer paso consiste en seleccionar la base de datos que queremos usar. Tenemos tres posibilidades para ello: Crear una nueva base de datos, que es la opcin que aparece marcada en la imagen de la Figura 1(b), ya que tenemos que crear la nueva base de datos para nuestro ejemplo de las pelculas. Abrir una base de datos ya existente (guardada en un chero), bien una de las que aparezca en la lista de usadas recientemente, bien otra que podamos abrir con el dilogo para la navegacin por directorios asociado al botn Abrir. Esta opcin es equivalente a abrir directamente el chero con la base de datos desde el sistema de cheros, lo que nos conduce, en ambos casos, a la ventana central para la gestin de la base de datos que se muestra en la Figura 3.

-2-

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

(a) Pantalla principal de LO.

(b) Ventana inicial del asistente para bases de datos del programa Base de LO. Figura 1: Arranque de Base.

Conectar con una base de datos existente, lo que implica congurar y emplear un software especco (JDBC, Oracle, MySQL, etc.) para la conexin (puede ser remota) con otros sistemas de gestin de bases de datos (SGBD en adelante para abreviar). Nosotros no emplearemos esta opcin, pues se escapa un poco de los objetivos de esta prctica.

(a) ltimo paso del asistente para bases de datos: registramos la nueva base de datos y la abrimos para utilizarla.

(b) Guardamos la base de datos creada en el sistema de cheros de nuestro ordenador.

Figura 2: Asistente para la creacin de bases de datos en Base.

Una vez seleccionada la opcin que permite crear una nueva base de datos, pinchamos el botn Siguiente y pasamos al siguiente y ltimo paso, donde se muestra la ventana que aparece en la Figura 2(a). Registrar la base de datos sirve para indicar a LO dnde localizar los datos y cmo se organizan. Es decir, debemos registrar nuestra base de datos si queremos que los datos que guardemos sean localizables desde otras aplicaciones de la suite como, por ejemplo, el procesador de textos Writer o la hoja de clculo Calc. Por ejemplo, podra estar interesado en preparar un documento de texto que mostrase una tabla con la informacin de todas las pelculas que tengo guardadas en un estuche concreto. Pero para poder hacer esto, necesito registrar previamente la base de datos. Resulta obligatorio marcar la opcin Abrir la base de datos para editar si quiero comenzar a trabajar con ella, ya que, si no, despus de crearla Base terminara su ejecucin. Sin embargo, la opcin siguiente, Crear tablas usando el Asistente para tablas, no es necesario marcarla a no ser que pretendamos comenzar el trabajo con la base de datos creando tablas (lo cual, por otra parte, resulta lo habitual). Nosotros no la marcaremos y realizaremos el proceso de creacin de tablas desde la ventana central de gestin (vase Figura 3). Adems, crear tablas usando el asistente limita bastante las posibilidades que Base nos ofrece para acometer esta tarea. Una vez hayamos terminado con la seleccin de las diversas opciones haremos clic en el botn Finalizar para concluir el proceso. Ahora, Base pide que seleccionemos el directorio donde vamos a guardar nuestra base de datos y el nombre de la misma, tal como ilustra la imagen de la Figura 2(b). En nuestro ejemplo, la base de datos se llamar Pelis. El programa automticamente aadir la extensin .odb Open Document Base, base de datos en formato Open Document que identica a las bases de datos de LO fjate que est marcada la casilla Ampliacin aut. nombre de archivo.

-3-

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 3: Ventana para la gestin de la base de datos en Base.

En este momento, bien porque hayamos creado una nueva base de datos o bien porque hayamos abierto una ya existente, aparece la ventana central para la gestin de la base de datos que ofrece Base y que ilustramos en la Figura 3. Podemos considerar que esta ventana central se divide en 4 partes: En la parte izquierda tenemos una serie de iconos que nos permiten elegir el tipo de objeto de la base de datos con el que queremos trabajar. Base proporciona cuatro tipos objetos: tablas, consultas, formularios e informes. El primero de estos objetos (las tablas) permite denir las entidades que conforman nuestra base de datos segn el modelo relacional (repasa los apuntes del Tema 1), mientras que el resto permiten obtener informacin de forma ms o menos elaborada. Ms adelante, a medida que los vayamos utilizando, veremos para qu sirve cada uno de ellos y aprenderemos a crearlos y congurarlos. Cuando queramos trabajar con cualquiera de estos objetos (crear una tabla o una consulta, o bien elaborar un formulario o un informe) simplemente hemos de pinchar con el ratn en el icono correspondiente y tanto la zona central como la inferior cambiarn sus opciones en consecuencia. En la Figura 3 puede apreciarse que hemos seleccionado el objeto Tablas. En la zona central aparecen las acciones que podemos llevar a cabo con el tipo de objeto seleccionado a la izquierda. En la Figura 3 podemos apreciar que tenemos tres acciones que podemos realizar con las tablas: crear una tabla con la herramienta de diseo, usar el asistente para crear una tabla y crear una vista. En la zona inferior, aparecen todos los objetos del tipo seleccionado que hemos creado en la base de datos. En nuestro ejemplo, no aparece ninguno pues todava no hemos creado ninguna tabla. En la zona superior se encuentran los distintos mens que agrupan las opciones de trabajo de Base, as como la barra de herramientas que muestra los iconos asociados con las acciones ms habituales para su acceso directo. A continuacin, comentaremos brevemente el contenido de los diversos mens. El contenido del men Archivo es el tpico de las aplicaciones omticas (como un procesador de textos o una hoja de clculo), con opciones para abrir o guardar una base de datos existente, cerrar aqulla con la que estamos trabajando, crear una nueva o terminar la ejecucin de LO, entre otras. En el men Editar aparte de las opciones comunes para deshacer la ltima operacin efectuada si es posible (o rehacerla) o para copiar, cortar y pegar, tenemos una serie de opciones que se activarn o no en funcin del objeto seleccionado en la lista de la parte inferior (que, recordemos, muestra todos los objetos creados en la base de datos del tipo seleccionado a la izquierda) y que permiten abrirlo (para introducir datos), editarlo (para cambiar su diseo), cambiarle el nombre o borrarlo. Tambin podemos arrancar los asistentes para la creacin de formularios e informes desde ah. El men Ver tiene la opcin Objetos de base de datos que permite seleccionar el tipo de objeto con el que queremos trabajar, de forma anloga a los iconos que aparecen en la zona izquierda de la ventana. Adems, podemos aadir ms iconos a la barra de herramientas o personalizarla (cambiando iconos) usando la opcin Barras de herramientas. La opcin

-4-

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Ordenar permite mostrar en orden alfabtico ascendente o descendente la lista de objetos creados del tipo seleccionado que aparece en la zona inferior de la ventana, mientras que la opcin Vista previa permite previsualizar en el recuadro gris que hay abajo a la derecha en la ventana central, si es posible, los contenidos del objeto seleccionado en la zona inferior. La opcin Actualizar tablas se utiliza cuando hayamos efectuado cambios en el diseo de la misma (aadimos o borramos campos, cambiamos una clave, etc.). En el men Insertar podemos encontrar las opciones ms habituales para la creacin de los diversos tipos de objetos: formularios, informes, consultas (en vista Diseo o en vista SQL1 ), tablas (en modo diseo) y denicin de vistas sobre las mismas (ya veremos ms adelante en qu consisten las vistas). Del men Herramientas destacamos la opcin Relaciones. . . , que debemos utilizar para establecer las relaciones (1:M y M:M) entre las tablas de la base de datos. Hablaremos de esto en la Seccin 3, aunque tambin puedes consultar los apuntes del Tema 1 de teora para saber de qu estamos hablando. Tambin tenemos una opcin que permite ltrar las tablas para que podamos especicar aqullas que sern visibles para las diferentes aplicaciones de LO y otra que permite ejecutar instrucciones sueltas en SQL. La opcin Personalizar. . . es anloga a la que podemos encontrar en el men Ver, opcin Barras de herramientas, y permite cambiar las opciones de los mens y los iconos de la barra de herramientas. Finalmente, la opcin Opciones. . . es comn a todas las aplicaciones de LO. Se utiliza para congurar tanto la suite considerada globalmente como las diversas aplicaciones individuales (en particular, hay una entrada para congurar Base). Los mens Ventana y Ayuda son los tpicos de todas las aplicaciones, y no slo omticas. El primero permite cerrar la ventana para la base de datos actual y moverse entre todas las ventanas abiertas en LO (no slo en Base). El segundo muestra las distintas opciones de ayuda de LO. De entre todas las opciones disponibles podemos destacar las dos que pasamos a comentar. Por un lado, la opcin Ayuda de LibreOfce contiene una ayuda bastante extensa de todas las herramientas proporcionadas por LO, clasicada por contenidos y con la posibilidad de efectuar bsquedas recorriendo el ndice de contenidos o en funcin de palabras clave. Por otro lado, la opcin Qu es esto? muestra una pequea ventana emergente de ayuda contextual que cambiar de contenido segn cul sea el objeto sobre el que tengamos situado el cursor del ratn.

2.

Creacin y edicin de tablas en la base de datos

Ya vimos en el Tema 1 de teora que una base de datos alberga informacin acerca de una serie de entidades que estn relacionadas entre s. Cada entidad de la base de datos, que sirve para agrupar una coleccin de datos considerados como un todo, se representa segn el modelo relacional como una tabla donde las las representan los registros de informacin y se corresponden con elementos (instancias) de la entidad cuya informacin se introduce en el sistema. Por otro lado, las columnas representan los diferentes campos o tems de informacin (considerados aisladamente) que conforman la entidad. En este sentido, las columnas representan atributos o caractersticas de la entidad.

Figura 4: Diseo de tablas en Base.

En nuestro ejemplo, tendramos que crear una tabla para almacenar informacin de las pelculas que tenemos en casa, la cual constituir la entidad Pelculas en nuestra base de datos. Para cada pelcula almacenaremos su ttulo, nombre del
1 SQL

son las siglas de Structured Query Language, el lenguaje estndar para la interaccin con los SGBD relacionales. Consulta el cuaderno de teora correspondiente al Tema 1 para conocer ms detalles al respecto.

-5-

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

director de la misma, su fecha de estreno en nuestro pas, el gnero,. . . . Cada uno de estos datos, considerado individualmente, constituye un atributo de la entidad Pelculas y, por tanto, ser una columna de la tabla (caracterstica comn a todas las pelculas almacenadas en la base de datos). Por otro lado, tenemos una entidad Actores donde guardaremos datos como el nombre de un actor, su fecha de nacimiento o su nacionalidad. la cual tiene propiedades distintas a la entidad Pelculas. Por tanto, crearemos otra tabla en nuestro diseo de la base de datos para guardar la informacin propia de los actores, ya que nunca se guardar informacin de entidades con propiedades distintas en una misma tabla. Es decir, no podemos mezclar informacin en una nica tabla de las pelculas y de los actores porque los datos (los atributos de cada una de las cosas sobre las que guardo informacin) no son los mismos.

Figura 5: Insertamos el primer campo de la tabla para las pelculas.

Para crear una tabla en Base seleccionamos el icono Tablas en la parte izquierda de la ventana central de gestin de Base y, luego, pinchamos en la opcin Crear tabla en vista Diseo. . . tal como mostrbamos en la Figura 3. En ese momento aparece una ventana similar a la que se muestra en la Figura 4, donde tendremos que denir los distintos campos (atributos o columnas de la tabla) y especicar el dominio (consulta los apuntes de teora) en la columna Tipo del campo. La ltima columna, Descripcin, permite que el diseador introduzca un comentario explicativo para describir, normalmente, el tipo de dato que vamos a almacenar en ese campo (se tratara, en cierta forma, de la documentacin del diseo). Aunque importante, ten en cuenta el carcter opcional de esta columna; el texto que escribes en ella se comporta como si fuesen los comentarios de un programa en un lenguaje de programacin como Python. La Figura 5 ilustra la creacin del primer campo de la tabla para las pelculas; se trata del campo denominado Id_Peli, de tipo numrico (el dominio indica que slo podemos introducir valores que sean nmeros para este campo) y para el que se ha introducido un comentario que describe lo que es.

2.1.

Nombre y tipo de los campos

Para denir la primera columna hay que situarse en la primera la de la rejilla y en la columna Nombre del campo escribimos el nombre que tendr el campo en la base de datos (Id_Peli en nuestro ejemplo). Para establecer el dominio (Tipo del campo) basta con pinchar en la celda correspondiente y seleccionar el elemento deseado de la lista desplegable que aparece en ese momento. Hay varios tipos para elegir, dependiendo del tipo de dato que queramos almacenar en ese campo: Si lo que deseas es introducir informacin textual (como un nombre o el ttulo de una pelcula) es frecuente elegir los valores Texto [VARCHAR] (se especica la cantidad, hasta un mximo de 255 caracteres), Texto(jo) [CHAR] (igual que el anterior, pero con la diferencia de que el nmero de caracteres que indiquemos ser el que ocupe por defecto, siendo rellenado, si es necesario, con espacios en blanco), Texto [VARCHAR_IGNORECASE] (como Texto [VARCHAR], slo que no distingue entre maysculas y minsculas) o Nota [LONGVARCHAR] (para un texto variable muy largo, hasta 2 GB, como la descripcin de un producto o la sinopsis de una pelcula). Cuando queremos introducir informacin de tipo numrico (la cantidad de unidades disponibles en la tienda de un determinado producto, por ejemplo) es frecuente elegir Nmero [NUMERIC] (permite almacenar nmeros

-6-

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

especicando precisin y escala, por ejemplo numeric(7,6) ser un nmero que tiene un dgito antes del decimal y 6 dgitos despus del decimal), Tiny Integer [TINYINT] (para valores en un rango numrico pequeo; enteros entre 0 y 255 sin signo, o -128 y 127 con l, es decir que ocupa 1 byte), Small Integer [SMALLINT] (enteros entre 0 y 65535 sin signo, o -32768 y 32767 con signo, es decir que ocupa 2 bytes), Integer [INTEGER] (ocupa 4 bytes y, por tanto, permite almacenar nmeros enteros grandes), BigInt [BIGINT] (ocupa 8 bytes, es decir que sirve para almacenar nmeros muy grandes), o Float [FLOAT] (usa 4 bytes), Real [REAL] (usa 8 bytes) o Double [DOUBLE] (igual que el anterior) si queremos usar nmeros con decimales (con valores de ms pequeos y con menos decimales a ms grandes y con ms decimales respectivamente). Tambin cabe destacar el tipo Fecha [DATE] para introducir datos que se pueden interpretar como fechas, obviamente, o el tipo S/No [BOOLEAN] que permite introducir un dato que solamente puede tomar dos valores posibles (en general, verdadero o falso). Los valores 1 y S se interpretan como verdadero, mientras que los valores 0 y No se interpretan como falso. En las consultas, se puede emplear cualquiera de estos valores, pero si se emplean las palabras hay que recordar que S lleva tilde.

Figura 6: Denimos el primer campo de la tabla como clave primaria.

Si quieres tener ms informacin o no ests seguro del todo acerca del tipo que debes establecer para un campo determinado en el diseo de una tabla consulta con tu profesor de prcticas. Tambin tienes ms informacin en la pgina web que citamos en la bibliografa (vale mucho la pena que le eches un vistazo). Para introducir un comentario descriptivo basta con pinchar en la celda correspondiente y teclear lo que consideremos conveniente.

2.2.

Clave primaria

Como ya sabemos (vase el cuaderno de teora del Tema 1), en cada tabla hay que especicar cul es la clave primaria que identica de manera nica cada elemento en la base de datos. Esta clave puede estar formada por un nico campo (lo habitual) o por una combinacin de ms de uno. Para denir la clave primaria, debemos seleccionar con el ratn el campo o campos deseados (hay que pinchar en la celda que hay a la izquierda del nombre del campo, pinchar con el ratn al mismo tiempo que pulsamos la tecla Ctrl para ampliar la seleccin) y, despus, hacer clic con el botn derecho del ratn en la celda que hay por fuera, a la izquierda del nombre del campo (vale cualquiera si hemos seleccionado dos o ms campos). Entonces seleccionamos la opcin Llave primaria del men contextual que emerge (vase la Figura 6). En el caso de nuestra tabla de pelculas, no hay ningn campo, a priori, que podamos utilizar para diferenciar una pelcula de otra, ya que, por ejemplo, podemos tener dos pelculas con el mismo ttulo o dos pelculas con el mismo director. Cuando nos encontremos con esta situacin, se suele denir un campo de tipo numrico (como hacemos con Id_Peli) que har el papel de clave primaria. Ya sabes, por tanto, que ese campo siempre tiene que tomar un valor para cada la de la tabla y que dicho valor no puede repetirse en ninguna la. Esto no pasara si hablsemos de personas, ya que el campo DNI actuara como clave primaria y no tendramos que denir un campo adrede para ello. En la Figura 7 puedes apreciar el resultado tras denir como clave primaria el campo Id_Peli en nuestro ejemplo. Observa que hay un pequeo icono con forma de llave a la izquierda del nombre del campo. Por otro lado, en la parte de abajo de

-7-

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 7: Tras denir el primer campo de la tabla como clave primaria, podemos apreciar cmo aparece un icono con forma de llave a la izquierda del nombre del campo.

la ventana del diseo de la tabla aparece una descripcin del tipo de campo elegido. En este caso (tipo Nmero [NUMERIC]), podemos especicar el tamao en cifras (si se tratase de texto estaramos hablando del nmero de caracteres) y el nmero de decimales (si ha lugar). Es importante que sepas que puedes especicar un valor determinado por omisin (si el usuario de la base de datos no da un valor para el campo al introducir los datos de un elemento). Abajo, en la caja Ejemplo de formato puedes ver cmo se mostraran los valores almacenados (en informes, formularios o consultas).

Figura 8: Terminamos de denir los campos de la tabla Pelculas.

Ahora, tendramos que ir introduciendo los sucesivos campos en las consecutivas hasta completar el diseo de la tabla (denir todos los campos y sus dominios), tal como muestra la Figura 8. Observa que tenemos campos de tipo texto para almacenar el ttulo, el nombre del director el gnero, el formato y la sinopsis, campos de tipo numrico para almacenar el identicador de la pelcula (clave primaria creada por nosotros), la calicacin y el identicador del estuche donde est guardada, y campos de otros tipos (fecha y booleano) para guardar la fecha de estreno en Espaa y saber si la tenemos prestada o no.

-8-

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

2.3.

Guardar una tabla

Una vez creados todos los campos con sus propiedades, debemos guardar la tabla. Para ello pulsamos sobre el icono en forma de disquete de la esquina superior izquierda. A continuacin aparece un dilogo que pide que introduzcamos el nombre de la tabla. En dicha ventana introducimos el nombre Peliculas y pinchamos el botn Aceptar, tal como se puede apreciar en la gura de la derecha. Tras guardar la tabla, cerramos la ventana para el diseo de tablas. Si hemos seguido todos los pasos correctamente, la tabla Peliculas debe aparecer en la lista Figura 9: Guardamos la tabla de las pelculas una vez de objetos del tipo Tablas en la parte inferior de la ventana central de terminado su diseo. gestin de Base, tal como ilustra la Figura 10. Date cuenta de que no hemos empleado tildes ni caracteres propios del idioma, tales como ees, a la hora de poner nombres a los campos o a la tabla. Esto es debido a que las tildes y otros caracteres propios del idioma pueden producir problemas en Base, por lo que es mejor evitar su uso, sobre todo si queremos usar la base de datos en otros sistemas operativos (Linux si estamos en Windows o viceversa). Recuerda que LO es multiplataforma. A qu crees que es debido esto? Si has estudiado el Tema 3 de teora deberas tener una respuesta para esta pregunta, si no, mal vas.

Figura 10: Aspecto de la ventana central de gestin tras haber creado la tabla de pelculas.

Figura 11: Abrimos la tabla de pelculas para insertar datos.

-9-

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 12: Hemos insertado diez registros (pelculas) en la tabla.

2.4.

Gestionar registros

A continuacin, vamos a abordar el tema de la introduccin de datos en las tablas que vayamos creando. En este momento, acabamos de crear la tabla para las pelculas. Nos disponemos, pues, a introducir algunos elementos en ella. Para ello, y desde la ventana central de gestin (vase la Figura 10), haremos doble clic con el botn izquierdo del ratn sobre la tabla Peliculas. Otra posibilidad consiste en acceder al men contextual, haciendo clic con el botn derecho del ratn, y seleccionar la opcin Abrir. Observa que hay una opcin que se llama Editar que permite volver a la pantalla de diseo de tablas para poder modicar la denicin de los campos de la tabla (o bien aadir o quitar campos).

Figura 13: No pueden existir valores repetidos para el campo Id_Peli porque se trata de una clave primaria.

A continuacin, emerge una ventana similar a la que se muestra en la Figura 11. Esta ventana muestra la hoja de datos para la tabla. Observa que aparecen las diez columnas (campos) que denimos en el diseo de la tabla y ninguna la insertada (como es natural, pues acabamos de crear la tabla). Podemos ver tambin que el campo Prestada aparece con un cuadrado. Este cuadrado indica que es un campo de tipo booleano y que aparezca con una rayita signica que no hay ninguna opcin elegida por el momento. Tambin se puede ver que al principio de la la aparece una pequea estrella amarilla, dicha estrella seala el lugar donde est la nueva la a insertar, en nuestro caso, la primera pelcula. Simplemente hemos de hacer clic con el ratn en la celda correspondiente al campo que queramos editar y teclear el valor que deseemos introducir. Hemos de proceder as, la por la, por cada nuevo registro (pelcula) cuyos datos queramos introducir en la tabla. Tras introducir diez registros (pelculas) con todos los campos rellenos, tendremos una situacin parecida a la que ilustra la Figura 12. Conviene que vayamos guardando los datos introducidos cada cierto tiempo (y para eso est el icono con forma de disquete que hay en la esquina superior izquierda). Queremos resaltar la importancia de la denicin de las claves primarias en las tablas que creemos, ya que, al hacerlo, indicamos a Base que tome medidas para preservar la integridad de las mismas. Por ejemplo, observa atentamente la situacin descrita en la Figura 13 al intentar introducir una nueva pelcula en la tabla que tiene el mismo identicador que otra ya existente. Base no nos deja introducir ese dato y muestra, en una ventana emergente, un mensaje de error2 . A travs de las opciones del men Editar podemos borrar registros (previamente hacemos clic en la celda que hay a su izquierda para seleccionarlos, combinando con el uso de la tecla Ctrl para ampliar la seleccin) o bien modicar sus datos. Tambin podemos modicar los datos pinchando en la celda que los contiene y reescribiendo a nuestra voluntad. En la parte inferior de la ventana se puede apreciar la barra de navegacin entre registros (vase la Figura 12). En esta barra se indica, en la parte izquierda, la la en la que estamos sobre el total de las existentes, as como los botones, por este orden, para ir a la primera la, a la anterior, a la siguiente, a la ltima o crear una nueva. Tambin tenemos una serie de iconos de la barra de herramientas, destacados en el recuadro rojo que hay ms a la
2 Como

en otras circunstancias, se trata de un mensaje ciertamente crptico. En general, ante mejorables mensajes de un sistema informtico, es nuestra experiencia como usuarios y nuestros conocimientos lo que nos ayuda a su correcta comprensin y diagnstico.

- 10 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 14: Aspectos nales de las tablas de estuches, actores y pelculas, respectivamente, tras introducir todos los datos disponibles.

izquierda en la Figura 12, que permiten ordenar los registros por orden ascendente o descendente segn los valores del campo que hayamos seleccionado (haciendo clic con el botn izquierdo del ratn encima del nombre del campo). El primero de ellos (el de ms a la izquierda) permite especicar criterios de ordenacin ms elaborados que impliquen a ms de un campo. Los iconos que hay en el recuadro rojo que aparece ms a la derecha en la Figura 12 permiten especicar las opciones de ltrado de datos, las cuales nos permiten elegir de forma simple qu datos queremos que se muestren. Las cuatro opciones, por el orden en que aparecen los botones, son: Filtrado automtico. Filtra las las segn el contenido del campo seleccionado. Usar o no el ltro, es decir, conmuta entre las vistas con y sin ltro. Filtro predeterminado, que permite establecer las opciones del ltro de forma parecida a como establecamos los criterios de ordenacin, teniendo en cuenta los valores que especiquemos para varios campos. Cancelar ltro, de manera que se muestran todos los registros de la tabla nuevamente. Tras terminar el proceso de creacin de tablas y edicin de datos con la base de datos de nuestro ejemplo, tendremos tres tablas (pelculas, estuches y actores) cuyos contenidos se muestran en la Figura 14. No obstante, no quisiramos terminar sin apuntar que existe otra forma de introducir datos, ms adecuada para usuarios nales de la base de datos (no informticos). Esta manera alternativa consiste en usar un formulario, que previamente hay que denir. Lo veremos en la Seccin 6.

- 11 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 15: Base proporciona una herramienta para denir las relaciones entre tablas.

3.
3.1.

Relaciones entre tablas


Relacin uno a muchos (1:M)

Una de las cosas ms importantes en el modelo relacional de bases de datos es la correcta denicin de las relaciones entre las entidades (tablas) que la conforman. Un buen diseo de la base de datos requiere que se establezcan adecuadamente estas relaciones. Si nos jamos en nuestro ejemplo de las pelculas que se guardan en estuches, tenemos una relacin de tipo 1:M (uno a muchos) entre los estuches y las pelculas, ya que un estuche permite guardar muchas pelculas (segn su capacidad), pero una pelcula concreta slo puede estar almacenada en un estuche. Para poder establecer relaciones, en este caso la relacin 1:M entre estuches y pelculas, Base proporciona una herramienta que permite denirlas con gran precisin. Esa herramienta la proporciona la ventana Diseo de relacin, a la que se llega seleccionando la opcin Relaciones. . . del men Herramientas, tal como indica la Figura 15. Es necesario que denamos las relaciones con esta herramienta, porque si no Base no tiene forma de saber qu relaciones existen entre las tablas denidas, ni cules son los campos implicados en ellas. Se pueden producir errores en el acceso a la informacin o, lo que es peor, mostrar al usuario de la base de datos informacin duplicada o incorrecta si no denimos las relaciones existentes a travs de esta herramienta. Una vez hemos abierto la ventana Diseo de relacin, lo primero que tenemos que hacer es agregar las tablas con las que deseamos trabajar, es decir, las tablas correspondientes a las entidades que estn relacionadas. En nuestro ejemplo, estas tablas son Estuches y Peliculas. Para agregar las tablas basta con pinchar en el icono correspondiente (resaltado con un crculo rojo en la imagen de arriba de la Figura 16) y seleccionar las tablas de la ventana que aparece, tal como ilustra la imagen de la parte superior de la Figura 16. Cada vez que seleccionemos una tabla que deseemos agregar, hemos de pinchar en el botn Aadir, tambin resaltado en dicha imagen. Cuando hayamos terminado de aadir las tablas mencionadas anteriormente, pulsamos el botn Cerrar para cerrar la ventana emergente con la lista de tablas. En ese momento, podemos apreciar que el aspecto de la ventana Diseo de relacin es el que muestra la imagen en la parte inferior de la Figura 16. Como hemos visto ya, la relacin entre estuches y pelculas es una relacin 1:M, puesto que se pueden guardar varias pelculas en un nico estuche, pero una pelcula no puede estar en varios estuches a la vez. En otras palabras, es la tabla Peliculas la que hace el papel de muchos en esta relacin. Por tanto, para establecer esta relacin, necesitamos que el campo que acta como clave primaria en la tabla Estuches conste tambin como clave externa3 en la tabla Peliculas. Este campo que acta como clave externa en Peliculas, Id_Estuche, ya lo tuvimos en cuenta al disear la tabla Peliculas (vase la Figura 8). Para denir la relacin entre las tablas agregadas, es decir, indicar los campos de ambas tablas a travs de los cuales se establece la relacin, pinchamos en el botn correspondiente de la barra de herramientas, que es el que est enmarcado con un rectngulo rojo en la imagen inferior de la Figura 16. En ese momento, denimos la relacin que se establece
3 Recuerda

que en el Tema 1 de teora ya se deni este concepto.

- 12 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 16: Diseo de una relacin 1:M: aadiendo las tablas a la relacin.

(a) Indicamos los campos de ambas tablas que estn relacionados.

(b) El correspondiente a Estuches es clave primaria (es la parte uno en la relacin).

Figura 17: Diseo de una relacin 1:M.

- 13 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

conectando (o ligando) los valores de los campos Id_Estuche de ambas tablas en la ventana que ilustra la Figura 17(a). Ojo! no es necesario que ambos campos tengan el mismo nombre en ambas tablas (podran ser distintos), pero lo hemos hecho as en nuestro ejemplo para resaltar la relacin existente. A la hora de establecer las opciones, fjate en los valores seleccionados para Tablas implicadas, Campos implicados, Opciones de actualizacin y Opciones de eliminacin en la Figura 17(a). Si quieres conocer ms cosas al respecto del signicado de las diversas opciones de actualizacin y eliminacin, consulta la bibliografa. Tras hacer clic en el botn Aceptar, volvemos a la ventana principal del diseo de relacin, donde podemos observar el aspecto que se muestra en la Figura 17(b). Se han resaltado los botones Deshacer, que permite deshacer la ltima relacin que hemos creado, y Guardar, que es el que hemos de pinchar para guardar los cambios efectuados en la base de datos (en este caso, aadir una nueva relacin), de la barra de herramientas.

3.2.

Relacin muchos a muchos (M:M)

Figura 18: La relacin M:M necesita de una tabla interpuesta. Aprovechamos para guardar informacin asociada a la relacin que pueda interesarnos.

Otro tipo de relacin que admite el modelo relacional es la relacin muchos a muchos, conocida como M:M. En nuestro ejemplo, tenemos una tabla que guarda informacin de los actores que intervienen en las pelculas que tenemos en nuestra casa. Pensemos en la relacin que se establece, precisamente, entre los actores y las pelculas. Por un lado, tenemos que un actor concreto ha podido participar en varias de las pelculas que tenemos (como es el caso de Ethan Hawke). Por otro,

- 14 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

sabemos que en una pelcula determinada participan varios actores (como es el caso de Training Day, en la que participan Ethan Hawke y Denzel Washington). Es decir, que por un lado tenemos una relacin 1:M entre actores y pelculas y, por otro, una relacin 1:M entre pelculas y actores. Este tipo de relacin se denomina muchos a muchos (M:M). Para representar una relacin de este tipo no podemos replicar los campos clave de ambas tablas en la otra, como claves externas, ya que implicara una gran redundancia de informacin (consulta los apuntes de teora del Tema 1). Para poder denir esta relacin en el modelo relacional, es necesario crear una nueva tabla que servir para emparejar los datos que relacionan un determinado actor con una pelcula concreta, tal como ilustran las imgenes de la Figura 18. En la imagen de arriba, podemos apreciar que, en la denicin de la tabla, deben estar presentes los campos que actan como claves primarias en las tablas Peliculas (Id_Peli) y Actores (Id_Actor). Adems, podemos ver que se han seleccionado ambos campos y se ha establecido la combinacin de los dos como clave primaria de la nueva tabla, a la que hemos denominado Papeles (observa atentamente el recuadro rojo).

Figura 19: Diseo de una relacin M:M: Aadimos la nueva tabla interpuesta para poder crear las relaciones.

Si no tenemos ningn requisito de informacin particular podramos dejar esta nueva tabla tal como est (slo con esos dos campos actuando como clave primaria). Con esto nos bastara para sacar listados que relacionasen actores con pelculas dame las pelculas en las que ha intervenido el actor X o viceversa dame los actores que han protagonizado la pelcula Y. Pero imagnate que estuvisemos interesados, por ejemplo, en conocer qu personaje ha interpretado un determinado actor en una pelcula concreta. Este tipo de informacin est asociada con la relacin y, si tenemos ese requisito (nos lo pide el cliente), podemos aprovechar la nueva tabla creada para guardar, igualmente, este dato. En la Figura 18 puedes apreciar que hemos aprovechado la tabla Papeles, creada para representar la relacin M:M entre actores y pelculas, para guardar este dato, junto con la valoracin que hace un crtico de cine de dicha interpretacin. Ahora ya podemos dedicarnos a denir la relacin M:M de manera explcita en Base. En la ventana Diseo de relacin (ya hemos explicado antes cmo llegar a ella) vamos a agregar las tablas Papeles y Actores. Observa atentamente el proceso en la Figura 19 (slo con la tabla Papeles). Procederamos de la misma manera para aadir la tabla Actores. Ahora, lo nico que resta por hacer es aadir las relaciones 1:M en ambos sentidos: de Peliculas con Papeles, a travs de los campos Id_Peli de ambas tablas, y de Actores con Papeles, a travs de los campos Id_Actor de ambas tablas, tal como describe la secuencia de imgenes de la Figura 20. De esta manera, conseguimos una relacin M:M de manera indirecta a travs de la tabla Papeles y las relaciones 1:M denidas entre Peliculas y Actores. Observa atentamente las opciones elegidas en las ventanas que permiten congurar ambas relaciones y no olvides pinchar el icono Guardar de la barra de herramientas para guardar todos los cambios efectuados en la base de datos.

4.

Diseo de consultas

El valor de una base de datos viene dado por la informacin que podemos extraer de ella y la rapidez con que lo hagamos. Si hacemos un buen diseo del modelo de informacin subyacente, tenemos muchas posibilidades de satisfacer el objetivo de la velocidad. En lo que resta de documento vamos a intentar mostrar cmo lograr el primer objetivo: extraer informacin de la base de datos. Para ello, resulta bsica la herramienta de consultas que proporciona Base. A la hora de extraer informacin, tambin resulta importante la herramienta de generacin de vistas, que introduciremos en la Seccin 5. Para crear una consulta, Base proporciona tres posibilidades desde la ventana central de gestin de la base

- 15 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 20: Procedemos a crear las nuevas relaciones que denirn la relacin M:M entre los actores y las pelculas que protagonizan.

de datos, tal como se puede apreciar en la Figura 21.

- 16 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 21: Creamos una consulta en vista Diseo.

4.1.

Vista diseo

En primer lugar, vamos a crear una consulta empleando la denominada vista Diseo (vase la Figura 21). Cuando pinchamos en esta opcin, Base muestra la ventana de diseo de la bsqueda que se muestra en la serie de imgenes de la Figura 22. Ahora, nuestro objetivo es crear una consulta que muestre todas las pelculas protagonizadas por Ethan Hawke y que estn guardadas en el estuche 1. Para cada pelcula queremos mostrar su ttulo, nombre del director, calicacin, gnero, sinopsis, el personaje que en ella interpreta Ethan Hawke, la valoracin crtica de su interpretacin y la localizacin del estuche donde est guardada (es decir, la localizacin del estuche 1, pues por el criterio de la consulta todas las pelculas estn almacenadas en ese estuche). Tal como se ilustra en la imagen de la Figura 22(a), lo primero que hay que hacer es aadir las tablas implicadas en la consulta. Para ello, hay que pinchar en el botn enmarcado en rojo de la barra de herramientas. Entonces, aparece la ventana emergente Agregar tabla o consulta. En dicha ventana hemos de pinchar en la tabla que deseemos aadir y, luego, pinchar el botn Aadir. Esto lo hacemos con las tablas Estuches y Papeles en nuestro ejemplo, pues son las dos que contienen los campos que queremos mostrar o usar para denir posteriormente los criterios de bsqueda (vase la imagen de la Figura 22(b)). Obviamente, tambin hemos de aadir la tabla Peliculas. Una vez hemos terminado de aadir las tablas necesarias pinchamos en el botn Cerrar de la ventana Agregar tabla o consulta. En este momento, tenemos la situacin que se ilustra en la imagen de la Figura 22(c). En la parte de arriba de la ventana de diseo tenemos las tres tablas implicadas en la consulta, mientras que en la parte de abajo tenemos que comenzar a denirla. En primer lugar, tal como ilustra el crculo rojo de la imagen, hay que indicar cules son los campos implicados en la consulta, bien porque queremos mostrar los valores que almacenan, bien porque participan en la denicin de los criterios de bsqueda. Para ello simplemente hemos de pinchar en la lista desplegable y seleccionar el que nos interese. Despus, pasamos a la siguiente columna y seguimos el mismo procedimiento hasta que acabemos de seleccionar todos los campos implicados. Al mismo tiempo que vamos seleccionando los campos, podemos aprovechar para marcar la casilla de la la Visible si se trata de campos cuyos valores se van a mostrar al ejecutar la consulta, tal como ilustra la imagen de la Figura 22(d). La imagen de arriba de la Figura 23 muestra la situacin tras haber seleccionado todos los campos que van a mostrar sus datos en la consulta. Debes tener en cuenta que, cuando se muestre la ventana con los datos resultantes al ejecutar la consulta, en su cabecera aparecern, por defecto, los nombres de los campos correspondientes tal cual se han denido en las tablas de la base de datos. Esto se puede cambiar para que en dicha cabecera aparezcan unos ttulos ms claricadores acerca de los datos que se estn mostrando. Esto es lo que Base conoce como asignacin de alias. Precisamente ahora, podemos aprovechar para denir los alias (si ha lugar) en la la correspondiente, tal como se muestra en la imagen de abajo de la Figura 23. En este caso, cambiamos los nombres de los campos son los valores por defecto para los rtulos Personaje, Valoracion y Localizacion por Interpreta a:, Su actuacin merece: y Est en:,

- 17 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 22: Proceso de creacin de una consulta que permite mostrar el ttulo, nombre del director, calicacin, gnero, sinopsis, personaje interpretado por el actor, calicacin de su actuacin y localizacin del estuche en que est guardada, de todas las pelculas protagonizadas por Ethan Hawke que estn almacenadas en el estuche 1.

respectivamente. Tan slo resta por denir los criterios de bsqueda. Para ello, emplearemos la la Criterio en la parte de abajo, tal como ilustra la imagen de arriba de la Figura 24. Pero antes tendremos que aadir los dos campos implicados en la bsqueda no se haban aadido anteriormente que son Id_Actor de la tabla Papeles e Id_Estuche de la tabla Estuches. Fjate que no hemos marcado sus casillas en la la Visible, ya que no vamos a mostrar los valores de estos campos en la consulta, pues slo se van a usar para especicar los criterios de bsqueda: slo mostraremos las pelculas almacenadas en el estuche 1 (condicin Id_Estuche igual a 1) protagonizadas por el actor Ethan Hawke (condicin Id_Actor igual a 1, que es la clave correspondiente a Ethan Hawke). Finalmente, guardaremos la consulta con el nombre que deseemos (pinchando en el botn con forma de disquete en la barra de herramientas) y volveremos a la ventana central de gestin de Base, donde aparecer en la lista de consultas creadas. Si ejecutamos la consulta (haciendo doble clic sobre su nombre), obtendremos el resultado que se muestra en la imagen de abajo de la Figura 24 (observa los rtulos enmarcados en rojo para ilustrar el uso de los alias). Date cuenta de que esta consulta funcionar gracias a que previamente denimos las relaciones entre las tablas Papeles y Peliculas por un lado, y Peliculas y Estuches por el otro en la Seccin 3. De esta manera, Base puede usar estas relaciones para ltrar los datos convenientemente y evitar duplicados. As, por ejemplo, slo se mostrarn una sola vez los registros en los que coincida el valor del campo Id_Peli tanto en

- 18 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 23: Arriba: terminamos de seleccionar los campos que deseamos mostrar en la consulta. Abajo: denimos alias (nombres que aparecern en la cabecera de la tabla) para ciertos campos.

la tabla Peliculas como en la tabla Papeles, que a su vez vendrn determinados por el valor del campo Id_Actor (slo los que tengan el valor 1 para este campo). Esto mismo ocurrir si tenemos en cuenta la relacin 1:M entre estuches y pelculas establecida a travs del campo Id_Estuche. Observa (mira nuevamente la imagen de arriba de la Figura 24) que tambin aprovechamos para denir los criterios de ordenacin de los registros resultantes en la la Orden (de mayor a menor calicacin en nuestro caso). Para nalizar esta seccin, queremos mostrarte otra forma alternativa, tal vez ms adecuada desde el punto de vista de un

- 19 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 24: Arriba: nalmente, especicamos el criterio de bsqueda (observa los campos implicados y los valores buscados). Abajo: resultado de ejecutar la consulta denida (fjate en que las cabeceras dentro del rectngulo rojo son los alias denidos para esos campos).

Figura 25: Otra forma alternativa de denir la ltima consulta efectuada. Observa que hay ms tablas implicadas en la consulta (la de Actores).

- 20 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

usuario nal, de realizar esta ltima consulta. Esta forma alternativa se ilustra en la Figura 25. En este caso empleamos el nombre del actor Ethan Hawke en lugar de la clave que lo identica (1) a travs del campo Nombre de la tabla Actores a la hora de denir uno de los dos criterios de bsqueda (el otro criterio, que implica al estuche, se deja igual que antes). Fjate que, en este caso, hay cuatro tablas implicadas en la creacin de la consulta en lugar de tres (hemos de aadir la tabla Actores pues es la nica en la que aparece el campo Nombre del actor). Tambin se ha modicado la condicin referente al actor en el criterio de bsqueda, como hemos comentado antes, en la la Criterio. Dejamos al lector que saque sus propias conclusiones al respecto. Hemos de apuntar que esta denicin alternativa puede resultar en la prctica4 menos eciente que la original, ya que necesita acceder a ms tablas para obtener los datos. No obstante, un informtico siempre puede recurrir al truco de lanzar una primera consulta que devuelva la clave a partir del nombre del actor y, posteriormente, ya conociendo el valor de la clave, ejecutar la primera versin de la consulta (la que empleaba dicha clave como criterio de bsqueda) para mostrar los datos solicitados de forma totalmente transparente al usuario nal, ignorante del nmero y tipo de consultas efectuadas.

Figura 26: Creamos una consulta con el asistente que proporciona Base.

4.2.

Asistente

Otra posibilidad que nos ofrece Base para crear una consulta es el asistente hay que pinchar en la opcin marcada con el recuadro rojo en la Figura 26. Nuestro objetivo es crear una consulta que proporcione el nombre, fecha de nacimiento y nacionalidad de todos los actores de la base de datos que han nacido en Reino Unido. El proceso completo se describe de forma grca en la serie de imgenes que se muestran en la Figura 27. En el primer paso, hemos de seleccionar los campos implicados en la consulta, bien porque sean campos cuyos datos queremos mostrar por pantalla, bien porque sean campos que vamos a utilizar en la denicin posterior de los criterios de bsqueda de la consulta. Para ello, tendremos que ir seleccionando las tablas correspondientes, para que sus campos aparezcan en la lista que se muestra en el cuadro de abajo (fjate en las Figuras 27(a) y (b)). Para aadir todos los campos a la lista de Campos de la consulta que aparece en el cuadro de la derecha, habra que pinchar el botn . Teniendo en cuenta la consulta que queremos realizar, slo nos interesan los campos Nombre, Nacimiento y Nacionalidad de la tabla Actores. Por tanto, una vez seleccionados en el cuadro de la izquierda (podemos seleccionarlos todos o bien proceder uno por uno) los aadimos al cuadro de la derecha pinchando el botn >, tal como ilustra la Figura 27(c). A continuacin, pinchamos el botn Siguiente y pasamos a la siguiente ventana (la que muestra la Figura 27(d)). Tras seleccionar los campos, pasamos a denir el orden por el que queremos clasicar los datos que se mostrarn al ejecutar la consulta. En nuestro ejemplo, queremos ordenar la lista de actores por fecha de nacimiento (de ms antiguo a ms reciente) en primer lugar. Como segundo criterio de ordenacin (suponiendo que hubiese dos actores britnicos
4 Sobre

todo si consideramos una situacin real en una base de datos con miles de registros.

- 21 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 27: Proceso de creacin de una consulta que permite mostrar el nombre, la fecha de nacimiento y la nacionalidad de todos los actores de la base de datos que han nacido en Reino Unido empleando el asistente de Base.

que hubiesen nacido en la misma fecha) lo haremos por el nombre en orden alfabtico (fjate bien en la imagen de la Figura 27(d)). Nuevamente pinchamos en el botn Siguiente para avanzar al siguiente paso. Observa que, si te equivocas en algn momento, siempre puedes retroceder al paso anterior pinchando en el botn Regresar. En este paso, la ventana del asistente pide que introduzcamos el criterio para realizar la bsqueda, es decir, hay que especicar las condiciones que queremos que cumplan los registros de la base de datos para ser mostrados al ejecutar la consulta, tal como ilustra la imagen de la Figura 27(e). En la parte de arriba de esta ventana hemos de decidir si queremos que la bsqueda satisfaga todas las condiciones que se detallan abajo (lo que sera una condicin lgica AND) o bien solamente una cualquiera de ellas (lo que sera una condicin lgica OR). En la parte de abajo hemos de seleccionar tanto los campos que determinan las condiciones de la bsqueda, como detallar cules son stas. En nuestro ejemplo, solamente hay una condicin que debe satisfacerse: buscamos actores britnicos, es decir, aquellos registros que hay en la tabla Actores de la

- 22 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

base de datos cuyo valor para el campo Nacionalidad es igual a Reino Unido. Fjate en la imagen de la Figura 27(e) y vers que ste es el criterio que hemos especicado. Despus, pinchamos el botn Siguiente y pasamos al siguiente paso, ilustrado en la imagen que hay a su derecha. Podemos apreciar en la imagen de la Figura 27(f) que ahora toca seleccionar el tipo de consulta que deseamos realizar. Nosotros seleccionaremos la opcin Consulta detallada, ya que deseamos mostrar todos los registros que satisfagan las condiciones de bsqueda de la consulta. La Consulta resumida implica usar lo que Base denomina funciones agregadas, que, de momento, no vamos a ver. El lector interesado debe remitirse a la bibliografa proporcionada para conocer ms detalles al respecto. Tras pulsar el botn Siguiente pasamos a la ventana que se muestra en la Figura 27(g). El penltimo paso consiste en ponerle un poco de maquillaje al listado resultante de la consulta deniendo los alias para los campos de las tablas implicadas. Recuerda de cuando denimos la primera consulta empleando la vista diseo que los alias se limitan a cambiar los rtulos que aparecern en la cabecera del listado con los registros que cumplen con los criterios de bsqueda al ejecutar la consulta. As, por ejemplo, queremos que en lugar de Nacimiento aparezca el rtulo Fecha de nacimiento en la columna correspondiente a dicho dato (no cambiaremos el rtulo para los otros campos). Despus de denir los alias que se deseen, pinchamos nuevamente en el botn Siguiente y pasamos al ltimo paso. El ltimo paso realmente no es tal. Se trata simplemente de una ventana que muestra un resumen con la informacin que hemos ido introduciendo en las ventanas anteriores. sta es la ltima oportunidad que tenemos para volver atrs y recticar los errores que pudisemos haber cometido antes de guardar la consulta. Tan slo queremos que observes con detenimiento dos cosas de la Figura 27(h).

Figura 28: Resultado de ejecutar la consulta Actores_por_Nacionalidad (haciendo doble clic con el botn izquierdo del ratn sobre su nombre).

En primer lugar, fjate en la caja Nombre de la consulta. Por defecto, Base sugiere un nombre por defecto a la hora de guardarla. Lo normal es que lo cambies por otro que te resulte ms adecuado (observa que nosotros lo hemos cambiado por el nombre Actores_por_Nacionalidad). En segundo lugar, tenemos que decidir cmo deseamos continuar una vez se haya creado la consulta al pinchar el botn Finalizar. Si elegimos la opcin Mostrar consulta, Base cerrar la ventana al pinchar el botn Finalizar y la ejecutar mostrndose los resultados (registros que concuerdan con el criterio de bsqueda) en una nueva ventana, tal como ilustra la Figura 28. Por el contrario, si seleccionamos la opcin Modicar consulta, Base la crear y la abrir en la ventana de diseo de bsqueda, la cual ofrece mayores posibilidades que el asistente (vase la Figura 30). Esta ventana tambin la podemos abrir desde la ventana central de gestin, como hemos visto en la seccin anterior. En cualquier caso, despus de crear la consulta, sta aparecer en la lista de objetos correspondientes a Consultas en la ventana central de gestin de Base, tal como puede apreciarse en la Figura 29. Si hacemos clic con el botn derecho del ratn sobre el nombre de una consulta podremos acceder al men contextual que tiene, entre otras, las opciones Eliminar y Editar. La primera permite borrar una consulta creada, tras conrmar la accin en la posterior ventana emergente que lo solicita. La segunda permite modicar las caractersticas de la consulta (editarla) desde la ventana de diseo de bsqueda, tal como se ilustra en la Figura 30. En la seccin anterior ya vimos cmo crear una consulta desde la vista diseo. Aunque queremos que sea el lector el que saque sus propias conclusiones, pensamos que la vista diseo ofrece mayor exibilidad y comodidad a la hora de congurar las diferentes opciones (campos visibles, alias, denicin de criterios de bsqueda,. . . ).

4.3.

Vista SQL

Por ltimo, vamos a ver la ltima posibilidad que ofrece Base para crear una consulta: se trata de la vista SQL (vase la Figura 31). SQL son las siglas de Structured Query Language (lenguaje estructurado de consultas), el cual constituye un lenguaje estndar implementado por los principales sistemas de gestin de bases de datos relacionales (consulta los apuntes de teora del Tema 1).

- 23 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 29: Aspecto de la ventana central de Base tras haber creado la consulta Actores_por_Nacionalidad.

Figura 30: Abrimos la consulta que acabamos de crear en vista Diseo.

La vista SQL constituye una manera avanzada de crear las consultas, slo apta para el profesional informtico que tiene conocimientos de este lenguaje. Realmente, SQL es el lenguaje que utilizan los SGBD para acceder a la informacin, y Base no es una excepcin a este respecto. En realidad, Base genera la instruccin SQL correspondiente a la consulta que hemos diseado, siendo realmente dicha instruccin la que se emplea para el acceso a los datos. Vosotros no vais a usar esta vista para crear las consultas, pero pretendemos que os familiaricis un poco con este lenguaje y, por eso, en el boletn habr algn ejercicio en que se os pedir que le echis un vistazo a la instruccin SQL generada por Base al crear la consulta. La Figura 32 ilustra el proceso de creacin de la consulta que permite mostrar el ttulo, nombre del director, gnero,

- 24 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 31: Creamos una consulta en vista SQL.

Figura 32: Creamos una consulta en vista SQL (continuacin).

calicacin, fecha de estreno en nuestro pas y localizacin del estuche donde est guardada, de todas las pelculas que estn almacenadas en el estuche 2, ordenadas por calicacin (de menor a mayor) y por orden alfabtico del ttulo (como segundo criterio de ordenacin). En primer lugar, tenemos en la parte superior de la Figura 32 la ventana de diseo de bsqueda que aparece cuando creamos la consulta en vista SQL. Esta ventana es, bsicamente, una ventana de edicin, preparada para que el diseador escriba la instruccin SQL que desea ejecutar. Para nuestro ejemplo, sta se muestra en la ventana de abajo (vase la Figura 32). Observa que las palabras clave del lenguaje SELECT, AS, FROM, WHERE, AND, ORDER BY,. . . estn

- 25 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 33: Aspecto de la ventana central de Base tras haber creado la consulta Ejemplo_Consulta_SQL_1.

marcadas en color azul. Por nuestra parte, poco ms tenemos que aadir, ya que aprender SQL queda un poco lejos de nuestros propsitos (aunque s que pretendemos que conozcas lo que es y para lo que sirve).

Figura 34: Resultado de ejecutar la consulta Ejemplo_Consulta_SQL_1 (haciendo doble clic con el botn izquierdo del ratn sobre su nombre).

Una vez hemos terminado de escribir la instruccin SQL, hemos de pinchar el icono con forma de disquete (est enmarcado dentro de un recuadro rojo en la imagen de la segunda la de la Figura 32) para guardarla. Entonces, aparece el cuadro de dilogo que se muestra en la parte inferior de dicha gura pidiendo que introduzcamos un nombre para guardar la consulta. Una vez escrito el nombre, pinchamos el botn Aceptar y volvemos a la ventana central de gestin, que ahora incluye la consulta recin creada (observa la Figura 33). Si hacemos doble clic sobre el nombre de la consulta, sta se ejecutar y mostrar el resultado que podemos apreciar en la Figura 34.

5.

Generacin y uso de vistas

En la jerga de las bases de datos, las vistas consisten en la denicin de una tabla a partir del resultado de la ejecucin de una consulta. Fjate que, de hecho, el resultado de ejecutar una consulta se devuelve en forma de tabla (observa, por ejemplo, las Figuras 24 abajo 34 y 28). Date cuenta, igualmente, de que aunque la consulta puede incluir varias tablas, el resultado siempre ser una nica tabla. De ah la potencia que proporciona la denicin de vistas en los SGBD. A las vistas se les considera, en cierta forma, como tablas virtuales. Las vistas, por consiguiente, tienen la misma estructura que una tabla clsica: las y columnas. La nica diferencia es que slo se almacena de ellas la denicin, no los datos. Los datos que se recuperan mediante una consulta a una vista se presentarn igual que los de una tabla. De hecho, si no se sabe que se est trabajando con una vista, nada hace suponer que es as. Al igual que sucede con una tabla, se pueden insertar, actualizar, borrar y seleccionar datos en una vista. Aunque siempre

- 26 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 35: Arriba: denicin de la consulta (vista Diseo) que devuelve todas las pelculas del gnero dramtico. Abajo: resultado de ejecutar esta consulta. Fjate en que el resultado es, tambin, una tabla.

es posible seleccionar datos de una vista, en algunos SGBD existen restricciones para realizar el resto de las operaciones sobre vistas bajo ciertas condiciones. Las vistas se tratan, pues, como una tabla ms al nivel del gestor de base de datos. Pero, para qu sirven? Hasta ahora hemos visto que slo podemos realizar consultas sobre las tablas previamente denidas, pero qu ocurre si necesitamos realizar una consulta, no sobre una tabla, sino sobre los resultados de otra consulta? Pues para esto sirve la denicin de vistas: debemos convertir, previamente, la consulta primera en una vista para que, al tratarla el sistema como una tabla, pueda, posteriormente, ejecutar la segunda consulta sobre ella. Parece un trabalenguas, pero es bastante sencillo. Veamos un ejemplo. Imagina que queremos obtener la calicacin media de todas las pelculas que son dramas (es decir, cuyo gnero es Drama). No podemos realizar esta consulta directamente sobre la tabla Peliculas, ya que no podemos agrupar unos datos que todava no existen (se generan en la propia consulta) para calcular un promedio. Animamos al lector a que lo intente si no entiende lo que acabamos de decir. En su lugar, haremos esta consulta sobre el resultado de otra que devuelva una tabla con todas las pelculas del gnero dramtico, previamente convertida en vista. De esta manera, al tener existencia ya en una tabla, podremos agruparlas para calcular su promedio. La imagen en la parte superior de la Figura 35 muestra el diseo de una consulta que muestra el ttulo, el nombre del director, la calicacin y el gnero de todas las pelculas cuyo gnero es Drama, ordenadas de mayor a menor calicacin y, como criterio secundario, por el ttulo en orden alfabtico. Precisamente, la imagen de abajo de dicha gura muestra el resultado de ejecutar dicha consulta. Puedes apreciar que, realmente, el resultado de ejecutar la consulta es una nueva tabla. Para poder conseguir nuestro objetivo calcular la calicacin promedio de las pelculas dramticas que hay en nuestra

- 27 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 36: Desde la ventana central de gestin de Base creamos una vista de la consulta recin creada.

Figura 37: Aspecto de la ventana central de gestin de Base tras crear una vista para la consulta diseada en nuestro ejemplo. Observa que el icono para esta tabla virtual es distinto al de las tablas previamente creadas.

base de datos tenemos que generar una vista que Base tratar como una tabla ms a partir de esta consulta. La Figura 36 ilustra el proceso: desde la ventana central de gestin, una vez creada la consulta, procedemos a pinchar con el botn derecho del ratn sobre su nombre en la lista de objetos del tipo Consultas y seleccionamos la opcin Crear como vista del men contextual emergente. En ese momento, Base mostrar un dilogo donde nos pide que le demos un nombre a la vista (tabla) que vamos a crear. Rellenamos el dato (en nuestro caso le hemos dado el nombre Tabla_Consulta_Dramas) y pinchamos en Aceptar. Si ahora pinchamos en el icono correspondiente a los objetos de tipo tabla en la zona izquierda, la ventana central de gestin de Base tendr el aspecto que muestra la Figura 37. Podemos apreciar que el icono que Base asigna a esta nueva tabla recin creada es diferente al de las otras, ya que sta es una vista (tabla virtual) mientras las otras son tablas reales denidas en

- 28 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

el sistema.

Figura 38: Arriba: denicin de la consulta (vista Diseo) que calcula la calicacin media de las pelculas del gnero dramtico. Abajo: resultado de ejecutar esta consulta.

Por nuestra parte, ya slo resta denir la consulta sobre esta vista (consulta sobre consulta en realidad, tal y como queramos). Para ello, creamos la consulta en vista Diseo con las caractersticas que se ilustran en la imagen de arriba de la Figura 38 (fjate en las zonas marcadas en color rojo): Aadimos solamente la tabla Tabla_Consulta_Dramas al diseo de la consulta. sta es la tabla que representa la vista recin creada. Seleccionamos los campos Calicacin y Gnero de la vista. Realmente, slo nos importa el primero para poder efectuar el clculo del promedio que nos piden, pero hemos incluido el segundo para ilustrar el uso de la funcin Agrupar. Utilizamos la funcin Promedio sobre el campo Calicacin. La funcin coge los valores para este campo de todos los registros de la vista (cinco en nuestro ejemplo) y calcula su promedio ((10 + 10 + 9 + 9 + 8)/5 = 9,2). Justo lo que deseamos. Tambin utilizamos una funcin, Agrupar en este caso, sobre el campo Gnero. Lo que pretendemos es que se muestre un nico valor para aquellos registros que tengan el mismo dato en este campo. En nuestro ejemplo, los cinco registros de la vista tienen, obviamente, el mismo valor (Drama) en este campo, por lo que se agrupan en

- 29 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

un nico valor (vase la imagen de abajo de la Figura 38). Hay ms funciones que pueden utilizarse en Base. Consulta la bibliografa y la ayuda de la aplicacin para conocer ms detalles al respecto. Finalmente, pinchamos en el icono con forma de disquete que hay en la barra de herramientas y guardamos la consulta con el nombre Promedio_Dramas. El resultado de ejecutar la consulta se muestra en la imagen de abajo de la Figura 38. Podemos apreciar que el resultado es correcto, ya que aunque en realidad la calicacin promedio es 9,2, el valor mostrado es un nmero entero (9) ya que as es como se deni en su momento el campo Calicacin en la tabla Peliculas (vase la Figura 8). Observa, igualmente, el efecto de la funcin Agrupar, usada en la consulta aplicndola sobre el campo Gnero de la vista (el gnero, Drama obviamente, aparece una nica vez, agrupado su valor para todos los registros).

6.

Formularios

Llegado este punto, la parte nal de esta somera introduccin a la gestin de bases de datos con LO Base, ya deberamos tener claro que un buen diseo es parte importante en el funcionamiento de las bases de datos. No obstante, la parte fundamental de las mismas es, sin duda, la informacin que contienen. Una base de datos es valiosa en la medida en que lo es la informacin que contiene. Pero para poder extraer informacin primero hay que introducirla. La introduccin de datos directamente en las tablas resulta pesada y propensa a cometer errores. Por este motivo, para que el usuario nal de la base de datos pueda introducirlos de una manera ms cmoda y ecaz, Base proporciona los formularios (forms en ingls).

Figura 39: Creamos un formulario usando el asistente de Base.

Los formularios son, pues, un tipo de objeto que va a permitir la introduccin de datos en las tablas de una forma ms sencilla y mejorada. En lugar de introducir los datos directamente sobre la tabla, los datos se introducen en la tabla a travs de los formularios. En una base de datos se puede crear ms de un formulario basado en una misma tabla. Un formulario puede tomar algunos campos de una tabla o todos; incluso puede tomar campos de diferentes tablas o consultas en el caso de las consultas, lo ms lgico es mostrar sus resultados, aunque para ello puede resultar ms adecuado la utilizacin de informes. As, mientras las tablas estn pensadas para almacenar la informacin, los formularios se encargan de recogerla. Es muy importante que cierres las tablas con las que ests trabajando para que stas puedan incluir los datos introducidos en los formularios. Al cerrar o guardar los formularios, las tablas se actualizan.

6.1.

Creacin mediante el asistente

En primer lugar, vamos a crear un formulario que permita introducir, de forma sencilla, datos en la tabla de actores. Lo haremos usando el asistente para crear formularios que proporciona Base, tal como ilustra la imagen de la Figura 39.

- 30 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

La secuencia de imgenes que aparecen en la Figura 40 ilustra, paso a paso, el proceso de creacin de un formulario sencillo para la introduccin de datos de actores, con una serie de opciones predeterminadas a elegir. Como siempre, la vista Diseo proporciona mayor exibilidad y mayor nmero de opciones, aunque tambin resulta un proceso ms complejo. Lo veremos posteriormente cuando creemos un formulario para introducir los datos de las pelculas.

Figura 40: Proceso de creacin del formulario para la introduccin de datos en la tabla Actores empleando el asistente de Base.

El primer paso consiste en la seleccin de la tabla que va a quedar ligada al formulario y en la especicacin de los campos que van a aparecer en el mismo (vase la imagen de la Figura 40(a)). Tambin podemos elegir una consulta, ya que las consultas devuelven los datos en forma de tabla (recuerda las vistas), pero no tiene mucho sentido salvo para mostrar informacin. En nuestro ejemplo, seleccionamos la tabla Actores de la lista desplegable y aadimos todos sus campos al formulario (ya sabes, pinchando en el botn ), ya que queremos introducir todos los datos a travs del formulario (fjate en las zonas enmarcadas en rojo de la imagen). Despus, pinchamos el botn Siguiente para pasar al siguiente paso. El siguiente paso resulta un tanto ms complejo y, de hecho, no lo vamos a ver con detalle en este material de apoyo, por lo que nos limitaremos a pinchar en el botn Siguiente, tal como indica la imagen de la Figura 40(b). Se trata de crear lo que Base denomina subformularios. Un subformulario no es ms que un formulario relacionado con el que estamos creando y resulta til cuando, por ejemplo, queremos introducir datos en una tabla y, al mismo tiempo, en otra(s) tabla(s) que pueda(n) estar relacionada(s). Por ejemplo, si te jas bien en la imagen (el texto est en gris porque no se ha activado), podrs ver que en nuestro caso podramos aadir un subformulario basado en la tabla Papeles que est relacionada con Actores (repasa la Seccin 3). Como hemos comentado, no vamos a explicar cmo congurar un subformulario. Si tienes curiosidad, puedes averiguar ms detalles al respecto en la bibliografa. El tercer paso consiste en congurar la apariencia del formulario (vase la imagen de la Figura 40(c)). Podemos decidir si queremos que las etiquetas (rtulos que identican los campos) aparezcan a la izquierda o a la derecha de las cajitas de dilogo (seleccionamos izquierda) y la disposicin de los elementos en el formulario (hemos elegido en columnas con las etiquetas al lado elegido arriba). Otras disposiciones posibles son en columnas con las etiquetas arriba, en forma de tabla

- 31 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

o agrupados. Tras elegir las opciones deseadas, hemos de pinchar nuevamente en el botn Siguiente, lo que nos llevar al cuarto paso, donde hemos de decidir cmo vamos a utilizar el formulario (vase la imagen de la Figura 40(d)):

Figura 41: Aspecto de la ventana central de gestin tras crear el formulario Form_Intro_Actores.

Slo para introducir datos nuevos. El formulario no va a permitir navegar por los registros ya introducidos en la tabla (Actores en nuestro ejemplo), por lo que no mostrar los datos existentes. sta es la manera en que hemos decidido utilizarlo en nuestro ejemplo. Mostrando todos los registros. De esta manera s que permitimos visualizar los datos de todos los registros previamente introducidos. En este caso, podemos extender el control del formulario a tres niveles diferentes: Mostrar los datos existentes, pero no permitir su modicacin. Por tanto, slo podemos introducir datos nuevos. No permitir el borrado de datos existentes. Podemos modicar los datos, pero no borrar registros existentes, aparte de introducir datos nuevos como en el caso anterior. No permitir la introduccin de nuevos datos. Es decir, usaremos el formulario para modicar datos existentes. Combinado con los anteriores, ni siquiera eso podremos hacer, aunque esto slo tiene sentido si se trata de mostrar los datos de una consulta. Una vez pinchado el botn Siguiente, pasamos al penltimo paso, en el que hemos de decidir sobre cuestiones meramente estticas: el color de fondo de la pantalla del formulario y el efecto de los bordes de los campos. En la Figura 40(e) puedes apreciar que hemos elegido el color Azul hielo y el efecto 3D, respectivamente. Una vez ms, pinchamos el botn Siguiente y, ahora, pasamos al ltimo paso, donde nicamente hemos de introducir un nombre para guardar el formulario y decidir si deseamos ejecutarlo o modicarlo en la ventana de diseo al nalizar el proceso. Si te jas en la imagen de la Figura 40(f) vers que hemos guardado el formulario con el nombre Form_Intro_Actores y que hemos seleccionado la opcin de ejecutarlo (trabajar con l). Concluiremos el proceso haciendo clic en el botn Finalizar. Tras crear el formulario, el aspecto de la ventana central de gestin de Base ser similar al que ilustra la Figura 41. La Figura 42 muestra el resultado de ejecutar el formulario que acabamos de crear con el asistente. El usuario se limitar a introducir nuevos datos en las correspondientes cajas de texto. Observa (abajo a la izquierda en la imagen) que el formulario slo permite mostrar los registros nuevos que estamos introduciendo con l, tal como lo habamos congurado (recuerda que tenamos ya cinco actores en nuestra base de datos; observa la Figura 14). En la imagen de la Figura 42 hemos destacado tres botones de la barra de herramientas de abajo (fjate en los recuadros de color rojo). De izquierda a derecha, respectivamente, permiten avanzar al siguiente o retroceder al anterior registro, guardar los datos de los registros introducidos en el formulario (ste es el que usaremos preferiblemente para guardar los datos escritos en el formulario en la tabla de la base de datos) y actualizar la base de datos con los registros introducidos en el formulario, tal como indican los rtulos de la imagen.

- 32 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 42: Ejecutamos el formulario Form_Intro_Actores e introducimos los datos del actor Philip Seymour Hoffman.

Figura 43: Registros de la tabla Actores tras guardar la entrada anterior en el formulario (se han aadido los datos de Philip Seymour Hoffman).

La Figura 43 muestra el contenido de la tabla Actores tras guardar los datos introducidos en el formulario para el actor Philip Seymour Hoffman. Observa que se ha aadido un nuevo registro con dichos datos al nal de la tabla. Recuerda que para poder usar el formulario de introduccin de datos es necesario que la tabla est cerrada, si no, se producirn errores. Al hilo de los errores que pueden producirse, conviene recordar que el campo Id_Actor es la clave primaria de la tabla Actores, por lo que los valores que se introduzcan en este campo deben ser nicos. El formulario comprueba este tipo de restricciones (entre otros) y no deja introducir registros con claves duplicadas, tal como ilustra la Figura 44. El error se produce porque estamos intentando guardar un nuevo registro (los datos del actor Tommy Lee Jones) con valor 6 para el campo Id_Actor, el cual coincide con la clave de Philip Seymour Hoffman, previamente introducido (observa atentamente las marcas en rojo de la imagen).

6.2.

Creacin en vista diseo

A continuacin, vamos a crear un formulario para introducir los datos de las pelculas empleando la vista Diseo, tal como prometimos con anterioridad. El proceso va a ser ms complejo y arduo, a cambio de tener una mayor exibilidad y control total en la denicin del formulario (lgicamente, tambin se requiere algo ms de conocimiento). Para empezar, haremos clic en la opcin que permite crear un formulario en la vista Diseo desde la ventana central de gestin, tal como se indica en la Figura 45. En este momento aparece la ventana para el diseo de formularios, con un aspecto similar al que muestra la Figura 46. Podemos distinguir la zona central despejada de la ventana donde vamos a ir aadiendo los diversos campos que conforman el formulario, as como las barras de herramientas que hay a la izquierda y abajo, respectivamente la de campos del formulario (izquierda), diseo del formulario (abajo a la izquierda) y dibujo (abajo a la derecha). Nosotros emplearemos

- 33 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 44: Se produce un error al intentar guardar los datos de un nuevo actor con una clave ya existente en el formulario.

Figura 45: Creamos un formulario en la vista Diseo de Base.

fundamentalmente la primera (campos del formulario). El primer paso que tenemos que dar es crear un formulario nuevo. Para ello, procederemos tal como ilustra la Figura 47. Ejecutamos el Navegador del formulario pinchando en el botn enmarcado en un cuadro rojo de la barra diseo del formulario. Entonces, emerge una ventana pequea dentro del formulario. Hacemos clic con el botn derecho del ratn sobre Formularios y seleccionamos la opcin Formulario dentro de Nuevo del men contextual. A continuacin, le damos un nombre al formulario que acabamos de crear, Form_Intro_Pelis en nuestro caso, tal como indica la Figura 48. Para ello, simplemente pinchamos con el ratn en la cajita enmarcada en rojo y tecleamos el nombre que deseemos. Ahora, vamos a congurar las propiedades del formulario. Hemos de hacer clic con el botn derecho del ratn sobre el nombre del formulario recin creado y elegir la opcin Propiedades del men contextual emergente. En ese momento aparece la ventana que muestra la imagen de la Figura 49. Hacemos clic en la pestaa Datos y seleccionamos la tabla Peliculas como el contenido para el formulario, ligando de esta manera la tabla y el formulario (fjate en la zona encuadrada en

- 34 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 46: Ventana para el diseo de formularios en Base.

Figura 47: Usamos el navegador para crear un nuevo formulario.

rojo en la parte de arriba de la ventana). Las opciones marcadas en rojo abajo en la imagen tienen que ver con la conguracin de la forma en la que vamos a utilizar el formulario, algo que ya comentamos debidamente cuando empleamos el asistente para crear nuestro primer formulario (recuerda la imagen de la Figura 40(d) y los prrafos de texto que la comentaban). En este caso, vamos a usar el formulario tanto para aadir datos como para modicar los existentes, navegando por los registros de la tabla. Igualmente, vamos a permitir el borrado completo de registros (fjate bien en las opciones elegidas en la imagen de la Figura 49). Llega el momento de guardar en disco por primera vez el formulario que hemos creado (conviene ir guardando con cierta frecuencia el trabajo efectuado). Para ello, pinchamos en el botn con forma de disquete de la barra de herramientas que hay en la parte superior de la ventana de diseo de formularios, tal como indica la Figura 50. En la ventana que emerge a continuacin indicamos el nombre del archivo donde va a guardarse el formulario (usamos el mismo nombre que le dimos al formulario, Form_Intro_Pelis) y pinchamos en el botn Guardar, tal como ilustran las zonas marcadas en rojo en la imagen (por cierto, fjate que aparece el formulario Form_Intro_Actores que creamos con el asistente). Vamos a aadir el primer campo del formulario. Se trata de un campo de texto que vamos a utilizar para insertar (si aadimos un registro nuevo) o mostrar (si visualizamos los datos de uno ya existente) los datos del identicador de pelculas

- 35 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 48: Le damos el nombre Form_Intro_Pelis al formulario recin creado.

Figura 49: Accedemos a las propiedades del formulario para congurarlo adecuadamente.

(campo Id_Peli en la tabla Peliculas). Para aadir campos al formulario, emplearemos siempre la barra de herramientas campos del formulario que hay a la izquierda, tal como ilustra la Figura 51. Fjate que pinchamos el botn Campo de texto. En ese momento, el cursor cambia su forma. Si arrastramos con el ratn (manteniendo pulsado el botn izquierdo) sobre el rea en blanco del formulario denimos el espacio que ocupar el campo en el formulario. Posteriormente, podemos usar los tiradores (cuadraditos de color verde) para denir mejor el tamao (pinchando y arrastrando con el ratn). Tambin podemos mover el control y situarlo donde queramos arrastrndolo con el ratn. Lo ms importante es denir las propiedades de los controles que vamos aadiendo al formulario (en este momento slo hemos aadido el campo de texto), ligndolos con los campos correspondientes de la tabla de la base de datos asociada al mismo. Para poder hacer esto, tenemos que hacer clic con el botn derecho del ratn sobre el control cuyas propiedades deseamos congurar y seleccionar la opcin Campo de control. . . del men contextual que aparece. En ese momento, aparece una ventana como la que ilustra la Figura 52. En la pestaa Datos (vase la Figura 52) seleccionamos el campo de la tabla Peliculas que deseamos asociar al control, Id_Peli en nuestro ejemplo. Por otro lado, usaremos la pestaa General para darle un nombre al control que lo identique de forma nica en el formulario y para congurar sus opciones de aspecto y contenidos. Observa las opciones marcadas

- 36 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 50: Guardamos el formulario en un archivo con su mismo nombre.

Figura 51: Aadimos un campo de texto al formulario. Arrastrando las tiras con el ratn controlamos sus dimensiones. Para mover el campo de texto basta con arrastrarlo con el ratn.

en rojo en la Figura 53, donde le hemos puesto el nombre Campo_Id_Peli al control y donde hemos dejado las opciones de conguracin por defecto: el control est activado (si no, no podra usarse en el formulario), es visible (podemos tener formularios con campos invisibles para el usuario internos, para la gestin de datos del formulario, aunque esto es algo ms avanzado que no vamos a tratar) y permite escribir datos en l (si fuese de slo lectura se limitara a mostrar los datos, lo cual no tiene sentido si pretendemos usarlo para aadir nuevos registros o modicar los ya existentes). Hay ms opciones, pero estudiarlas queda fuera del objetivo de esta prctica. Si tienes curiosidad al respecto consulta la bibliografa y la propia ayuda de la aplicacin. Obviamente, un formulario donde slo aparecen controles (por ejemplo, cajas de texto donde debemos cumplimentar datos) y nada ms, no tiene mucha utilidad para un usuario nal (ni siquiera para un informtico!), ya que no sabra qu datos escribir en qu sitios. Necesitamos aadir rtulos (etiquetas en la jerga de Base) al formulario que indiquen explcitamente a qu tipo de informacin hace referencia cada control. En la Figura 54 se ilustra el proceso de insercin de una etiqueta en el formulario. Hemos enmarcado en rojo el botn de la barra de herramientas de la izquierda que hay que pinchar para aadir una etiqueta. Para situarla en la ventana del formulario procederemos de la misma manera que hicimos

- 37 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 52: Accedemos a las propiedades del campo de texto, concretamente a la pestaa Datos, para asociarle un campo de la tabla Peliculas.

Figura 53: En la pestaa General asignamos un nombre que haga referencia al campo del formulario.

con el campo de texto anterior (y como haremos, de ahora en adelante, con cualquier control que aadamos al formulario). Una etiqueta tiene una serie de propiedades, entre las que vamos a destacar el nombre que la identica en el formulario, su ttulo o leyenda (el texto que va a mostrar), el tipo de letra (fuente, tamao, efectos. . . ) que emplea y su alineacin (tanto horizontal como vertical) dentro de la caja que la contiene. Para poder acceder a la ventana que permite congurar sus propiedades, hemos de hacer doble clic sobre la etiqueta. Entonces aparece la ventana que podemos ver en la Figura 54, donde hemos marcado en rojo las opciones escogidas en nuestro caso (fjate bien). El texto que va a mostrar la etiqueta es Identicador:, como puede apreciarse, en fuente Arial, negrita y tamao 10 pt. El tipo de fuente y sus caractersticas se escogen en otra ventana que aparece al pinchar en el botoncito de la derecha con la forma . . . . Recuerda que tienes que ir guardando cada cierto tiempo el trabajo efectuado. Para ello, has de pinchar en el icono con forma de disquete en la barra de herramientas que hay en la parte de arriba de la ventana del diseador, tal como se expuso en la Figura 50. Ahora, tras crear el campo de texto y su rtulo correspondiente, es un buen momento para hacerlo. Puesto que ya sabemos crear campos de texto y asociarlos con los campos correspondientes de la tabla ligada al formulario y poner los rtulos adecuados, vamos a saltarnos unos cuantos pasos, en una pequea elipsis temporal, en

- 38 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 54: Aadimos una etiqueta (texto) al formulario.

Figura 55: Aspecto del formulario tras haber aadido los cinco campos de texto.

el proceso de diseo de nuestro formulario para manipular la tabla Peliculas. En estos momentos, tras crear controles asociados a los campos Id_Peli, Ttulo, Director, Gnero y Sinopsis, el aspecto de nuestro formulario es el que se muestra en la Figura 55. Procedemos, a continuacin, a aadir otros controles para entrada de datos diferentes a las meras cajas de edicin que ofrece el control para campos de texto. En primer lugar, vamos a aadir una casilla de vericacin que vamos a asociar, en la pestaa Datos de la ventana que muestra sus propiedades, al campo Prestada de la tabla Peliculas. Recuerda que este campo era de tipo booleano (S/No o True/False, como preeras) y que serva para indicar si habamos prestado la pelcula a alguien o no. Precisamente, la casilla de vericacin es un tipo de control que slo ofrece dos posibilidades para la entrada de datos: o est seleccionado o no lo est (es decir, S/No, como el campo de la base de datos que hemos asociado). En la Figura 56 hemos marcado en rojo tanto el botn de la barra de herramientas de la izquierda que hay que pinchar para aadirlo al formulario, como las opciones de conguracin de su aspecto elegidas en la pestaa General de la ventana que muestra sus propiedades. Ya deberas saber que, para acceder a la ventana de propiedades, hemos de hacer clic con el botn derecho del ratn sobre el control que deseamos congurar y escoger la opcin Campo de control. . . del men contextual que emerge, o

- 39 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 56: Aadimos una casilla de vericacin para marcar si la pelcula est prestada o no.

bien hacer doble clic sobre l. En la imagen de la Figura 56 lo hemos nombrado como Casilla_Prestada, hemos escrito el texto Prestada como leyenda a mostrar en el formulario, hemos cambiado el tipo de fuente (la misma que en el resto de rtulos del formulario) y dejamos como Estado predeterminado el valor No seleccionado, que es el valor por defecto. Esto ltimo sirve para indicar qu valor va a tener este campo en caso de que el usuario no realice ninguna accin sobre l (deberamos jar el valor que con mayor frecuencia introduzcan los usuarios). Recuerda que en la pestaa Datos hay que asociar el control con el campo Prestada de la tabla Peliculas, aunque no lo hayamos mostrado en una gura.

Figura 57: Aadiendo otro tipo de campos, en este caso un campo de fecha.

Si recuerdas vase la Seccin 2 en la tabla Peliculas tenamos el campo Ao para almacenar la fecha de estreno de la pelcula en nuestro pas. Pues bien, la herramienta de diseo de formularios de Base proporciona un tipo de control especco para la introduccin de datos de tipo fecha. Procedemos a aadir un control de esta naturaleza en nuestro formulario, que vamos a asociar con el campo Ao de la tabla Peliculas recuerda, en la pestaa Datos de la ventana de propiedades. Para ello, basta con seguir las indicaciones que se muestran en la Figura 57. Primero pinchamos en el botn Ms campos

- 40 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

de control de la barra de herramientas de la izquierda para poder acceder a la pequea ventana emergente que los muestra y, en ella, hacemos clic en el botn que hemos resaltado con un crculo rojo en la imagen (tiene un pequeo icono en forma de calendario). Entonces, podemos aadir el control al formulario y, como ya sabemos, congurarlo en la ventana de propiedades (ya deberas saber cmo acceder a ella). En nuestro caso, queremos que te jes en las opciones que hemos marcado en rojo en la pestaa General, aparte de las ya conocidas, de arriba a abajo: Como siempre, el nombre que asignamos al control, Campo_Estreno en nuestro caso. Indicamos que deseamos que se controle el formato, es decir, que si el usuario introduce un valor para la fecha que no concuerde con el formato que denimos ms abajo, el formulario mostrar un error. Controlamos que no se introduzcan fechas anteriores al 1 de enero de 1900 ni posteriores al 31 de diciembre de 2100. Establecemos que el usuario debe especicar la fecha con el siguiente formato: dos cifras para indicar el da, seguido de barra, dos cifras para indicar el mes, nuevamente una barra y, nalmente, cuatro cifras para especicar el ao.

Figura 58: Asistente para aadir un elemento cuadro de grupo al formulario: primera ventana.

Vamos a aadir, a continuacin, un control que requiere mayor elaboracin. Se trata de lo que Base denomina cuadro de grupo. Pero antes, expliquemos cul es el motivo de emplearlo en nuestro formulario. Si recuerdas, en la denicin de la tabla Peliculas (vase nuevamente la Seccin 2) habamos denido el campo Formato para guardar la informacin relativa al tipo de formato en el que est codicada la pelcula. Realmente, slo disponemos en nuestra casa de pelculas en formato digital, guardadas en soporte DVD (y codicadas como tal) o bien en soporte CD (y codicadas como Vdeo-CD, DivX o XviD). Es decir, que realmente slo dispongo de cuatro alternativas posibles a la hora de establecer un valor para este campo de la tabla. El cuadro de grupo es el control que mejor se adeca a las caractersticas del campo Formato, ya que slo permite elegir una de entre varias (pocas, habitualmente) opciones posibles. Para crearlo, necesitamos activar la ventanita que muestra ms campos de control (ya hemos visto cmo anteriormente) y hacer clic en el botn que se muestra enmarcado en rojo en la Figura 58. Al aadir este control al formulario, ocurre algo que no haba sucedido anteriormente con el resto de controles aadidos: aparece la ventana de un asistente que nos va a guiar paso a paso en la conguracin de este control (ya habamos advertido que resultaba un proceso ms complejo). Observa en la Figura 58, que el primer paso del asistente va a consistir, precisamente, en denir los nombres de las opciones que va a mostrar el control. Para aadir una opcin a la lista, basta con escribir el texto deseado en la caja de texto Qu nombres deben contener los campos de opcin? y hacer clic en el botn (si queremos quitar o modicar el nombre de una opcin, basta con seleccionarla en la lista de la derecha y pinchar el botn para editarla convenientemente en la caja de texto). Al nal del proceso, el resultado ser el que se muestra en la Figura 59. En ese momento pinchamos el botn Siguiente, tal como se indica en dicha imagen. En el paso siguiente, el asistente pregunta qu opcin debe marcarse como predeterminada (si es que ha de marcarse alguna) en el caso de que el usuario no marque ninguna al introducir datos con el formulario. Puesto que en nuestro caso la

- 41 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 59: Asistente para aadir un elemento cuadro de grupo al formulario: asignamos los nombres a las opciones.

Figura 60: Asistente para aadir un elemento cuadro de grupo al formulario: seleccionamos la opcin predeterminada.

mayora de pelculas estn en formato DVD, aprovechamos para jar esta opcin como predeterminada, tal como ilustra la Figura 60. Fjate que si no deseamos jar ninguna opcin habra que pinchar en No, no debe ser seleccionado ningn campo. Luego, hacemos clic en el botn Siguiente. Ahora hemos de asignar los valores que realmente se van a almacenar en el campo Formato de la tabla Peliculas segn la opcin que elija el usuario. Es decir, que lo que hemos hecho hasta ahora realmente es denir los rtulos que ver el usuario del formulario. Pero esos rtulos no tienen por qu coincidir con los valores (datos) que se van a guardar en la tabla. ste es el momento para asociar los valores a almacenar (datos) con dichos rtulos. En nuestro ejemplo, s que se da esta coincidencia entre rtulos y valores a almacenar. Puedes apreciar en la gura 61 que son los mismos (en la imagen se ilustra solamente el caso del rtulo DVD asociado con el texto dato DVD que se almacenar cuando el usuario escoja esta opcin, pero para el resto es igual). Nuevamente pinchamos en el botn Siguiente cuando terminemos con esta ventana.

- 42 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 61: Asistente para aadir un elemento cuadro de grupo al formulario: asignamos los valores a los nombres de las opciones.

Figura 62: Asistente para aadir un elemento cuadro de grupo al formulario: asignamos campo de la base de datos (tabla Peliculas en este caso) al cuadro de grupo.

Todava no hemos asociado realmente el control de cuadro de grupo con ningn campo de la tabla Peliculas, aunque est claro, a tenor del discurso efectuado, que es el campo Formato el que est en nuestro pensamiento. Ahora es el momento de establecer esta asociacin, tal como ilustra la Figura 62. Finalmente, slo resta por escribir el ttulo (leyenda) que mostrar en el formulario el cuadro de grupo al usuario. Hemos decidido escribir el texto Formato almacenamiento, tal como ilustra la Figura 63. Posteriormente, pinchamos en el botn Finalizar para concluir el proceso. Puedes apreciar mejor los detalles de este cuadro de grupo en el formulario de la Figura 67. Por cierto, si te jas bien, podrs apreciar que se ha denido otro cuadro de grupo. Sabras indicar cul es? Por ltimo, analicemos otra situacin peculiar que se produce a la hora de insertar (o modicar) los datos de una pelcula. En la tabla Peliculas denimos el campo Id_Estuche para almacenar el identicador del estuche donde se guarda la pelcula;

- 43 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 63: Asistente para aadir un elemento cuadro de grupo al formulario: escribimos el rtulo para el ttulo del cuadro.

Figura 64: Asistente para aadir un elemento cuadro de lista al formulario: indicamos la tabla que va a usarse para rellenar la lista.

de hecho, este campo se utilizaba como clave externa para representar la relacin 1:M entre las tablas Estuches y Peliculas (consulta las Secciones 2 y 3). Sera interesante que, a la hora de introducir este dato, el usuario pudiese elegir solamente entre los valores proporcionados por una lista que se cargase automticamente con los datos almacenados en la tabla Estuches (es decir, los estuches que realmente tenemos). Precisamente para eso, Base proporciona el campo de control denominado listado o cuadro de lista. Vamos a aadir, pues, un control de este tipo que se alimente de los diferentes valores del campo Localizacion de la tabla Estuches. Para ello, hay que hacer clic en el botn de la barra de herramientas de la izquierda que se muestra enmarcado en rojo en la Figura 64. Al aadir este control al formulario, nuevamente aparece la ventana de un asistente que nos va a guiar paso a paso en su conguracin. Observa en la Figura 64, que el primer paso del asistente va a consistir, precisamente, en indicar

- 44 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

cul es la tabla de la cual deben tomarse los datos que van a rellenar el contenido de la lista. Nosotros hemos seleccionado, obviamente, la tabla Estuches, tras lo cual hacemos clic en el botn Siguiente.

Figura 65: Asistente para aadir un elemento cuadro de lista al formulario: ahora indicamos cul es el campo de donde deben tomarse los valores para rellenar la lista.

A continuacin, indicamos cul es el campo de la tabla seleccionada (Estuches) cuyos datos se mostrarn en el listado. En nuestro ejemplo, es el campo que almacena la localizacin de los estuches en la tabla Estuches el que va a proporcionar los valores para rellenar las opciones de la lista. Por tanto, elegimos el campo Localizacion y hacemos clic en el botn Siguiente, tal como muestra la Figura 65.

Figura 66: Asistente para aadir un elemento cuadro de lista al formulario: ltimo paso, indicamos los campos relacionados en ambas tablas.

- 45 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Como colofn, tan slo resta indicar cules son los campos de ambas tablas a travs de los cuales se establece la relacin 1:M. El contenido de ambos campos debe coincidir para mostrar el valor adecuado de los registros existentes en el cuadro de lista. Estos campos son los denominados Id_Estuche en ambas tablas, tal como ilustra la Figura 66. Tras seleccionar ambos en sus respectivos cuadros (fjate en los recuadros en rojo), hacemos clic en el botn Finalizar. En este momento, hemos terminado con el diseo del formulario. Guardamos los cambios, cerramos la ventana de diseo de formularios y volvemos a la ventana central de gestin de Base.

Figura 67: Mostrando los datos de la primera pelcula de la tabla Peliculas con el formulario que acabamos de disear.

La Figura 67 muestra el resultado de ejecutar el formulario recin diseado (haciendo doble clic en el nombre del formulario desde la ventana central de gestin). Podemos apreciar que, inicialmente, se muestran los datos del primer registro (pelcula) almacenado en la tabla Peliculas. Recuerda las propiedades que denimos para este formulario (vase la Figura 49). Observa atentamente el contenido de los campos del formulario y su relacin con los campos de la tabla Peliculas. Tambin podemos usar este formulario para introducir nuevos registros (pelculas) en la base de datos, tal como ilustra la Figura 68 (insertamos los datos de la pelcula Happiness). Para ello, nos desplazamos hasta el ltimo registro (usando la barra de navegacin de abajo) y nos situamos una posicin ms. Entonces aparece el formulario con los campos vacos (o con los valores por defecto) esperando que los rellenemos. Eso es lo que hacemos, empleando los valores que aparecen en la Figura 68. Para guardarlos en la tabla Peliculas pinchamos en el botn con forma de disquete en la barra de herramientas de abajo (est enmarcado en rojo en la imagen). Si ahora cerramos el formulario y abrimos la tabla Peliculas desde la ventana central de gestin, podemos apreciar que se ha aadido correctamente el registro con los datos introducidos en el formulario, tal como ilustra la Figura 69. Si en cualquier momento se desea modicar el diseo del formulario, haremos clic con el botn derecho del ratn sobre el nombre del mismo en la ventana central de gestin y elegiremos la opcin Editar del men contextual emergente para abrir la ventana de diseo de formularios y as poder modicarlo.

7.

Informes

Los informes son documentos que se utilizan para presentar los datos de una forma que resulte ms legible por parte de, por ejemplo, los directivos de una empresa. Normalmente los informes van asociados con la ejecucin de consultas, aunque tambin pueden utilizarse para presentar los datos almacenados en una tabla. Es decir, su objetivo es recuperar informacin de la base de datos, igual que las consultas, pero con un formato que facilita su presentacin e impresin en papel. Es ms, los informes y las consultas suelen complementarse ya que los informes suelen construirse a partir de consultas almacenadas y no a partir de las tablas. Para crear un informe, usaremos el asistente que proporciona Base, tal como ilustra la Figura 70. Aunque en la versin de Linux se nos ofrece la posibilidad de usar la vista Diseo, sta es bastante farragosa y no funciona muy bien, por lo que

- 46 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 68: Aadimos un nuevo registro a la tabla Peliculas con el formulario que acabamos de disear.

Figura 69: Registros de la tabla Peliculas tras guardar la entrada anterior en el formulario (se han aadido los datos de la pelcula Happiness).

es preferible crear los informes con el asistente y, luego, editarlos posteriormente en la vista Diseo para corregir pequeos detalles. Nosotros no vamos a comentar nada del diseo de informes. Vamos a crear un informe que va a mostrar toda la informacin signicativa5 de la tabla de las pelculas, excepto la sinopsis, agrupando las pelculas segn sea su gnero. Para ello, ejecutaremos el asistente de Base. El proceso de creacin de este informe se ilustra en la secuencia de imgenes de la Figura 71. En primer lugar, hemos de proceder a seleccionar los campos de informacin que se desean incluir en el informe. Para poderlo hacer tenemos que seleccionar previamente la tabla Peliculas, como muestra la imagen de la Figura 71(a). La imagen de la Figura 71(b) muestra los campos que hemos aadido al informe, como siempre, empleando el botn >. A continuacin, pinchamos el botn Siguiente. El segundo paso, ilustrado en la Figura 71(c), consiste en la denicin de las etiquetas (o rtulos) que van a usarse en el informe para referirse a los diversos campos de informacin. Por defecto, el asistente de Base sugiere usar los mismos nombres de los campos. En nuestro ejemplo , simplemente hemos cambiado el rtulo asociado al campo Ao, que pasa a ser Fecha de estreno (vase la imagen mencionada). Pasamos al siguiente paso del asistente haciendo clic en el botn Siguiente. Ahora, hemos de denir los niveles de agrupacin que deseemos utilizar en nuestro informe. Qu es esto? Signica agrupar en el listado todos aquellos registros de la tabla (o consulta) que posean el mismo valor para un campo o una serie de campos dados. En nuestro caso, deseamos agrupar en el listado todas aquellas pelculas que pertenezcan al mismo
5 En

este caso, por signicativa entendemos todos los datos que no son claves.

- 47 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 70: Creamos un informe usando el asistente de Base.

gnero, por lo que indicaremos que vamos a usar el campo Gnero para crear las agrupaciones, tal como ilustra la imagen de la Figura 71(d). Nuevamente pasamos al siguiente paso haciendo clic en el botn Siguiente. En el cuarto paso, el asistente solicita que denamos los criterios de ordenacin, es decir, que indiquemos los campos que contienen los valores que vamos a usar para ordenar los registros en el listado. Observa atentamente la Figura 71(e). El primer criterio de ordenacin no se puede modicar (aparece en gris), ya que se trata del campo Gnero que se va a utilizar para agrupar los registros, luego va a ser un criterio de ordenacin que es obligado emplear. Lo nico que podemos modicar es si queremos un orden ascendente o descendente. Por nuestra parte, hemos decidido ordenar las pelculas, dentro del mismo gnero, por fecha de estreno, de ms antigua a ms moderna, (segundo criterio de ordenacin) y, posteriormente por orden alfabtico del ttulo (tercer criterio de ordenacin). Una vez denidos estos criterios, pasamos al siguiente paso (pinchando en el botn Siguiente). A continuacin, hemos de decidir el aspecto que va a tener el informe (vase la Figura 71(f)). Decidimos dejar las opciones por defecto (observa las zonas marcadas en rojo) y pasar al siguiente paso pinchando en el botn Siguiente. En el ltimo paso, el asistente va a proceder a crear el informe. Pero antes de hacer clic en el botn Finalizar, hemos de indicar cul es el ttulo del informe que tambin ser el nombre que se le asignar al informe en Base, si queremos que el informe sea esttico o dinmico y si pretendemos crearlo o poder entrar en la ventana de diseo para poder modicarlo. Se puede apreciar en la Figura 71(g) que el ttulo del informe (que coincidir con su nombre) es Mis pelculas, que deseamos crear un informe dinmico y que queremos abrirlo para poder modicarlo en la ventana de diseo. Se puede apreciar el aspecto de la ventana de diseo de informes en la Figura 72. Ojo! sta es la nica parte de la aplicacin que diere entre las versiones de Windows y Linux. La ventana que mostramos es la que aparece en la versin 3.1 de LibreOfce para Linux. En Windows el aspecto es distinto, as como las diversas opciones de conguracin para el aspecto del informe (consulta la bibliografa). El lector curioso se preguntar, sin duda, cul es la diferencia entre un informe esttico y uno dinmico. Pues bien, realmente la diferencia slo se aprecia cuando creamos un informe asociado con una consulta, como haremos a continuacin para concluir con este texto. En el primer caso esttico los datos que mostrar siempre el informe sern los que tuviera la consulta realizada en el momento de la creacin, es decir, una vez creado el informe, los datos que muestra siempre sern los mismos. En el segundo caso dinmico cada vez que generemos el informe (haciendo doble clic sobre su nombre en la ventana central de gestin), los datos que se van a mostrar son los que tenga la base de datos en el momento de la llamada. Normalmente, optaremos por crear informes de tipo dinmico. La Figura 73 muestra el aspecto que tiene la ventana central de gestin de Base despus de haber creado este informe. Para generarlo, tenemos que hacer doble clic con el botn izquierdo del ratn sobre su nombre (Mis pelculas). Al generar este informe se abre un documento en el formato que usa el procesador de texto Writer, integrado en la suite LO. La Figura 74 muestra el documento abierto en Writer, el cual podemos guardar en formato PDF o imprimir empleando los iconos apropiados de la barra de herramientas de dicho programa (enmarcados en rojo en la imagen). Tambin podemos guardar el documento en una gran variedad de formatos a elegir empleando la opcin Guardar como. . . del men Archivo

- 48 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 71: Proceso de creacin de un informe que muestra los datos de las pelculas (menos la sinopsis) agrupados por gnero.

de Writer (marcado con un crculo rojo en la imagen). Para concluir, queremos crear un informe que muestre el ttulo, el nombre del director y la calicacin de todas las pelculas protagonizadas por el actor Ethan Hawke. De paso, queremos que tambin aparezca el nombre del personaje que interpreta en la pelcula y la valoracin que merece su actuacin, as como el lugar donde se guarda el estuche que almacena la correspondiente pelcula. Deseamos, adems, que el informe muestre, en una cabecera, el nombre y la nacionalidad del actor. Realmente, no podemos crear un informe directamente con todos estos datos, ya que implicara acceder a varias tablas, y ya hemos aprendido (vase el primer paso del asistente en la imagen de la Figura 71(a)) que un informe slo puede estar vinculado a una tabla al mismo tiempo. Qu podemos hacer, pues? La respuesta es muy sencilla, y tambin la podemos apreciar en la imagen que acabamos de mencionar. Un informe tambin puede vincularse a una consulta, es decir, ejecutar dicha consulta, recoger la tabla con los datos resultantes (recuerda, una consulta devuelve una tabla) y mostrarlos en el

- 49 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 72: Ventana de diseo de informes.

Figura 73: Aspecto de la ventana central de gestin de Base tras crear el informe Mis pelculas.

informe segn el formato elegido. Por tanto, en primer lugar, vamos a crear una consulta que devuelva la informacin solicitada. Esta consulta utilizar las cuatro tablas que hemos creado en nuestro ejemplo de base de datos, ya que necesitamos acceder a la tabla Actores para obtener el identicador de Ethan Hawke a partir de su nombre, a la tabla Papeles para averiguar qu pelculas ha protagonizado Ethan Hawke (obtendramos sus identicadores) y conocer el personaje interpretado y la valoracin de su actuacin, a la tabla Peliculas para obtener el ttulo, nombre del director y calicacin a partir del identicador y,

- 50 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 74: Resultado de generar el informe Mis pelculas.

Figura 75: Resultado de ejecutar la consulta que muestra todas las pelculas protagonizadas por Ethan Hawke.

nalmente, a la tabla Estuches para obtener la localizacin de los mismos a partir de sus identicadores conseguidos de la tabla Peliculas. El resultado de ejecutar esta consulta, cuya creacin dejamos como ejercicio al lector, se puede apreciar en la Figura 75. Ahora s que podemos crear el informe solicitado que, realmente, vamos a vincular con la consulta que hemos creado con el nombre Pelis_Ethan_Hawke. En la Figura 76 se ilustra el proceso de creacin de este informe empleando el asistente de Base. En dicha gura slo hemos mostrado las imgenes correspondientes a las ventanas donde realmente hemos congurado alguna cosa cambiando las opciones por defecto. As, podemos apreciar en la imagen de la Figura 76(a) que hemos seleccionado la consulta Pelis_Ethan_Hawke como vnculo para el informe. Adems hemos aadido todos los campos de la consulta al informe, ya que los vamos a usar de una u otra forma. Saltando al tercer paso del asistente, se puede apreciar en la imagen de la Figura 76(b) que hemos denido dos niveles de agrupacin: el nombre y la nacionalidad del actor. Por qu? Recuerda que deseamos mostrar una cabecera en el informe con dichos datos. Fjate en el informe resultante mostrado en la Figura 77 y entenders el porqu. La imagen de la Figura 76(c) muestra que hemos elegido otra disposicin para el aspecto del informe. Observa el resultado en la Figura 77 y compara el resultado con el otro informe que generamos antes (vase la Figura 74), jndote en las opciones de aspecto que hemos elegido en cada caso. En la ltima ventana del asistente, justo antes de nalizar el proceso

- 51 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

Figura 76: Proceso de creacin del informe (slo ventanas donde se cambian los valores por defecto) asociado a la consulta mostrada en la Figura 75.

de creacin del informe, seleccionamos las opciones Informe dinmico (ahora s que resulta trascendente al tratarse de un informe vinculado a una consulta) y Crear informe ahora para que lo muestre inmediatamente, tal como puede apreciarse en la Figura 76(d). Fjate que el nombre que el asistente de Base sugiere para el informe (Ttulo del informe) es el mismo que le dimos a la consulta con la cual est vinculado Pelis_Ethan_Hawke. Hemos decidido dejar este mismo nombre para el informe (son objetos distintos aunque se llamen igual).

Figura 77: Resultado de la generacin del informe Pelis_Ethan_Hawke.

- 52 -

EI(MT)1002. Informtica Bsica - 1er curso.

Material de apoyo. Bases de datos con LibreOfce Base

El informe generado para nuestro ltimo ejemplo se ilustra en la Figura 77. Observa con detenimiento el formato del informe y la disposicin de los diversos campos de informacin, relacionndola con las opciones indicadas al asistente.

- 53 -

Potrebbero piacerti anche