Gestores de bases de datos 11 1. El concepto de base de datos Los gestores de bases de datos Objetos de una base de datos 2. Las tablas Tipo de datos de los campos El campo clave 3. Las relaciones Tipos de relaciones Propiedades de la relación uno a varios 4. Las consultas Criterios de una consulta Tipos de gráficos Tecnologías de la información y la comunicación - Editorial Donostiarra 253 11 Gestores de bases de datos Conoce 1. El concepto de base de datos Una base de datos en un conjunto de información estructurada relativa a un tema determinado. Este tema puede englobar un gran número de listas de información de las que nos interesa mantenernos al tanto y que queremos tener frecuentemente actualizadas. Pero, además, las bases de datos engloban también una serie de herramientas para consultar la información, filtrarla, ordenarla o generar e imprimir informes con ella. Prácticamente cualquier sistema de información o conocimiento puede estructurarse y clasificarse en una base de datos: el sistema de ventas de una empresa, una agenda de contactos, los datos de los empleados de una empresa, el historial y los datos de los pacientes en un hospital, etc. Puedes imaginar un sinfín de casos en los que la información se pueda convertir en una base de datos. Los gestores de bases de datos Los programas informáticos destinados a manejar bases de datos se denominan gestores de bases de datos. Estos programas permiten almacenar y recuperar información de cualquier tipo grabada adecuadamente de acuerdo con las normas que rigen los archivos de bases de datos. Los gestores de bases de datos más usados son Access, Oracle, Sybase, MySQL, SQL Server, Paradox e IBM DB2. También dispones de algunos gratuitos, como Base de OpenOffice.org. Objetos de una base de datos En general, los sistemas de bases de datos almacenan la información en objetos llamados tablas. Por ejemplo, una base de datos sobre un centro de estudios contendrá una tabla de alumnos. Pero si también queremos incluir profesores, asignaturas y cursos, tendremos que generar tablas para cada uno de ellos. El diseño de una base de datos no se limita sólo a las tablas, aunque éstas son imprescindibles, porque a partir de ellas se elaboran el resto de los objetos que posteriormente podemos generar. El conjunto de la base de datos contiene además los siguientes tipos de objetos: •• Consultas: son objetos destinados a filtrar, ordenar y buscar datos en las tablas. •• Formularios: introducen la información en las tablas con un diseño más atractivo y más posibilidades. •• Informes: sirven para imprimir la información de las tablas y consultas. •• Módulos: son verdaderos programas para manejar de forma avanzada toda la información almacenada en la base de datos. Los distintos objetos pueden reflejarse en el entono de trabajo de Access: 254 Tecnologías de la información y la comunicación - Editorial Donostiarra Gestores de bases de datos Conoce 11 2. Las tablas Al igual que en Word o en Excel, las tablas están constituidas por filas y columnas. Las filas son registros y las columnas son campos. •• Los registros contienen toda la información relativa a un sujeto o elemento. Por ejemplo, en una tabla de alumnos, un registro es toda la información relativa a un solo alumno. •• Un campo es una categoría o característica común a todos los registros. Por ejemplo, en la tabla de alumnos, un campo sería el nombre, otro el teléfono, etc. Fig. 1 Tipo de datos de los campos Los nombres de los campos deben ser una expresión representativa de su contenido, con un tamaño máximo de 64 caracteres. Según la naturaleza de su contenido, los campos pueden ser de los siguientes tipos: •• Texto. Puede aceptar cualquier carácter de texto, números y signos. Su tamaño máximo es de 255 caracteres. Es el más utilizado; por ejemplo, el nombre de una persona. •• Memo. Es igual que el de texto, pero con un máximo de 32.000 caracteres. Por ejemplo, la reseña argumental de un libro. •• Numérico. Sólo admite dígitos y se usa cuando interese de ellos su magnitud numérica. Por ejemplo, las unidades vendidas de un artículo. •• Fecha/hora. Admite valores de fecha y hora. Por ejemplo, la fecha de nacimiento de una persona. •• Moneda. Se usa para valores monetarios. Por ejemplo, el precio de venta de un artículo. •• Autonumérico. Es un número que Access genera automáticamente de forma correlativa. Es muy utilizado como contenido identificativo. •• Sí/No. Admite sólo los valores sí y no (verdadero o falso). •• Objeto OLE (objeto vinculado e incrustado). Normalmente se utiliza para asignar una imagen o gráfico. Por ejemplo, la foto escaneada de un alumno. El campo clave Más adelante comprobarás que uno de los aspectos más interesantes de Access y otros gestores de bases de datos es su capacidad para relacionar datos de distintas tablas. Las tablas de una misma base de datos suelen relacionarse entre sí muchas veces mediante sus campos clave. El campo clave es un campo o selección de campos de la tabla que permiten identificar, de forma inequívoca o exclusiva, un registro dentro de la tabla. Ejemplos de campos clave serían la matrícula de un coche, el DNI de una persona, el código de barras de un artículo, etc. No es obligatorio que una tabla tenga un campo clave, aunque sí observarás que su uso es muy frecuente. Tecnologías de la información y la comunicación - Editorial Donostiarra 255 11 Gestores de bases de datos Practica paso a paso Práctica 1. Crear una base de datos y tablas con Access Ejercicio 1. Crear la base de datos 1. Haz clic en Inicio, selecciona Programas, accede al submenú de Microsoft Office y finalmente pulsa sobre Microsoft Access 2003. 2. Nada más entrar en Access observarás que en la parte lateral derecha se muestra el panel de tareas Inicio. Selecciona en la parte final del panel la opción Crear un archivo nuevo. 3. Al hacer esto, el panel cambia al siguiente paso, donde puedes elegir entre distintas formas de crear una base de datos. Elige la primera opción: Base de datos en blanco. Fig. 2 4. A continuación Access presenta un cuadro de diálogo donde debemos determinar el nombre y la ubicación de la base de datos. Escribe como nombre Centro de estudios y elige como ubicación tu carpeta de trabajo habitual. Después haz clic en Crear. De esta forma ya habrás creado la base de datos. Obtendrás la ventana de trabajo de la base de datos Centro de estudios, con los distintos tipos de objetos que en ella pueden crearse. También podrás apreciar que dispone de una barra de herramientas con tres botones: Abrir, Diseño y Nuevo. Fig. 3 Ejercicio 2. Crear tablas 1. Situado en la solapa Tablas, pulsa el botón Nuevo de la ventana de base de datos. 2. A continuación elige Vista Diseño. Este es el método más completo para crear una tabla. Después haz clic en Aceptar. 3. El programa presenta ahora la ventana del diseño de una tabla, donde podemos definir los distintos campos que van a componer la estructura de la misma. La mitad superior está dividida en tres columnas y sirve para indicar el nombre y el tipo de cada campo, así como una breve descripción. La parte inferior sirve para definir con mayor precisión las propiedades de cada campo. Puedes utilizar el tabulador o el ratón para moverte por las celdas. Fig. 4 4. Vamos a definir los campos de la tabla Alumnos. Escribe cada uno de los campos tal y como se muestra en la figura 5 (pon especial atención al tipo de campo asignado en la segunda columna). 5. Cuando hayas terminado, cierra esta ventana y entonces el programa te preguntará si deseas guardar la tabla. Elige Sí y escribe como nombre Alumnos. Pulsa Aceptar. Fig. 5 256 Tecnologías de la información y la comunicación - Editorial Donostiarra Gestores de bases de datos Practica paso a paso 11 Ejercicio 3. Establecer el campo clave Cuando se guarda una tabla por primera vez y no se ha establecido previamente un campo clave, Access pregunta si deseamos crear automáticamente uno. 1. Pulsa en No. Normalmente no hay que dejar que Access genere por su cuenta un campo clave, ya que creará un campo llamado ID que no forma parte de una estructura que voluntariamente hayamos querido definir. Fig. 6 2. Verás en la ventana de la base de datos una nueva tabla, llamada Alumnos. Ahora entraremos en ella otra vez para definir el campo clave. Para ello, selecciónala y pulsa el botón Diseño. 3. Sitúa el cursor en la fila del primer campo, Código alumno, y elige en el menú Edición la opción Clave principal o bien pulsa sobre el botón Clave principal de la barra de herramientas. Un símbolo de una llave aparecerá al comienzo de la fila del campo. 4. ¿Qué significa que el campo Código alumno es campo clave? Significa que no podrán luego introducirse dos alumnos con el mismo código de alumno. Piensa si existe en la tabla algún otro campo que también podría haber servido como campo clave. 5. Ahora guarda la tabla y ciérrala. Fig. 7 Ejercicio 4. Introducir registros en la tabla 1. Selecciona nuevamente la tabla Alumnos y pulsa el botón Abrir. Para abrir o utilizar directamente un objeto también puedes hacer doble clic sobre él. Puedes cambiar entre la vista Hoja de datos y la vista Diseño pulsando sobre el primer botón de la barra de herramientas cuando estés trabajado en uno u otro modo. Al pinchar sobre él, el botón permuta entre ambas opciones. 2. Ahora estás trabajando en la vista Hoja de datos. Este modo es el que nos permite introducir la información en la tabla. Podemos escribir directamente sobre cada campo o celda de la tabla, y cuando lleguemos al final del registro automáticamente Access nos situará en un registro nuevo. También podemos hacer clic sobre el botón Nuevo registro para empezar en una nueva fila. 3. Introduce la información de cinco registros con el contenido que aparece en la figura 8. Para abreviar, sólo introducirás los datos hasta la provincia. Cuando hayas terminado podrás cerrar la ventana sin necesidad de guardar; los registros se graban automáticamente. Código alumno Código curso Nombre alumno Apellidos alumno Dirección Localidad Código postal Provincia 100 TDN-0809-M Pedro Luis Churruca Ramírez C/ Miramar, 55, 1º A Mojácar 04638 Almería 101 PFF-0708-M Joaquín Azcona Valverde C/ Tutor, 13 Albacete 02040 Albacete 102 TC-0607-D Laura Gómez Holgado Pje. Mirador, 23 Sevilla 41020 Sevilla 103 OFW-0708-M Alberto Serrano Rodríguez C/ Vitoria, 15, 2º D Burgos 07010 Burgos 104 TC-0607-T Carolina Jiménez Faisán C/ Donoso Cortés, 70, 4º D Madrid 28090 Madrid Fig. 8 Tecnologías de la información y la comunicación - Editorial Donostiarra 257 Gestores de bases de datos 11 Practica paso a paso Práctica 2. Modificar las propiedades de los campos Ejercicio 1. Crear la base de datos Vamos a especificar con mayor detalle la definición de los campos de la tabla alumnos. 1. Selecciona la tabla Alumnos y pulsa el botón Diseño. 2. Sitúate en el campo Apellidos alumno y haz clic en la propiedad Tamaño del campo, que se encuentra en la parte inferior de la vista Diseño. Cambia el 50 por 30. Modifica el tamaño de Nombre alumno a 20. Fig. 9 Propiedades de los campos más utilizadas Tamaño del campo Es la longitud máxima de lo que se puede introducir. Si el campo es de texto, la longitud máxima es de 255 caracteres. Si es numérico, podemos elegir desde Byte hasta Doble (con F1 en esta línea obtendrás información sobre sus magnitudes). Formato Suele utilizarse en campos numéricos y de moneda. El formato Moneda incluye la separación de miles con puntos. También se utiliza el formato Porcentaje, por ejemplo para un campo Descuento o IVA. Lugares decimales Se refiere al número de cifras a la derecha del separador decimal (sólo para campos de tipo numérico o moneda). Máscara de entrada Es una plantilla que se puede aplicar a determinados campos para introducir su contenido de una forma guiada y específica. Muy utilizado para DNI, fechas, teléfonos, etc. Valor Es un contenido o valor previo que se presentará automáticamente cuando se introduzcan los registros. predeterminado Requerido Si se elige Sí, Access obligará a introducir algún contenido en este campo. 3. Selecciona el campo Código postal y define para él un tamaño de 5. También en este campo vamos a crear una máscara de entrada. Sitúa el cursor en la propiedad Máscara de entrada y observa cómo aparece un botón con tres puntos al final de la línea. Haz clic en él. Te obligará a guardar la tabla y después mostrará una ventana que es el asistente de máscaras de entrada. Elige la máscara Código postal y pulsa Finalizar. Crea también una máscara de entrada para el campo Fecha nacimiento del tipo Fecha corta. 4. Ahora haz clic en Provincia y pon el cursor en la propiedad Requerido. Pulsa en la flecha desplegable y elige Sí. Haz lo mismo para los campos Código curso, Nombre alumno, Apellidos alumno y Localidad. 5. Establece una máscara de entrada para el campo DNI de tipo NIF, siguiendo los mismos pasos que para el código postal y la fecha de nacimiento. 6. Guarda y cierra la tabla Alumnos. A continuación ábrela en su hoja de datos para completar los contenidos de Sexo, Fecha nacimiento y DNI, así como para comprobar cómo actúan las propiedades Requerido, Máscara de entrada, etc. Para que te sea más fácil trabajar, oculta las columnas que ahora no nos interesa ver seleccionando en el menú Formato la opción Mostrar columnas y desactivando en el cuadro correspondiente las columnas desde Código curso hasta Provincia. Pulsa Aceptar y ya puedes introducir el contenido como se muestra en la figura 10. 7. Vuelve a mostrar las columnas que has ocultado utilizando otra vez la misma opción del menú. 8. Pasa a la vista Diseño. Vamos a completar el diseño de la estructura de la tabla con un campo que se nos olvidó introducir al principio: el teléfono. 9. Selecciona la fila del campo Sexo y a continuación elige del menú Insertar la opción Filas. Escribe como nombre del campo “Teléfono” y defínelo como campo de tipo texto con un tamaño de 15 caracteres. Fig. 10 10.Crea también un campo debajo de la provincia que se llame País. En su propiedad Valor predeterminado escribe “España”. Después, guarda la tabla. 11.Da de alta dos nuevos registros con el contenido que desees y comprueba el valor por defecto en País. 258 Tecnologías de la información y la comunicación - Editorial Donostiarra Gestores de bases de datos Practica paso a paso 11 Práctica 3. Manejar los registros Moverse por los registros 1. Sustituye tu archivo de base de datos Centro de estudios por el que se encuentra en la carpeta UD 10 del CD-ROM, que contiene muchos más registros en la tabla Alumnos y ábrelo. 2. Abre la tabla Alumnos en vista Hoja de datos. Comprueba cómo puedes acceder al primer registro, al último o a uno determinado utilizando los controles situados en la parte inferior de la ventana (figura 11). Fig. 11 Buscar registros 3. Puedes localizar uno o varios registros que cumplan una determinada condición. Para ello, sitúa el cursor en el primer registro de la tabla, en la columna Provincia. 4. Selecciona en el menú Edición la opción Buscar o pulsa sobre el botón Buscar. Aparecerá el cuadro de búsquedas. 5. En el apartado Buscar escribe “Sevilla” y pulsa Buscar primero. El cursor saltará al primer alumno que reside en la provincia de Sevilla. Si pulsas Buscar siguiente el cursor seguirá avanzando hasta el siguiente alumno que cumpla esta condición, y así hasta alcanzar el final de la tabla. 6. Analiza el cuadro Buscar para comprender en profundidad las opciones Buscar en y Coincidir. Ordenar los registros 7. Access permite ordenar la tabla en sentido ascendente o descendente. Para hacerlo, sitúate en la columna por la que quieras ordenar; por ejemplo, Apellido alumno. 8. Pulsa el botón Ordenar ascendentemente o bien accede a Registros / Ordenar / Orden ascendente. Los alumnos aparecerán ordenados alfabéticamente por su apellido. 9. Practica otras ordenaciones: por fecha de nacimiento, por provincia, etc. Fig. 12 Eliminar registros 10.Con la opción Buscar localiza al alumno que se apellida Fajardo López. 11.Para eliminarlo de la tabla, basta con seleccionar su fila y pulsar Supr. También puedes hacerlo en Edición / Eliminar o pulsando el botón Eliminar registro. Si queremos eliminar varios registros a la vez, deben estar contiguos en la tabla, por lo que sólo tiene sentido eliminar a muchos haciendo una consulta de eliminación (lo aprenderás más adelante). Tecnologías de la información y la comunicación - Editorial Donostiarra 259 11 Gestores de bases de datos Practica paso a paso Práctica 4. Usar filtros Un filtro es una función muy utilizada en las tablas de los gestores de bases de datos, y en sí representa un anticipo de las consultas. Filtrar la información es útil especialmente cuando el contenido de las tablas es muy extenso y sólo se quiere trabajar con un grupo de registros determinados. El filtro más inmediato es el filtro por selección. 1. Abre la tabla Alumnos. Comprueba que está ordenada por el apellido de los alumnos (ascendente). Si no es así, aplica esta ordenación. 2. Sitúa el cursor en la columna Código curso del primer registro. 3. Pulsa el botón Filtro por selección. Comprueba que la tabla se contrae y sólo muestra la información de los alumnos que pertenecen al curso en el qué está el primer alumno de la tabla; en este caso, es el curso OFW0607T (figura 13). 4. Podemos seguir filtrando la tabla. Por ejemplo, sitúate en la columna Sexo del segundo registro, cuyo valor es “Mujer”. De nuevo pulsa Filtro por selección. Ahora la tabla sólo contiene los registros de los alumnos del curso OFW0607T que son mujeres. 5. Para desactivar el filtro pulsa el botón Quitar filtro. Fig. 13 Fig. 14 El filtro automático es el más rápido y utilizado pero tiene ciertas limitaciones: en primer lugar, depende del contenido del campo donde nos situamos previamente; en segundo lugar, no permite especificar cómo se concatenan las distintas condiciones de selección que queremos aplicar. Para conseguir un filtro más específico debemos usar un filtro por formulario o un filtro avanzado. 6. Sitúa el cursor en el primer registro y pulsa el botón Filtro por formulario. Todos los registros se ocultan para que determines cuáles van a mostrarse. 7. Haz clic en la flecha desplegable de Sexo y escoge “Hombre”. Después, ponte en el campo Fecha nacimiento y escribe en su casilla la expresión “>31/12/1980” (figura 14). 8. Asegúrate de que en los demás campos no haya más contenidos y pulsa el botón Aplicar filtro. Obtendrás todos los registros que cumplen las dos condiciones a la vez: alumnos varones nacidos después de 1980. 9. Desactiva el filtro que acabas de hacer (tendrás que pulsar varias veces el botón Quitar filtro) y vuelve a confeccionar el mismo filtro que antes, pero antes de aplicarlo, selecciona en el menú Filtro la opción Filtro u orden avanzado. Fig. 15 260 Tecnologías de la información y la comunicación - Editorial Donostiarra 10.Accederás a una pantalla que es la misma que utilizarás más adelante para las consultas. Borra la expresión “Hombre” que has escrito en Sexo y vuelve a escribirla pero en una línea distinta de la cuadrícula (figura 15). Pulsa Aplicar el filtro y comprueba el resultado. Gestores de bases de datos Practica paso a paso 11 Práctica 5. Crear una base de datos con Base de OpenOffice.org Ejercicio 1. Crear la base de datos El proceso para crear una base de datos con Base de OpenOffice.org es muy similar al de Access. 1. Abre Base seleccionando Inicio / Programas / OpenOffice.org 3.0 / OpenOffice.org Base. 2. En la primera pantalla elige la opción Crear nueva base de datos. Pulsa Siguiente. 3. Base permite registrar la base de datos dentro del entorno de OpenOffice.org. Esto ayuda a realizar operaciones de conexión o vínculos con el resto de las aplicaciones de OpenOffice.org. Deja seleccionada esta opción y la de Abrir la base de datos para editar. Haz clic en Finalizar. Fig. 16 4. A continuación elige la ubicación y el nombre de la base de datos. Escribe como nombre Gestión de pedidos y haz clic en Guardar. 5. Ahora nos encontramos trabajando en la ventana de base de datos. Como en Access, a la izquierda observarás los distintos objetos que podemos crear en la base de datos: tablas, consultas, formularios e informes. Fig. 17 Ejercicio 2. Crear tablas 1. Haz clic en la primera opción del área Tablas: Crear tabla en vista Diseño. 2. En la ventana de diseño de la tabla define los campos de la primera tabla de esta base de datos, fijándote en la siguiente estructura: Fig. 18 3. Al igual que Access, Base permite definir con mayor precisión el tipo de campos que hemos elegido. Las propiedades que vas a aplicar a cada campo se muestran en la figura 19. 4. A continuación, estableceremos el campo clave, que en Base se llama llave primaria. Para ello, selecciona el campo Código producto y pulsa el botón derecho del ratón sobre su casilla de selección de fila. 5. Escoge la opción Llave primaria. Una llave amarilla al comienzo de la fila indica que este campo es la llave primaria. 6. Guarda la tabla como Productos y ciérrala. Nombre del campo Entrada requerida (1) (2) Código producto Sí 10 0 Nombre producto Sí 50 Tipo 15 Subtipo 50 Ejemplo de formato Precio venta Moneda Precio coste Moneda Fig. 19 (1) Longitud (2) Decimales Tecnologías de la información y la comunicación - Editorial Donostiarra 261 11 Gestores de bases de datos Practica paso a paso Práctica 6. Manejar los registros con Base de OpenOffice.org Ya hemos creado nuestra primera tabla, Productos, dentro de la base de datos Gestión de pedidos. Su nombre se muestra ahora en la ventana de la base de datos. Para trabajar con ella introduciendo registros debemos seleccionarla y pulsar el botón Abrir objeto de la base de datos. Si, por el contrario, deseas ver o modificar su diseño, el botón que tienes que pulsar es Editar. 1. Abre la tabla Productos para dar de alta los registros que se muestran a continuación (figura 20): Fig. 20 Fig. 21 2. Una vez introducidos estos registros, podrás realizar acciones que se ejecutan prácticamente igual que en Access y que disponen de botones que también tienen el mismo logotipo. Por ejemplo, ordena los productos por Tipo. Verás los botones de orden ascendente y descendente en la barra de herramientas. 3. Sustituye la base de datos Gestión de pedidos que tú has creado por la que se encuentra en la carpeta UD 10 del CD-ROM de ejercicios, que es más completa, y entra en ella. Comprueba que cuando entras en una base de datos existente, el programa te sitúa por defecto en los formularios. Selecciona ahora las tablas. 4. Entra en la tabla Productos y con el botón Ordenar podrás realizar una ordenación más específica. Practica una ordenación de tres campos: por Tipo (ascendente), Subtipo (ascendente) y Precio venta (descendente) (figura 21). Fig. 22 5. Con el botón Buscar, sitúa el cursor en el producto cuyo nombre es “Cano” (figura 22). 6. Realiza un autofiltro en la tabla para que sólo se muestren los productos cuyo tipo sea “Mesa”. 7. Desactiva este filtro y fabrica un filtro estándar para mostrar los productos cuyo precio de venta sea mayor de 300 euros (figura 23). 8. Nuevamente con el botón Buscar, localiza el producto denominado “Jaima”. Una vez situado en él, elimínalo. Fig. 23 262 Tecnologías de la información y la comunicación - Editorial Donostiarra Gestores de bases de datos Amplía y profundiza 11 Amplía 1. Crear tablas en una base de datos con Access 1. Abre la base de datos Centro de estudios y crea dentro de ella dos tablas con la estructura y la definición de campos que se muestran a continuación: Tabla: Cursos Nombre del campo Código curso Nombre curso Código profesor Fecha inicio Horas duración Aula teoría Precio Lunes Martes Miércoles Jueves Viernes Horario Modalidad Tipo Texto Texto Texto Fecha/Hora Número Texto Moneda Sí/No Sí/No Sí/No Sí/No Sí/No Texto Texto Tamaño / máscara 20 30 8 Fecha corta Entero 10 Requerido Sí Sí Sí Decimales campo clave 0 10 20 Tabla: Profesores Nombre del campo Código profesor Nombre profesor Apellidos profesor Dirección Localidad Provincia Código postal Sueldo Antigüedad Contrato fijo Tipo Texto Texto Texto Número Texto Moneda Sí/No Sí/No Fecha/Hora Sí/No Tamaño / máscara 8 20 30 50 20 20 5 Moneda Fecha corta Requerido Sí Sí Sí campo clave Amplía 2. Manejar tablas con Base 1. Abre la base de datos Gestión de pedidos y entra en la tabla Productos. 2. Ordena la tabla por Nombre producto. Después ordena por Tipo (ordenación principal) y por Subtipo (ordenación secundaria). Finalmente, vuelve a ordenar por Nombre producto. 3. Sitúa el cursor en el primer registro y busca los productos del tipo “Composición”. Accede a cada uno de ellos hasta llegar al final de la lista. 4. Realiza un filtro que sólo muestre los productos del tipo “Recibidor” y el subtipo “Actual”. Después desactiva estos filtros. 5. Haz un filtro estándar que muestre los productos cuyo código sea mayor que 300 y después desactívalo. 6. Localiza utilizando la función Buscar el producto con código 505. Modifica dicho código y escribe en su lugar el código 230. Sal de este registro y analiza el mensaje de error. ¿Cuál es el motivo de dicho error? 7. Anula esta operación y después elimina este registro. Tecnologías de la información y la comunicación - Editorial Donostiarra 263 11 Gestores de bases de datos Conoce 3. Las relaciones Las bases de datos se denominan ampliamente sistemas de bases de datos relacionales. Esto es así porque normalmente, en una base de datos, las tablas guardan una relación entre ellas, es decir, las tablas se relacionan unas con otras a través de campos comunes. El sistema de relaciones es crucial para el completo diseño de una base de datos, porque si no están definidas las relaciones, las tablas se comportan como elementos independientes y no se pueden obtener de ellas consultas o informes que afectan a contenidos vinculados o globales. Detrás de la necesidad de relacionar está la necesidad de comprender por qué en una base de datos es necesario construir más de una tabla. Vamos a entenderlo con algunos ejemplos. Si abres la base de datos Gestión de pedidos_2 de la carpeta UD 10 del CD-ROM de ejercicios, podrás comprobar que existen tablas para productos, clientes y pedidos. ¿Por qué se diseñaron todas estas tablas? En algunos casos te parecerá obvio; por ejemplo, los datos de los productos nada tienen que ver con los clientes... pero, ¿por qué los pedidos aparecen en una tabla separada de los clientes? Imagínate por un momento que los datos de los clientes y sus pedidos estuviesen en la misma tabla. Cada vez que un cliente generase un pedido, además de anotar los datos propios del pedido, tendríamos que volver a escribir su nombre, dirección, etc. Lógicamente, esto no tiene sentido, y por eso existe una tabla de pedidos independiente. Pero si ahora quisiéramos ver todas los pedidos de un cliente, ¿cómo podríamos realizar esta operación? La solución es establecer una relación entre los clientes y los pedidos. Comprobarás que siempre se tendrán que crear dos o más tablas cuando exista una relación denominada uno a varios (de un elemento se pueden originar infinitos elementos relacionados). Ejemplos: Para un mismo cliente → puede haber varios pedidos Un mismo profesor → puede impartir varios cursos Un mismo paciente → puede hacer varias visitas al médico (historial) De un mismo producto → puede haber varias ventas Tipos de relaciones Relación uno a varios: Es la más frecuente. Se da cuando dos tablas se relacionan por un campo en común y este campo es de contenido único en la primera tabla (habitualmente es campo clave en esa tabla) y susceptible de repetirse infinitamente en la segunda tabla (nunca será campo clave en ella). Relación uno a uno. Se da cuando dos tablas se relacionan por un campo en común que a su vez es campo clave, y, por lo tanto, de contenido único, en las dos tablas. Propiedades de la relación uno a varios Exigir integridad referencial. No se podrá dar de alta el contenido de un campo relacionado que antes no exista en la tabla principal u origen de la relación. Por ejemplo, no se podrá dar de alta un pedido de un cliente si antes dicho cliente no existe en la tabla de clientes. Actualizar en cascada los campos relacionados. Esta propiedad permite al gestor de bases de datos modificar automáticamente el contenido de un campo relacionado si dicho contenido se ha modificado previamente en la tabla origen de la relación. Por ejemplo, si el código de un cliente era erróneo y se cambia en la tabla de clientes, automáticamente se modificará en todos los registros que ese cliente tenga en la tabla de pedidos. Eliminar en cascada los campos relacionados. Siempre que se eliminen registros en la tabla principal (la de clientes) se eliminarán automáticamente los registros relacionados en la tabla relacionada (la de pedidos). 264 Tecnologías de la información y la comunicación - Editorial Donostiarra Gestores de bases de datos Conoce 11 4. Las consultas Las consultas son objetos de las bases de datos que permiten obtener de forma selectiva parte de la información almacenada en una tabla o varias relacionadas entre sí. Para diseñar una consulta se utiliza una tabla denominada QBE (query by example, consulta según ejemplo) que permite seleccionar los campos de la tabla o tablas que se van a usar y los criterios que se van a emplear para obtener los registros deseados. Existen los siguientes tipos de consultas: De selección: visualiza los registros que cumplen una serie de criterios. De actualización: permite modificar o actualizar campos de un grupo de registros que cumplen una serie de criterios. De eliminación: elimina los registros de una o varias tablas que cumplen unos determinados criterios. De creación de tabla: es una consulta que a su vez genera una nueva tabla basada en la selección de registros de otras tablas. De referencia de tablas cruzadas: es un tipo especial de consulta que agrupa los datos obtenidos en categorías y presenta la información en un formato similar a una hoja de cálculo; se utiliza para realizar estadísticas. Criterios de una consulta Los criterios son las expresiones que se escriben en el apartado correspondiente (fila de criterios) de la cuadrícula de construcción de consultas. En función de ellos, los gestores de bases de datos resuelven y muestran los registros que cumplen con dichas expresiones. En los siguientes cuadros encontrarás la forma de establecer criterios con ejemplos. Criterios para campos de tipo Texto (el programa asume las comillas si no se escriben) Ejemplo de criterio Explicación Observaciones “Sevilla” Igual a “Sevilla” Los campos de texto se escriben entre comillas. Negado “Sevilla” Distinto de “Sevilla” El operador Negado equivale a Distinto de. Como “S*” Que empiece por “S” y continúe de cualquier forma El símbolo * en informática es un comodín que equivale a una cadena de caracteres cualquiera. Que sea una letra entre la “A” y la “C” El operador guión (-) escrito entre corchetes indica un intervalo de caracteres. Como “[A-C]” Criterios para campos de tipo Numérico, Moneda y Autonumérico > 300 Que sea mayor que 300 Puedes utilizar los operadores >, <, =, >=, <= y <>. Entre 300 y 500 Entre 300 y 500 El operador Entre se utiliza para intervalos numéricos. Criterios para campos de tipo Fecha/Hora =#15/06/03# Que sea con fecha 15/06/03 Las fechas se escriben entre almohadillas (#). >#15/06/03# Que sea con posterioridad a la fecha 15/06/03 Los operadores relacionales operan en las fechas de la misma forma que en los campos numéricos. También puedes utilizar el operador Entre. Criterios para campos de tipo Sí/No Sí Por ejemplo, sobre un campo llamado Soltero mostrará los que sean solteros. No olvides el acento en el Sí. Tecnologías de la información y la comunicación - Editorial Donostiarra 265 11 Gestores de bases de datos Practica paso a paso Práctica 7. Definir las relaciones entre tablas Ejercicio 1. Definir las relaciones con Access 1. Abre la base de datos Centro de estudios de tu carpeta de trabajo habitual y pulsa el botón Relaciones de la barra de herramientas. 2. Nada más entrar en la ventana de relaciones emergerá una ventana donde podremos escoger las tablas que vayamos a relacionar. En nuestro caso vamos a elegir las tres. Podemos seleccionarlas una por una e ir haciendo clic en el botón Agregar o bien seleccionarlas juntas arrastrando con el ratón y luego pulsar el botón Agregar. Cuando observes que las estructuras de las tres tablas ya aparecen en la ventana de relaciones, pulsa Cerrar. 3. Recuerda que las tablas se relacionan por uno o varios campos comunes entre ellas y definidos de la misma forma. La tabla Alumnos se relaciona con Cursos mediante el campo Código curso. Para indicarlo, arrastra con el ratón el campo Código curso de Alumnos hacia el campo Código curso de Cursos. Fig. 24 Fig. 25 4. A continuación aparecerá un cuadro en el que podremos definir con detalle la relación (figura 25). Activa las opciones Exigir integridad referencial y Actualizar en cascada los campos relacionados. Esto quiere decir que no se podrá dar de alta a un alumno cuyo curso no esté antes dado de alta en la tabla Cursos. Además, si hacemos una modificación en el código de un curso, dicha modificación se actualizará automáticamente para todos los alumnos matriculados en ese curso. Observa cómo las tablas quedan unidas por una línea con dos símbolos en cada extremo: el número 1, que indica que en esa tabla el campo es único, y el símbolo de infinito, que indica que en esa otra tabla el campo se puede repetir infinitas veces. En el lenguaje de las bases de datos se suele llamar tabla principal a la del número 1 y tabla relacionada a la del símbolo infinito. 5. Relaciona del mismo modo las tablas Cursos y Profesores por medio del campo Código profesor. 6. Cuando las tres tablas estén relacionadas (figura 26), cierra la ventana de relaciones y responde afirmativamente a la pregunta de guardar. Las relaciones quedan definidas dentro de la base de datos y no pertenecen a ningún tipo de objeto (tablas, consultas, formularios...) pero sí que influyen en todos ellos, cuidando de que se cumplan las propiedades que se han establecido. Por eso es conveniente, incluso, relacionar las tablas antes de introducir registros en ellas. Para cambiar las relaciones puedes volver a pulsar el botón Relaciones y hacer doble clic en las líneas de unión de las tablas. Para eliminar una relación puedes seleccionar una línea y pulsar la tecla Supr. Fig. 26 266 Tecnologías de la información y la comunicación - Editorial Donostiarra Gestores de bases de datos Practica paso a paso 11 Ejercicio 2. Definir las relaciones con Base En Base, el proceso para relacionar las tablas de una base de datos no ofrece apenas variaciones respecto a Access. 1. Copia el archivo Gestión de pedidos_2 que se encuentra en la carpeta UD 10 del CD-ROM de ejercicios en tu carpeta de trabajo habitual y ábrelo. 2. Selecciona en el menú Herramientas la opción Relaciones. 3. Haz clic en cada tabla de la base de datos y pulsa Agregar. Cuando hayas agregado las tres, cierra la ventana de selección de tablas. 4. Distribuye uniformemente las estructuras de las tablas por la ventana de relaciones. Observa los campos que tienen en común, cuáles son llaves primarias en sus tablas y por qué no lo son en la tabla Pedidos. Fig. 27 5. Arrastra el campo Código cliente de la tabla Clientes al Código cliente de la tabla Pedidos. En Base, la relación es íntegra de forma automática. El símbolo de infinito de Access es en Base el número n. 6. Para especificar con más detalle el tipo de relación, haz doble clic en la línea de unión entre las dos tablas y aparecerá una ventana donde podrás escoger entre opciones de actualización y de eliminación. 7. Elige Actualizar cascada, que es la misma opción que antes has utilizado en Access para que las modificaciones de las llaves primarias se realicen automáticamente. Esto es, cada vez que se modifique el código de un cliente en la tabla Clientes, automáticamente esta modificación se extenderá a todos los pedidos realizados por el cliente. Pulsa Aceptar. Otras opciones que puedes elegir en Base son Poner null y Predeterminar. Poner null implica que una modificación en la tabla principal (Clientes) tendrá una repercusión de campo vacío o sin contenido en la tabla relacionada (Pedidos). Con Predeterminar, en la tabla Pedidos el campo modificado quedará según el valor predeterminado definido en dicha tabla (recuerda que Valor predeterminado es una propiedad de campo). Las opciones para actualización tienen el mismo reflejo que la modalidad de eliminación. Fig. 28 8. Relaciona las tablas Productos y Pedidos por medio de Código producto. Actualiza en cascada el campo relacionado. El resultado de las relaciones en la base de datos Gestión de pedidos_2 puedes verlo en la figura 29. 9. Cierra la ventana de relaciones y guarda el diseño de relaciones creado. Ahora que ya sabes relacionar las tablas en ambos gestores de bases de datos, podemos construir potentes consultas y desarrollar completos formularios e informes que implican campos que se encuentran en distintas tablas. Al estar éstas relacionadas, la base de datos actúa como un todo único del que se obtiene la información que necesitamos. Fig. 29 Tecnologías de la información y la comunicación - Editorial Donostiarra 267 11 Gestores de bases de datos Practica paso a paso Práctica 8. Crear consultas con Access Ejercicio 1. Crear una consulta de selección Selección de las tablas 1. Copia el archivo Centro de estudios_2 del CD-ROM de ejercicios en tu carpeta de trabajo habitual. Esta versión contiene una información extensa de las tres tablas. Abre esta base de datos. 2. Selecciona la solapa Consultas y haz clic en el botón Nuevo, o bien pulsa directamente sobre la opción Crear una consulta en vista Diseño. Al igual que con las tablas, este es el método más completo. 3. Lo primero que debes hacer es elegir la tabla o tablas que deseas consultar. Escoge la tabla Alumnos y haz clic en Agregar. Después pulsa Cerrar. Fig. 30 Elección de los campos Si se te olvida agregar alguna tabla a la consulta, puedes volver a ella desde la barra del menú con Consulta / Mostrar tabla. Para quitar la tabla, Consulta / Quitar tabla. 4. Ahora te encuentras trabajando en la ventana del diseño de la consulta (QBE). En la parte superior aparece la tabla Alumnos con sus campos, y debajo de ella, una cuadrícula. En cada columna de la cuadrícula debemos consignar los campos de las tablas que queremos mostrar en el resultado de la consulta. Para ello basta con que hagas doble clic sobre el campo de la tabla que quieras y verás cómo se sitúa en la columna correspondiente de la cuadrícula. Por ejemplo, haz doble clic en los campos Nombre alumno, Apellido alumno, DNI y Provincia. Fig. 31 Otra forma de incluir campos de una tabla es arrastrarlos con el ratón desde la tabla hasta la casilla Campo de cada columna. También podemos seleccionar el campo *, que equivale a decir que queremos ver todos los campos de la tabla. 5. Vamos a crear una consulta para que se muestre la lista de alumnos que son de la provincia de Madrid. Es tan fácil como escribir “Madrid” en la casilla Criterios de la columna Provincia (figura 32). Fig. 32 Botón Ejecutar 268 Tecnologías de la información y la comunicación - Editorial Donostiarra Pon especial atención a los operadores que puedes escribir en los criterios, porque dependen del tipo de campo sobre el que se establecen. El campo Provincia es de tipo texto, pero en otras consultas deberás utilizar operadores numéricos o escribir fechas, etc. Consulta la parte de teoría para saber cómo utilizar los operadores. 6. Finalmente, vamos a ejecutar la consulta para ver qué resultados nos proporciona. Pulsa el botón Ejecutar de la barra de herramientas o haz clic en el botón Vista Hoja de datos. Access mostrará los alumnos que viven en Madrid. 7. Guarda esta consulta haciendo clic en el botón Guardar y llámala Alumnos de Madrid. Así, cada vez que quieras saber qué alumnos son de Madrid, bastará con que abras esta consulta, sin necesidad de volver a diseñarla. Access evaluará el resultado con el contenido de la tabla en cada momento. Gestores de bases de datos Practica paso a paso 11 Ejercicio 2. Hacer una consulta con varios criterios Podemos hacer una consulta con más de un criterio en distintos campos, de forma que el programa deberá evaluar cada uno de ellos y mostrar los registros que los cumplan todos a la vez. También podemos especificar en la consulta que los criterios no se enlacen sumando condiciones, sino permitiendo que aparezcan aquellos registros que cumplan alguna de ellas. 1. Crea una consulta nueva. Elige las tres tablas: Alumnos, Cursos y Profesores. 2. Selecciona los campos Nombre alumno y Apellido alumno de la tabla Alumnos; Nombre curso de la tabla Cursos; y Nombre profesor de la tabla Profesores. 3. Vamos a escribir los criterios que nos permitan ver qué alumnos han realizado el curso “Decorador” impartido por la profesora Eva. Para ello, escribe los criterios tal y como se muestran en la figura 33. Observa que ambos criterios están en la misma línea de la cuadrícula. Fig. 33 4. Ejecuta la consulta y comprueba el resultado. Como puedes apreciar, sólo aparecen los alumnos que cumplen las dos condiciones. 5. Vuelve a la vista Diseño de la consulta pulsando el botón correspondiente. 6. Ahora vamos a cambiar el sentido de nuestra consulta, pero utilizando los mismos criterios de selección. En esta ocasión queremos saber qué alumnos han realizado el curso “Decorador” o han tenido como profesora a Eva. Para ello basta con escribir los criterios en líneas distintas de la cuadrícula (figura 34). 7. Ejecuta la consulta y analiza el resultado. Después no guardes esta consulta; sólo la hemos creado para comprobar este caso específico. Fig. 34 Ejercicio 3. Consultas con criterios variables 1. Crea una consulta nueva basada únicamente en la tabla Alumnos. Escoge los campos Nombre alumno, Apellido alumno, Localidad y Provincia. 2. Sitúa el cursor en la casilla de criterios del campo Provincia y escribe en esta casilla lo siguiente: “[Introduce la provincia]” (no olvides los corchetes). 3. Cuando ejecutes la consulta, aparecerá la ventana que se muestra en la figura 35. 4. Introduce la provincia que desees y obtendrás la lista de alumnos que viven en dicha provincia. Fig. 35 5. Guarda esta consulta como Alumnos de una provincia. Como puedes comprobar, la ventaja de este tipo de consultas es que el mismo criterio (un mensaje entre corchetes) sirve para cualquier contenido, es decir, es un criterio variable. Tecnologías de la información y la comunicación - Editorial Donostiarra 269 11 Gestores de bases de datos Practica paso a paso Práctica 9. Consultas avanzadas en Access Ejercicio 1. Realizar una consulta de actualización Las consultas de actualización se utilizan para modificar el contenido de uno o varios campos que afectan a un conjunto de registros que cumplen una determinada condición. Por ejemplo, vamos a aumentar un 10% el sueldo de los profesores que no tengan contrato fijo. 1. Crea una consulta nueva basada en la tabla Profesores. 2. Selecciona los campos Código profesor, Nombre profesor, Apellidos profesor, Sueldo y Contrato fijo. Fig. 36 3. Primero establece el criterio de selección: escribe “No” en la fila criterios de la columna Contrato fijo. Puedes incluso ejecutar la consulta para ensayar que el resultado posterior va a ser correcto. 4. A continuación, convierte esta consulta en una consulta de actualización mediante la opción Consulta de actualización del menú Consulta. 5. En la cuadrícula inferior dispones ahora de la fila Actualizar a. Fig. 37 6. Escribe en esa fila y en la columna Sueldo la siguiente expresión: “=[sueldo]*1,1”. Observa que en las expresiones los nombres de campos deben ir entre corchetes (figura 37). 7. Ejecuta la consulta. Access pide confirmación sobre la acción de modificación que vamos a realizar. Pulsa Sí y el programa realizará la operación, sin mostrar aparentemente ningún resultado. Fig. 38 8. Cierra la consulta sin guardarla y abre la tabla Profesores para comprobar la acción de la consulta que acabas de realizar. Ejercicio 2. Crear una consulta de eliminación Una consulta de eliminación es una eficaz herramienta para borrar de una sola vez varios registros que cumplen determinados criterios de selección. Para comprender la eficacia de este tipo de consultas eliminaremos en la tabla Cursos los cursos presenciales que no se impartieron (o, lo que es lo mismo, cuyo campo Aula teoría esta vacío). 1. Crea una consulta nueva basada en la tabla Cursos. 2. Elige los campos Código curso, Nombre curso, Fecha inicio, Modalidad y Aula teoría. Fig. 39 3. Escribe los criterios que permitan seleccionar los cursos que en Modalidad tengan “Presencial” y cuyo campo Aula teoría esté vacío. Fíjate en la figura 39 para saber cómo se indica un valor vacío. 4. Al igual que antes, puedes ejecutar la consulta para obtener un resultado previo satisfactorio. De vuelta al diseño, selecciona Consulta / Consulta de eliminación. 5. Ejecuta de nuevo la consulta y responde afirmativamente a la confirmación de eliminación. 270 Tecnologías de la información y la comunicación - Editorial Donostiarra Gestores de bases de datos Practica paso a paso 11 Práctica 10. Crear consultas con Base de OpenOffice.org 1. Abre la base de datos Gestión de pedidos_2 de tu carpeta de trabajo habitual y selecciona la solapa Consultas. 2. Haz clic en la opción Crear consultas en vista Diseño. 3. Los pasos para crear una consulta con el gestor Base son casi idénticos a los de Access. Primero debemos escoger las tablas que van a participar en la consulta. Selecciona las tres tablas y haz clic en Cerrar. 4. En la ventana de diseño, mueve desde las estructuras de las tablas hasta la cuadrícula los siguientes campos: Empresa, Nombre contacto, Número pedido, Nombre producto, Unidades y Fecha pedido. Fig. 40 5. Vamos a ejecutar la consulta sin establecer ningún criterio de selección. Para ejecutar la consulta, pulsa el botón Ejecutar consulta de la barra de herramientas. El listado obtenido aparece en una zona superior de la ventana, mientras que en la parte inferior se mantiene el diseño de la consulta. 6. Como puedes comprobar, esta consulta muestra todos los pedidos que han hecho los clientes. Ahora vamos a filtrar la información para que muestre sólo los pedidos correspondientes al producto “Ares”. Escribe “Ares” en la cuadrícula dentro de la casilla Criterios y de la columna Nombre producto. 7. Ejecuta la consulta y comprueba el resultado. La ejecución muestra todos los pedidos que han hecho los clientes de la mesa Ares. 8. Añade un criterio más al diseño de la consulta sin eliminar el anterior. Escribe “>15” en la misma fila de criterios para el campo Unidades y ejecuta la nueva consulta. Comprueba el resultado. 9. Haz una variación en los criterios que ahora están conectados en Y lógico y escribe “Ares” en una fila distinta a “>15”. Ejecuta la consulta y comprueba la diferencia. Fig. 41 Botón Ejecutar Varios criterios con conector lógico “O” 10.Elimina el criterio “>15” para el campo Unidades. 11.Para que esta consulta sea más dinámica, modifica el criterio del nombre de producto para que éste sea variable. Esto es, escribe en lugar de “Ares” la expresión “=[escribe el nombre del producto]”. Ejecuta la consulta varias veces e introduce cada vez un nombre de producto diferente. Criterios variables 12.Guarda la consulta con el nombre Pedidos de un producto. Tecnologías de la información y la comunicación - Editorial Donostiarra 271 11 Gestores de bases de datos Practica paso a paso Práctica 11. 1. Realizar Crear formularios un horario con escolar Access con Calc Ejercicio 1. Hacer y usar un formulario de columna simple Los formularios son objetos de las bases de datos que pueden sustituir a las tablas para introducir y manejar los registros y presentan la información en pantalla de una forma más dinámica, atractiva y elegante. En primer lugar vamos a crear un formulario sobre la tabla Profesores de la base de datos Centro de estudios. 1. Abre la base de datos Centro de estudios_2 de tu carpeta de trabajo y sitúate en la solapa Formularios. Fig. 42 2. Haz clic en la opción Crear un formulario utilizando el asistente. Al ser objetos con muchas posibilidades de diseño, es mejor crear los formularios y los informes con ayuda de los asistentes. 3. En el primer paso del asistente debemos incluir las tablas sobre las que se va a generar el formulario. Selecciona en el apartado Tablas/ Consultas la tabla Profesores. Comprobarás que los campos de esta tabla aparecen justo debajo. 4. Como queremos utilizar este formulario para introducir y ver información de los alumnos, lo mejor es elegir todos los campos. La forma más rápida de hacerlo es pulsar el botón >> y todos pasarán a la zona de la derecha. Pulsa Siguiente. 5. En el siguiente paso debes elegir la distribución que quieras dar al formulario. La más utilizada es En columnas. Pulsa Siguiente. Fig. 43 6. A continuación, el asistente muestra los distintos estilos decorativos que tiene preestablecidos. Elige el que más te guste y pulsa Siguiente. 7. En el último paso debes poner un nombre al formulario. Por defecto, el programa le asigna el nombre de la tabla seguido del número 1. Cambia este nombre y llámalo Mantenimiento de profesores. Pulsa Finalizar y automáticamente Access lo guardará (ya no es necesario que lo hagas tú) y lo presentará para que directamente lo utilices. Fig. 44 Prueba el formulario para comprobar que dispones de las mismas funciones que cuando manejabas la vista Hoja de datos de la tabla. Por ejemplo: 8. Accede directamente al último registro. 9. Mediante el botón Buscar, localiza a los profesores cuya provincia sea Barcelona. 10.Introduce un nuevo registro con el contenido que desees. Después cierra el formulario. Si quieres personalizar un formulario, puedes abrirlo desde su vista Diseño, seleccionándolo en la ventana de la base de datos y pulsando el botón Diseño. Más adelante practicaremos la modificación del diseño de un formulario. Fig. 45 272 Tecnologías de la información y la comunicación - Editorial Donostiarra Gestores de bases de datos Practica paso a paso 11 Ejercicio 2. Crear un formulario con subformularios Este tipo de formularios presentan una faceta práctica que va más allá de la presentación y el diseño. Vamos a crear un formulario para editar los datos de los curso y que, en la parte inferior, se muestren los alumnos que se han matriculado en cada curso. En este caso, hay dos tablas implicadas: Cursos y Alumnos. Como es lógico, estas tablas están relacionadas. 1. Haz clic en la opción Crear un formulario utilizando el asistente. 2. Selecciona la tabla Cursos (que es la principal) y elige todos los campos. Sin pasar al siguiente paso, selecciona la tabla Alumnos (tabla relacionada) y escoge también todos los campos. Pulsa Siguiente. Fig. 46 3. Cuando el asistente detecta que estás usando dos tablas o más, en el siguiente paso pide confirmar cuál es la tabla principal, es decir, la que se va a presentar en la parte superior del formulario. Haz clic en Por Cursos. Observa que en la parte inferior de esta ventana automáticamente está seleccionada la opción Formulario con subformularios. Pulsa Siguiente. 4. En el paso siguiente, Access nos deja elegir el diseño o distribución de la tabla secundaria o relacionada (en nuestro caso, la tabla Alumnos). Escoge la opción Hoja de datos y pulsa Siguiente. 5. Selecciona el fondo o aspecto general que tendrá el formulario principal y pulsa Siguiente. Fig. 47 6. En el último paso tienes que dar nombre tanto al formulario principal como al subformulario, y no pueden ser iguales. Escribe Mantenimiento de cursos para el principal y Subformulario de alumnos para el subformulario. Pulsa Finalizar. Al abrirse el formulario (figura 49), verás en la parte superior los datos del primer curso de la tabla Cursos y en una ventana más pequeña los alumnos pertenecientes a ese curso. Pon atención a los controles para desplazarse por los registros de uno y otro formulario. 7. Mediante la función Buscar, localiza el curso cuyo código es OFW0708-D. Una vez situado en él, comprueba que tiene cinco alumnos. 8. A continuación, da de alta un nuevo curso con los datos que prefieras y también a dos alumnos dentro de él. Fig. 48 9. Cierra el formulario. Cuando tengas que abrir otra vez un formulario de este tipo, sólo será necesario que abras el formulario principal y automáticamente el programa cargará también el subformulario. Fig. 49 Tecnologías de la información y la comunicación - Editorial Donostiarra 273 11 Gestores de bases de datos Practica paso a paso Práctica 12. 1. Realizar Modificar un el horario diseñoescolar de un formulario con Calc Si queremos personalizar el diseño que el asistente hace del formulario es necesario entrar en su diseño. 1. Selecciona el formulario Mantenimiento de cursos que has hecho en el ejercicio anterior y pulsa sobre el botón Diseño. Obtendrás una ventana cuadriculada en la que aparecen todos los campos, cabeceras y etiquetas con que está construido el formulario. Fig. 50 2. Podemos utilizar las técnicas generales de trabajo con objetos en Windows para cambiar el aspecto. Por ejemplo, haz la ventana del formulario más grande arrastrando su borde hacia la derecha; o mueve los campos (tanto su etiqueta como su contenido) con el ratón para desplazarlos hasta la posición que desees. 3. Aumenta el tamaño de los cuadros de texto de los campos Nombre curso, Fecha inicio, etc. Antes será necesario que desplaces los campos Aula teoría, Precio y los días de la semana hacia la derecha. Pon la letra del título del formulario en otro color y el título en negrita. 4. También puedes observar una barra de herramientas denominada Cuadro de herramientas. Con estos botones podemos diseñar más objetos para nuestro formulario, como crear un cuadro combinado. 5. Selecciona el campo Código profesor del formulario. Pulsa la tecla Supr para eliminarlo. Vamos a pedirle al programa que nos proporcione el código del profesor de una lista desplegable cuyo origen será la propia tabla de profesores; así no tendremos necesidad de teclearlo nosotros. Fig. 51 6. Elige en el cuadro de herramientas el botón Cuadro combinado. Sitúate en la zona donde antes estaba el Código profesor y marca un rectángulo con el ratón. Se formará un nuevo campo, del que surgirá inmediatamente un asistente. 7. En el primer paso, escoge la primera opción: queremos escoger el valor de una tabla. Pulsa Siguiente. Después haz clic en la tabla Profesores y pulsa Siguiente. Selecciona los campos Código profesor, Nombre profesor y Apellidos profesor. Pulsa en Siguiente. Fig. 52 8. En el siguiente paso podemos indicar que la lista aparezca ordenada en función de una serie de campos. Selecciona la ordenación por Apellidos profesor. 9. Desactiva Ocultar la columna clave, porque es importante que se vea en el subformulario el código de profesor. A continuación debes indicar al programa que el dato que va a coger de la tabla Profesores es Código profesor. Pulsa Siguiente. 10.Finalmente, también escogemos Código profesor como el campo de la tabla Cursos que va a recibir el contenido de la lista. Pulsa Siguiente y Finalizar. Fig. 53 274 Tecnologías de la información y la comunicación - Editorial Donostiarra Guarda el formulario y ábrelo para comprobar los cambios realizados. Gestores de bases de datos Practica paso a paso 11 Práctica 13. 1. Realizar Crear y un visualizar horarioinformes escolar con conCalc Access Los informes son objetos destinados únicamente a ser presentados en papel, por lo que no poseen la modalidad Ejecutar, sólo pueden ser abiertos en vista preliminar. Un informe puede estar basado en una o varias tablas relacionadas, aunque también es muy frecuente generar informes para presentar en papel el resultado de una consulta. Los pasos para fabricar un informe son muy parecidos a los que se siguen para hacer un formulario. Utilizaremos, por lo tanto, la capacidad de los asistentes y posteriormente podremos personalizar el diseño a nuestro gusto. 1. En la base de datos Centro de estudios_2 selecciona la solapa Informes. Fig. 54 2. Haz clic en la opción Crear un informe utilizando el asistente. 3. Selecciona la tabla Alumnos y en la lista de campos elige los campos Código alumno, Código curso, Apellido alumno, Nombre alumno, Dirección, Localidad y Provincia. En los informes, lo normal es no incluir todos los campos de una tabla de consulta, porque tenemos que pensar si esto puede caber en el papel. Pulsa Siguiente. 4. En el siguiente paso podemos elegir un nivel de agrupamiento de los registros. En este caso, elige el campo Código curso (ya viene por defecto) y pulsa Siguiente. Fig. 55 5. A continuación podemos escoger cómo van a salir ordenados los registros dentro de cada nivel de agrupamiento. Escoge Provincia como primer campo de ordenación, para que todos los alumnos de una misma provincia salgan juntos, y Apellido alumno como segundo campo. Después pulsa Siguiente. 6. La distribución del informe es la forma en que aparecen alineados los registros en el papel. Por ejemplo, selecciona Esquema 1. Para la orientación es muy importante que elijas Horizontal, para que entren mejor los campos. Pulsa Siguiente. 7. Escoge el estilo que más te guste para la presentación del informe y pulsa Siguiente. Fig. 56 8. Llama al informe Listado de alumnos por curso y pulsa Finalizar. Como ya hemos comentado, Access presenta el informe en vista preliminar. Ahora podrás comprobar cómo ha actuado el nivel de agrupamiento por provincia. Si algún campo o cabecera ha quedado cortado o quieres cambiarle el estilo, tendrás que cerrar el informe y abrirlo desde su vista Diseño. El manejo del informe en la vista Diseño es idéntico al formulario, aunque podrás apreciar más secciones que en éste, sobre todo si se han aplicado grupos y subgrupos. Fig. 57 Tecnologías de la información y la comunicación - Editorial Donostiarra 275 11 Gestores de bases de datos Practica paso a paso Práctica 14. Generar formularios e informes con Base de OpenOffice.org Ejercicio 1. Crear un formulario Vamos a crear en la base de datos Gestión de pedidos_2 un formulario para manejar a la vez los datos de los clientes y los pedidos que éstos realizan. 1. Abre la base de datos Gestión de pedidos_2 de tu carpeta de trabajo habitual y sitúate en la sección Formularios. Haz clic en la opción Usar el asistente para crear formulario. Fig. 58 2. Elige la tabla Clientes y selecciona todos sus campos. La diferencia respecto a Access es que no debemos seguir añadiendo ahora más tablas, porque Base nos va a pedir eso en el siguiente paso. Pulsa Siguiente. 3. Ahora activa la casilla Agregar subformulario y comprobarás cómo la opción marcada por defecto es la correcta, ya que la tabla relacionada con Clientes es Pedidos y ésta va ser la que se use como subformulario. Haz clic en Pedidos y pulsa Siguiente. 4. Incluye también todos los campos de la tabla Pedidos y pulsa Siguiente. Fig. 59 5. En el paso Organizar campos de control tienes que elegir la distribución del formulario principal y del subformulario. Para el principal, selecciona la opción de la izquierda (En columnas - Etiquetas a la izquierda). Para el subformulario escoge la tercera (Como hoja de datos). Pulsa Siguiente. 6. Como queremos un uso total de las capacidades del formulario, deja activada la opción El formulario mostrará todos los datos. Pulsa Siguiente. 7. Aplica el estilo que desees y pulsa Siguiente. 8. Guarda el formulario como Clientes y sus pedidos y pulsa Finalizar. Fig. 60 Ejercicio 2. Generar un informe Vamos a generar un informe sencillo para listar los Productos de la base de datos. 1. Selecciona la solapa Informes de la base de datos Gestión de pedidos y haz clic en la opción Usar el asistente para crear informe. 2. En el primer paso, escoge la tabla Productos, incluye todos sus campos y haz clic en Siguiente. 3. Como no queremos realizar ningún agrupamiento, pulsa Siguiente. 4. Ordena el informe por Código producto y pulsa Siguiente. Fig. 61 5. Escoge la distribución Moderno - alineado a la izquierda y haz clic en Siguiente. 6. Llama al informe Listado de productos y pulsa Finalizar. 276 Tecnologías de la información y la comunicación - Editorial Donostiarra Gestores de bases de datos Amplía y profundiza 11 Amplía 3. Hacer consultas con Access Abre la base de datos Centro de estudios_2 de tu carpeta de trabajo y genera las siguientes consultas: Nombre de la consulta Resultado Campos a mostrar Ordenación Cursos del aula 1A Obtiene un listado de los cursos que se imparten o se han impartido en el aula 1A. Código curso, Nombre curso y Fecha inicio Por Nombre curso Cursos en lunes, miércoles y viernes Muestra los cursos que tienen lugar en esos días de la semana. Código curso, Nombre curso, Fecha inicio y Modalidad Por Nombre curso Técnicos contables de Madrid y Barcelona Muestra los alumnos matriculados en el curso “Técnico contable” y que viven en Madrid o Barcelona. Nombre alumno, Apellidos alumno, Dirección, Localidad, Provincia, Nombre curso y Código curso Por Nombre curso y Apellidos alumno Profesores y cursos largos Obtiene una relación de los profesores que han impartido un curso de más de 400 horas de duración. Código curso, Nombre curso, Horas duración, Nombre profesor y Apellidos profesor Por Apellidos profesor y Nombre curso Mujeres veterinarias Muestra las alumnas que hayan hecho el curso “Auxiliar clínica veterinaria”. Nombre alumno, Apellidos alumno, Localidad, Provincia, Sexo, Nombre curso y Código curso Por Apellidos alumno y Nombre curso Alumnos a distancia Muestra los alumnos que han realizado o realizan un curso a distancia. Nombre alumno, Apellidos alumno, Dirección, Localidad, Provincia, Sexo, Nombre curso, y Código curso Por Apellidos alumno Alumnos a distancia del curso 06-07 Muestra los alumnos que hicieron en el curso 06-07 (de septiembre a junio) un curso a distancia. Nombre alumno, Apellidos alumno, Dirección, Localidad, Provincia, Sexo, Nombre curso, Código curso y Fecha inicio Por Apellidos alumno y Nombre curso Alumnos de un profesor Esta consulta es paramétrica y en el momento de ejecutarse, pide el nombre del profesor y después sus apellidos. De esta forma, resuelve en función de lo encontrado. Nombre alumno, Apellidos alumno, Sexo, Nombre profesor, Apellidos profesor, Nombre curso y Código curso Por Apellidos profesor y Apellidos alumno Alumnos de un curso Esta consulta es también paramétrica. Mostrará los alumnos matriculados en el curso (nombre de curso) que pide que tecleemos en el momento de ejecutarla. Nombre alumno, Apellidos alumno, Dirección, Código postal, Localidad, Provincia, Teléfono, Nombre curso y Código curso Por Apellidos alumno Eliminar cursos anteriores al año 2007 Es una consulta de eliminación. Elimina los registros de la tabla Cursos cuya fecha de inicio es anterior a enero del 2007. Código curso, Nombre curso y Fecha inicio Amplía 4. Formularios e informes en Base 1. Abre la base de datos Gestión de pedidos_2 de tu carpeta de trabajo habitual y construye un formulario que permita gestionar los productos. A su vez, este formulario incluirá un subformulario con los pedidos realizados de estos productos. En este subformulario, el campo Código producto debe ser un cuadro de lista combinado, es decir, un control que permita elegir el código de producto de la propia tabla de productos. Este cuadro combinado deberá mostrar el código y el nombre de los productos. Personaliza el formulario con colores y estilos sugerentes. 2. Genera un informe de clientes agrupados por Provincia. Dentro de cada provincia, los clientes deben quedar ordenados por Localidad y Empresa. Tecnologías de la información y la comunicación - Editorial Donostiarra 277 11 Gestores de bases de datos Recuerda Cuando utilizamos varios equipos o bien cuando cambiamos de ordenador, tenemos la posibilidad de exportar la lista de nuestros Favoritos de un equipo a otro con la función de Importar y Exportar favoritos. � Práctica 1: Práctica 1: Crear una base de datos y tablas con Access � Práctica 2: Modificar las propiedades de los campos � Práctica 3: Manejar los registros � Práctica 4: Usar filtros � Práctica 5: Crear una base de datos con Base de OpenOffice.org � Práctica 6: Manejar los registros con Base de OpenOffice.org � Práctica 7: Definir las relaciones entre tablas � Práctica 8: Crear consultas con Access � Práctica 9: Consultas avanzadas en Access � Práctica 10: Crear consultas con Base de OpenOffice. org � Práctica 11: Crear formularios con Access � Práctica 12: Modificar el diseño de un formulario � Amplía 1: Crear tablas en una base de datos con Access � Amplía 3: Hacer consultas con Access � Práctica 13: Crear y visualizar informes con Access � Práctica 14: Generar formularios e informes con Base de OpenOffice.org � Amplía 4: Formularios e informes en Base � Amplía 2: Manejar tablas con Base Documentos del CD ROM �Centro de estudios �Gestión de pedidos �Centro de estudios_2 �Gestión de pedidos_2 En la Red: enlaces de interés www.adrformacion.com/cursos/accesb07/accesb07.html Temario con ejemplos e ilustraciones sobre el manejo de Access 2007. www.duiops.net/manuales/access/access1.htm Manual on-line de Access 2003. tutorialopenofficebase.wordpress.com Tutorial completo y muy didáctico sobre Base de OpenOffice.org. personal.lobocom.es/claudio/menu.htm Amplía tus conocimientos sobre las bases de datos: arquitectura, modelo, SQL, etc. 278 Tecnologías de la información y la comunicación - Editorial Donostiarra