Manejo de tablas en Access Informรกtica de 4ยบ de E.S.O.
Juan Marcos Sacristรกn Donoso ISBN: 84-689-4298-7 Registro: 05/73559
Índice Introducción........................................................................................................ 4 UNIDAD DIDÁCTICA............................................................................................. 5 OBJETIVOS DIDÁCTICOS............................................................................ 5 CONTENIDOS................................................................................................. 6 CONTENIDOS CONCEPTUALES................................................................... 6 CONTENIDOS PROCEDIMENTALES............................................................. 6 CONTENIDOS ACTITUDINALES................................................................... 6 DISTRIBUCIÓN DE SESIONES .................................................................... 7 METODOLOGÍA............................................................................................. 8 ACTIVIDADES DISCENTES......................................................................... 9 RECURSOS (DOCENTES Y ALUMNOS) .................................................. 10 ORGANIZACIÓN SOCIAL .......................................................................... 10 ESPACIOS ..................................................................................................... 10 EVALUACIÓN DEL ALUMNADO ............................................................. 11 EVALUACIÓN DEL PROCESO DE ENSEÑANZA - APRENDIZAJE ..... 11 BIBLIOGRAFÍA ............................................................................................ 12 POSIBLES AMPLIACIONES ....................................................................... 13 0. Presentación. (sesión1) .................................................................................. 14 1. Concepto de tabla. (sesión1)........................................................................... 15 2. Introducción a Access 2000. (sesión2) ........................................................... 17 3. Creación de tablas. (sesión2) .......................................................................... 19 3. Creación de tablas. (sesión3) .......................................................................... 21 4. Manejo de datos de una tabla. (sesión4)......................................................... 28 5. Relaciones entre tablas. (sesión5 y sesión6) ................................................... 35 6. Desarrollo de un supuesto práctico. (sesión7) ................................................ 42 7. Evaluación. (sesión8 y sesión9)...................................................................... 47 Solución de la prueba de evaluación............................................................ 49 Hoja de seguimiento ....................................................................................... 51
1
Índice de figuras (Figura 1: vista hoja de datos) ........................................................................................ 15 (Figura 2: vista diseño) ................................................................................................... 16 (Figura 3: icono de Microsoft Access) ........................................................................... 17 (Figura 4: diálogo inicial de Access).............................................................................. 17 (Figura 5: diálogo de archivo nuevo) ............................................................................. 18 (Figura 6: ventana principal de Access) ......................................................................... 18 (Figura 7: Cómo crear una tabla).................................................................................... 19 (Figura 8: Rellenando la vista de diseño) ....................................................................... 19 (Figura 9: tipos de datos) ................................................................................................ 20 (Figura 10: tipos numéricos) .......................................................................................... 21 (Figura 11: tipos de fecha / hora).................................................................................... 22 (Figura 12: tipos de Moneda) ......................................................................................... 22 (Figura 13: lugares decimales) ....................................................................................... 23 (Figura 14: seleccionamos el campo) ............................................................................. 24 (Figura 15: fijamos la clave principal) ........................................................................... 25 (Figura 16: el icono de la X para cerrar la tabla)............................................................ 25 (Figura 17: pregunta interactiva) .................................................................................... 25 (Figura 18: nombre de la tabla) ...................................................................................... 26 (Figura 19: aviso de que no hay clave principal)............................................................ 26 (Figura 20: menú contextual de una tabla) ..................................................................... 26 (Figura 21: vista diseño con clave auto-numérico) ........................................................ 27 (Figura 22: ventana principal con tabla ya creada)......................................................... 28 (Figura 23: vista hoja de datos de tabla vacía) ............................................................... 28 (Figura 24: vista hoja de datos añadiendo un nuevo registro)........................................ 29 (Figura 25: repetición de clave principal)....................................................................... 29 (Figura 26: ¡error: clave principal repetida!).................................................................. 30 (Figura 27: selección de un registro) .............................................................................. 30 (Figura 28: aviso de borrado) ......................................................................................... 31 (Figura 29: a punto de borrar un registro) ...................................................................... 31 (Figura 30: desfase de campo auto-numérico) ............................................................... 31 (Figura 31: preparado para modificar un registro) ......................................................... 32 (Figura 32: registro modificado)..................................................................................... 32
2
(Figura 33: preparado para buscar por nombre) ............................................................. 33 (Figura 34: parámetros de búsqueda) ............................................................................. 33 (Figura 35: búsqueda con éxito) ..................................................................................... 34 (Figura 36: búsqueda sin éxito) ...................................................................................... 34 (Figura 37: tabla alumno) ............................................................................................... 35 (Figura 38: tabla asignatura)........................................................................................... 35 (Figura 39: tabla Se_Matricula_En) ............................................................................... 35 (Figura 40: vista diseño de tabla Se_Matricula_En) ...................................................... 36 (Figura 41: ventana para mostrar tablas en área de relaciones)...................................... 37 (Figura 42: área de relaciones con tablas) ...................................................................... 37 (Figura 43: configuración de una relación) .................................................................... 38 (Figura 44: área de relaciones con relaciones hechas) ................................................... 39 (Figura 45: nif no existente) ........................................................................................... 39 (Figura 46: error de integridad referencial) .................................................................... 39 (Figura 47: se puede repetir el nif o el código)............................................................... 40 (Figura 48: no podemos repetir el mismo nif con el mismo código) ............................. 40 (Figura 49: no se satisface la clave principal) ................................................................ 40 (Figura 50: modificamos un nif en la tabla asignatura).................................................. 40 (Figura 51: actualización en cascada)............................................................................. 40 (Figura 52: error porque no hemos habilitado el borrado en cascada) ........................... 41 (Figura 53: vista diseño de la tabla platos) ..................................................................... 43 (Figura 54: vista hoja de datos de la tabla platos) .......................................................... 43 (Figura 55: vista diseño de la tabla ingredientes) ........................................................... 44 (Figura 56: vista hoja de datos de la tabla ingredientes) ................................................ 44 (Figura 57: vista diseño de la tabla recetas) ................................................................... 45 (Figura 58: área de relaciones) ....................................................................................... 45 (Figura 59: configuración de las relaciones) .................................................................. 45 (Figura 60: vista hoja de datos de la tabla recetas)......................................................... 46
3
Introducción La presente obra ha sido realizada por Juan Marcos Sacristán Donoso, funcionario de carrera del cuerpo de profesores de enseñanza secundaria, especialidad de Informática. El autor tiene una amplia experiencia en el mundo de la informática, tanto de docente como de profesional. El contenido de la obra se ajusta perfectamente al currículo de la asignatura optativa Informática de 4º de E.S.O. Dentro de los contenidos de dicha asignatura, estaría la herramienta ofimática Microsoft Office, incluyendo Word (procesador de textos), Excel (hoja de cálculos) y Access (base de datos). Se proponen contenidos para un total de nueve sesiones de clase, lo que hace un total de tres semanas de clase.
4
UNIDAD DIDÁCTICA Manejo de Tablas en Access Informática 4º de E.S.O.
OBJETIVOS DIDÁCTICOS Al finalizar la unidad, el alumno será capaz de resolver supuestos prácticos que requieran el uso de tablas y relaciones de bases de datos relacionales utilizando Access 2000.
5
CONTENIDOS CONTENIDOS CONCEPTUALES 1. Identificar una tabla y sus componentes básicos. 2. Conocer los tipos de datos aplicables a los campos. 3. Conocer los distintos tipos de claves e índices. 4. Reconocer las opciones básicas de manejo de datos de una tabla. 5. Entender el concepto de relación entre tablas. CONTENIDOS PROCEDIMENTALES 1. Diseñar y crear correctamente las tablas a la hora de reflejar información concreta. 2. Aplicar los tipos de datos adecuados a cada campo de cada tabla. 3. Crear claves e índices cuando son necesarios. 4. Realizar operaciones básicas de manejo de datos de una tabla. 5. Crear las relaciones necesarias para reflejar información concreta. CONTENIDOS ACTITUDINALES 1. Aprender a ser organizado con la información y presentarla de una manera clara. 2. Desarrollar las capacidades de abstracción y razonamiento necesarias para realizar correctamente las fases de análisis, diseño e implementación. 3. Compartir recursos y conocimientos en el aula de informática.
6
DISTRIBUCIÓN DE SESIONES 0. 1. 2. 3.
Presentación. (sesión 1) Concepto de tabla. (sesión1) Introducción a Access 2000. (sesión2) Creación de tablas. (sesión2 y sesión3) 9
Vista diseño
9
Campo y tipo de dato
9
Claves e índices
4. Manejo de datos de una tabla. (sesión4) 9
Vista hoja de datos
9
Insertar datos
9
Actualizar datos
9
Borrar datos
9
Consultar datos
5. Relaciones entre tablas. (sesión5 y sesión 6) 9
Área de relaciones
9
Tipos de relaciones entre campos
9
Integridad referencial
6. Desarrollo completo de un supuesto práctico. (sesión 7) 7. Evaluación. (sesión8 y sesión9)
7
METODOLOGÍA Nos basaremos en una exposición oral de los conceptos utilizando la pizarra para reflejar los conceptos más importantes. Además se les hará entrega de unas fotocopias con los apuntes de cada lección. Después de la explicación de cada punto, el profesor propondrá una actividad para que sea desarrollada por los alumnos desde su ordenador.
8
ACTIVIDADES DISCENTES 1. Crear una tabla de alumnos para almacenar los datos de los alumnos de clase. 2. Introducir, modificar, borrar y consultar datos en la tabla agenda. 3. Crear distintas tablas para observar el significado de los tipos de datos, claves e Ăndices. 4. Crear una tabla de asignaturas para almacenar los datos de las asignaturas de clase. 5. Relacionar la tabla de alumnos con la tabla de asignaturas, obteniendo la tabla de matriculaciones.
9
RECURSOS (DOCENTES Y ALUMNOS) Se emplearán como recursos los siguientes materiales: ¾ Esta unidad didáctica ¾ Los apuntes de clase ¾ El material referido en la bibliografía
ORGANIZACIÓN SOCIAL Las características del aula obligan a colocar a los alumnos en parejas. Es preferible que sean los propios alumnos quienes se organicen, pero será el profesor quien de el visto bueno, buscando el rendimiento óptimo de cada pareja.
ESPACIOS En el aula de informática existe un ordenador por cada dos alumnos, por lo que tendrán que ir ejecutando las acciones que se les diga, y así ir viendo los resultados de la teoría de una forma inmediata.
10
EVALUACIÓN DEL ALUMNADO La evaluación del alumno (NF) se calculará aplicando NF = NA + NEC + NEF: ¾ Nota de asistencia (NA): 0 – 1 puntos ¾ Nota de ejercicios de clase (NEC): 0 – 1 puntos ¾ Nota del ejercicio final (NEF) = NT + NP o Teoría (NT): 0 – 4 puntos o Práctica (NP): 0 – 4 puntos Para los posibles redondeos se tendrá en cuenta la participación, actitud en clase y el desarrollo del supuesto práctico de la sesión 7. La teoría del ejercicio consistirá en una serie de preguntas sencillas para comprobar si el alumno ha comprendido los conceptos fundamentales de las tablas en la base de datos Access 2000. La práctica del ejercicio consistirá en el desarrollo de un supuesto práctico parecido al realizado en la sesión 7, y servirá para comprobar si el alumno es capaz de aplicar los conocimientos adquiridos para resolver un problema concreto. Debido a las limitaciones del aula (un ordenador por cada dos personas) y de cara a que cada alumno realice individualmente el ejercicio final, se emplearán dos sesiones para realizar dicho ejercicio, citando en cada sesión a la mitad de la clase. La otra mitad de la clase irá a la biblioteca.
EVALUACIÓN APRENDIZAJE
DEL
PROCESO
DE
ENSEÑANZA
-
Para realizar esta evaluación nos basaremos en: ¾ Los resultados obtenidos en la evaluación del alumnado ¾ La actitud en clase, y la observación directa ¾ Opcionalmente, se podría pasar un cuestionario a los alumnos
11
BIBLIOGRAFÍA Para realizar esta unidad didáctica, se han utilizado los siguientes materiales: ¾ Apuntes del C.A.P. del curso 2003/04, por la Universidad de Alicante. Fundamentalmente, los módulos de Diseño Curricular y Nuevas Tecnologías, y Didáctica Específica: Estadística/Informática. ¾ Apuntes de Fundamentos de Bases de Datos y Diseño y Gestión de Bases de Datos del Departamento de Lenguajes y Sistemas Informáticos de la Universidad de Alicante, curso académico 1995/96. ¾ La ayuda del programa Access de Microsoft Office 2000.
12
POSIBLES AMPLIACIONES En esta unidad didáctica se cubren los contenidos básicos para manejar tablas en Access. Existen varias posibilidades de cara a seguir profundizando en el uso de Access y las bases de datos. 1) La opción más directa y sencilla sería ir viendo el resto de objetos de Access: consultas, formularios, informes, macros y módulos. 2) Una vez que se hayan visto consultas, otra opción sería ver las sentencias SQL en detalle, para disponer de mayor flexibilidad a la hora de realizar las consultas. 3) Puesto que no se ha comentado nada de diseño, otra opción sería ver los modelos entidad relación y relacional. 4) Finalmente, estaría la opción de ver otros sistemas gestores de bases de datos como Oracle, PostgreSQL, MySQL, etc. Sería interesante mostrar a los alumnos alternativas a la plataforma Windows.
13
0. Presentación. (sesión1) El profesor se presenta y mete los números de cada ordenador en una caja. Un alumno sacará un papelito. El alumno que tenga el ordenador con ese número saldrá a la pizarra y se presentará. El profesor le hará una foto con una cámara digital. Nombre
Apellidos
Edad
Grupo Favorito Foto
14
1. Concepto de tabla. (sesión1) Una tabla es una colección de datos sobre un tema específico, como por ejemplo, alumnos. Las tablas organizan datos en columnas (denominadas campos) y filas (denominadas registros). La intersección entre una fila y una columna es una celda y contiene un dato específico de un registro. Como muestra la figura, cada registro de la tabla de alumnos tiene los mismos campos. Esto quiere decir que de cada alumno (registro) queremos conocer unos datos concretos: nombre y nif.
(Figura 1: vista hoja de datos) Esta definición de tabla es válida dentro del contexto de las bases de datos, que son aplicaciones informáticas que permiten gestionar grandes volúmenes de datos de forma óptima. Los programas que permiten crear y manipular bases de datos reciben el nombre de sistemas de gestión de bases de datos. Dentro de estos sistemas estaría el programa Access 2000 (parte del paquete Office 2000), que destaca por su sencillez aunque pueda ser limitado para empresas que manejan grandes cantidades de datos. La figura de la tabla de alumnos nos muestra la vista hoja de datos de la tabla. Más adelante veremos esta vista en más detalle. Fijaros en que la vista hoja de datos es la que muestra el contenido de la tabla, es decir, los datos de los alumnos que conocemos. Sin embargo, la vista hoja de datos no nos muestra otra información muy importante de la tabla a nivel de diseño. ¿Creéis que todos los campos guardan el mismo tipo de dato? Pensad en un número de teléfono, una fecha de cumpleaños, un nombre, etc. A la hora de diseñar una tabla debemos especificar los campos que queremos y el tipo de cada campo. Esto lo veremos más adelante con la vista de diseño. Podéis ver un ejemplo en la siguiente figura.
15
(Figura 2: vista diseño) Más adelante, veremos otros aspectos importantes que podemos definir desde la vista de diseño. Ejercicio1 Identificar registros, campos y celdas.
Relaciona las partes resaltadas de la tabla (A, B y C) con los siguientes conceptos: 1. registro 2. campo 3. celda Ejercicio2 Diseñar una tabla. Escribe en papel el diseño de una tabla para guardar información de discos de música. Puedes basarte en la figura de la vista hoja de datos.
16
2. Introducción a Access 2000. (sesión2) Para empezar a trabajar con Access 2000, lo primero que debemos hacer es ejecutarlo. Para ello, nos vamos al Menú Inicio Æ Microsoft Access.
(Figura 3: icono de Microsoft Access) Al ejecutar Access, nos sale una primera ventana que sirve para decir de qué forma queremos empezar a trabajar con Access. Lo más normal es usar la opción Base de datos de Access en blanco, ya que por un lado los asistentes nos quitan flexibilidad, y por otro lado para abrir un archivo resulta más fácil hacer doble-clic sobre el fichero con el botón izquierdo del ratón. Para seguir hay que pulsar el botón Aceptar.
(Figura 4: diálogo inicial de Access) Recordad el concepto de tabla visto en la sesión anterior, y tened en cuenta que una base de datos se puede definir como un conjunto de tablas. Ahora tenemos una ventana para decir dónde y cómo queremos que se llame nuestro nuevo archivo de base de datos. Fijaros en que los archivos de base de datos de Access tienen la extensión mdb. Para seguir tenemos que pulsar el botón Crear.
17
(Figura 5: diálogo de archivo nuevo) Ya tenemos la ventana principal de Access. Desde esta pantalla podemos manipular los distintos elementos de la base de datos, aunque nosotros nos centraremos en las tablas. Más adelante veremos cómo trabajar con las tablas. Ahora lo que haremos será salir de Access, y para ello nos vamos al menú Archivo Æ Salir.
(Figura 6: ventana principal de Access) Ejercicio3 Crear una base de datos. Cread en vuestro ordenador una base de datos llamada ejercicio y dejad puesta la ventana principal de Access.
18
3. Creación de tablas. (sesión2) Vamos a ver los pasos que hay que seguir para crear una nueva tabla a partir de la ventana principal de Access. La forma más recomendable de crear una tabla es a partir de la vista de diseño. Para ello, primero debemos asegurarnos de tener seleccionado Tablas dentro de la lista de objetos que está en la parte izquierda de la ventana principal.
(Figura 7: Cómo crear una tabla) El siguiente paso es seleccionar y ejecutar la opción Crear una tabla en vista Diseño haciendo doble clic con el botón izquierdo del ratón. A continuación nos aparecerá la vista de diseño.
(Figura 8: Rellenando la vista de diseño)
19
En la vista de diseño tenemos que ir introduciendo los campos de nuestra tabla. Recordad que los campos representan los datos que queremos conocer de todos los elementos de nuestra tabla. Por ejemplo, si la tabla es de alumnos, los campos podrían ser nif, nombre, teléfono, etc. ¾ El nombre del campo sirve para identificar un dato. Por ejemplo, nombre. Es recomendable que el nombre esté formado únicamente por caracteres alfanuméricos. Es mejor no usar tildes, ni espacios, ni otros caracteres. o Nombres recomendables para campos: nombre, edad, telefono, SueldoMensual. o Nombres no recomendables para campos: Mi Casa, teléfono, Sueldo_Mensual. ¾ El tipo de dato sirve para decir a Access que valores están permitidos. Por ejemplo, un teléfono normalmente es numérico porque solamente admite dígitos. Por ahora, trabajaremos con tipo texto. Para elegir el tipo de dato, debemos pulsar el botón izquierdo del ratón sobre el icono de la lista desplegable, y después volver a pulsar el botón izquierdo del ratón sobre el tipo que queremos.
(Figura 9: tipos de datos) ¾ La descripción es opcional y es para que sepamos para qué sirve el campo. No afecta al funcionamiento de la tabla. Ejercicio4 Crear una tabla Cread una tabla en vuestra base de datos que tenga un campo llamado nombre de tipo texto.
20
3. Creación de tablas. (sesión3) En la última sesión vimos que para crear los campos de la tabla en la vista de diseño había que asignar a cada campo un nombre y un tipo. Veamos qué tipos se pueden usar en Access y para qué sirven. TIPO
DESCRIPCIÓN
Texto
Cualquier combinación de caracteres hasta un máximo de 255.
Memo
Cualquier combinación de caracteres hasta un máximo de 65535.
Numérico Hora
Fecha
Números enteros o decimales. /
Moneda Autonumérico
Valores de fecha y / u hora. Cantidades de dinero. Número creciente que genera Access automáticamente.
Sí / No
Vale cierto o falso.
Objeto OLE
Objeto (archivo) incrustado.
Hipervínculo
Enlace de Internet.
Tipos Numéricos Fijaros que para elegir el subtipo dentro del tipo numérico, debemos ir al parámetro Tamaño del campo y pulsar el botón izquierdo del ratón sobre el icono de la lista desplegable, y después volver a pulsar el botón izquierdo del ratón sobre la opción deseada.
(Figura 10: tipos numéricos) Los tipos numéricos que usaremos son:
21
¾ Entero largo: números enteros ¾ Doble: números decimales Tipos de Fecha / Hora Fijaros que para elegir el subtipo dentro del tipo fecha / hora, debemos ir al parámetro Formato y pulsar el botón izquierdo del ratón sobre el icono de la lista desplegable, y después volver a pulsar el botón izquierdo del ratón sobre la opción deseada.
(Figura 11: tipos de fecha / hora) Los tipos de fecha / hora más usados son fecha corta y hora corta. Tipos de Moneda Fijaros que para elegir el subtipo dentro del tipo fecha / hora, debemos ir al parámetro Formato y pulsar el botón izquierdo del ratón sobre el icono de la lista desplegable, y después volver a pulsar el botón izquierdo del ratón sobre la opción deseada.
(Figura 12: tipos de Moneda)
22
Lo más normal es usar el formato Euro para asegurarnos de que salga el símbolo del Euro. Pero ojo, aseguraros de que en el parámetro lugares decimales esté puesto 2, ya que las cantidades en Euros tienen dos decimales para los céntimos.
(Figura 13: lugares decimales) Unos últimos consejos para los tipos de datos ¾ El parámetro tamaño del campo permite indicar la longitud máxima de caracteres de un campo de tipo texto. ¾ El tipo auto-numérico no es útil a menos que lo usemos como clave. El concepto de clave lo veremos más adelante. ¾ Usaremos el tipo Sí / No cuando tengamos datos binarios, que se evalúan a cierto o falso. Por ejemplo, TieneCoche. ¾ Los objetos OLE hacen que el coste de la tabla sea más alta. Afecta tanto al tamaño como al rendimiento. Es mejor no usarlos. Un ejemplo de uso sería guardar una foto, pero sería mucho mejor guardar el nombre del archivo de la foto, y no la foto entera. ¾ Los hipervínculos no son muy frecuentes y no los usaremos. Podrían servir si tuviéramos un campo que fuera PaginaPersonal y sirviera para acceder directamente a la página personal del alumno desde la tabla.
23
Ejercicio5 Añadir campos a una tabla Añadid los siguientes campos a la tabla que empezasteis a crear en el ejercicio anterior. ¾ Edad: numérico entero. ¾ Cumpleaños: fecha corta. ¾ Ahorros: moneda euro. ¾ Pareja: sí / no. Ahora que hemos visto los distintos tipos de datos de los campos, debemos ver el concepto de clave. Este concepto es fundamental ya que hay que tener en cuenta que una base de datos es una colección organizada de datos. Pensemos en la tabla de alumnos. Podríamos tener un registro por cada alumno que queramos guardar en la tabla, pero de alguna forma debemos evitar repetir información de forma innecesaria para evitar la redundancia. ¿Qué nos sirve para identificar un alumno? ¿Qué hace a cada alumno único? Lo más fácil es usar el DNI o el NIF, ya que son números intransferibles. Este concepto es el de clave principal: sirve para indicar qué campo o campos permiten identificar de forma exclusiva cada registro. Para establecer la clave principal, debemos seleccionar el campo (o campos) y pulsar el icono de la llave.
(Figura 14: seleccionamos el campo) Para seleccionar el campo debemos pulsar el botón izquierdo del ratón sobre el cuadradito que tenemos a la izquierda del nombre del campo.
24
(Figura 15: fijamos la clave principal) Pero, ¿y sí ninguno de nuestros campos sirve como clave principal? En este caso, podemos optar por no indicar la clave principal, y cuando cerremos la tabla Access se dará y cuenta y nos avisará. Para cerrar la tabla hay que pulsar el icono de la X en la ventana de la vista de diseño. Tened cuidado de no pulsar el icono de la X de la ventana principal de Access, ya que esto cerraría toda la aplicación.
(Figura 16: el icono de la X para cerrar la tabla) Al cerrar la tabla, nos sale una pregunta interactiva. Debemos contestar Sí para afirmar que lo que deseamos es guardar la tabla.
(Figura 17: pregunta interactiva) Ahora nos sale una ventana para escribir el nombre que queremos darle a la tabla. Una vez escrito el nombre, pulsamos el botón izquierdo del ratón sobre el botón Aceptar.
25
(Figura 18: nombre de la tabla) Ahora sale un aviso de que no tenemos clave principal. Una alternativa que nos brinda Access es crear automáticamente un campo auto-numérico. Pulsamos el botón izquierdo del ratón sobre el botón Sí para elegir esta opción.
(Figura 19: aviso de que no hay clave principal) Ahora podemos volver a ver la vista de diseño de la tabla que hemos creado. Para ello pulsamos el botón derecho del ratón sobre la tabla y elegimos la opción Vista Diseño del menú contextual.
(Figura 20: menú contextual de una tabla) Fijaros en que aparece un nuevo campo llamado Id de tipo autonumérico y que además es clave principal. Esto último lo vemos gracias al dibujo de la llave en el cuadradito a la izquierda del nombre del campo.
26
(Figura 21: vista diseño con clave auto-numérico) Podemos cerrar la tabla pulsando el icono de la X. En esta tabla la clave principal la crea Access asignando automáticamente un número a cada registro. El primer registro tendrá Id 1, el siguiente Id 2, y así sucesivamente. Ejercicio6 Añadir claves a una tabla Añadid una clave principal auto-numérico a vuestra tabla de la forma más sencilla posible. Guardad la tabla con el nombre Alumno. Existen otros índices en Access, aunque no los vamos a utilizar. Estos índices son: ¾ Índices sin restricción: sirven fundamentalmente para ordenar los datos en orden ascendente o descendente en función de uno de los campos. Para ello se asocia el índice a un único campo. ¾ Índices con restricción: sirven fundamentalmente para tablas en que necesitamos dos o más claves principales. Finalmente, comentar que para conseguir que la clave principal esté formada por varios campos, debemos hacer una selección múltiple usando la tecla CTRL. Para ello, primero seleccionamos el primer campo, y después pulsamos la tecla CTRL y sin soltarlo seleccionamos el siguiente campo.
27
4. Manejo de datos de una tabla. (sesión4) Ahora que ya sabemos crear las tablas especificando los campos y claves, vamos a ver cómo podemos manejar los datos de las tablas. Lo más sencillo es usar la vista hoja de datos. Podemos abrir la vista hoja de datos fácilmente desde la ventana principal de Access.
(Figura 22: ventana principal con tabla ya creada) Debemos asegurarnos de tener seleccionado Tablas en la lista de objetos. Para abrir la vista hoja de datos de una tabla únicamente debemos hacer doble clic con el botón izquierdo del ratón sobre la tabla que queremos manejar.
(Figura 23: vista hoja de datos de tabla vacía)
28
La última fila de la vista hoja de datos sirve para añadir un nuevo registro a la tabla. Puesto que la tabla está vacía, en este caso la última fila es la única fila que hay realmente. Fijaros en que la celda correspondiente al campo Id contiene el texto “(Autonumérico)”. Esto quiere decir que nosotros no tenemos que introducir valor para dicho campo, ya que al ser autonumérico, Access le asigna un número de forma automática. Para añadir un nuevo registro lo que tendríamos que hacer es hacer clic con el botón izquierdo del ratón en la celda correspondiente al campo nombre en la última fila. A continuación, escribimos el nombre del nuevo alumno que queremos guardar en la tabla.
(Figura 24: vista hoja de datos añadiendo un nuevo registro) Fijaros que al escribir el nombre, Access rellena automáticamente el campo Id. Además, vemos que aparece una nueva fila debajo (la última) que sirve para poder añadir un nuevo registro. En esta tabla el valor de la clave principal se rellena automáticamente ya que es un campo auto-numérico, y no tenemos que preocuparnos de que se repita su valor. Pero, ¿qué pasa si la tabla tiene como clave principal un campo que debemos rellenar nosotros? Pensad en una tabla de alumnos en que la clave principal es el nif. Vamos a ver qué pasa si repetimos el nif en dos registros.
(Figura 25: repetición de clave principal)
29
Debemos hacer clic con el botón izquierdo del ratón en alguna celda de otra fila para forzar a Access a comprobar los valores del nuevo registro.
(Figura 26: ¡error: clave principal repetida!) En el mensaje vemos cómo nos avisa Access del error que se ha producido. Ahora tenemos dos opciones. Podemos cambiar el nif por uno que no exista para que sea válido, o bien, podemos pulsar la tecla ESC para que se borre el registro. Ejercicio7 Añadir registros a una tabla Añadid al menos dos registros a la tabla del ejercicio anterior. Veamos ahora cómo podemos borrar uno o varios registros. Para ello, simplemente establecemos la selección haciendo clic con el ratón izquierdo del ratón en el cuadradito que está a la izquierda del todo del registro que queremos seleccionar. Las selecciones múltiples se harán usando la tecla CTRL.
(Figura 27: selección de un registro)
30
Una vez que hemos establecido la selección, pulsamos la tecla Supr y vemos que Access nos avisa que estamos a punto de borrar los registros.
(Figura 28: aviso de borrado) Para confirmar la operación de borrado, simplemente elegimos Sí. Ejercicio8 Borrar registros de una tabla Borrad al menos un registro de la tabla del ejercicio anterior. Ahora que hemos visto el borrado, vamos a ver el gran problema de los campos auto-numéricos. Supongamos que después de haber añadido un par de registros a nuestra tabla, borramos uno de ellos.
(Figura 29: a punto de borrar un registro) Y ahora vamos a volver a añadir un segundo registro a nuestra tabla.
(Figura 30: desfase de campo auto-numérico)
31
Fijaros que ahora el segundo registro tiene valor de Id 3. Esto es un desfase de contador, debido a que Access no recicla las posiciones de los campos auto-numéricos. Esto significa que cada vez que borremos un registro, perderemos un valor de Id. Veamos ahora cómo modificar los datos de un registro. Para ello, primero tenemos que situarnos en alguna celda haciendo clic con el botón izquierdo del ratón.
(Figura 31: preparado para modificar un registro) A continuación, modificamos el contenido de la celda o celdas que queramos. Y finalmente, haremos clic en cualquier celda de otra fila para que Access valide los datos.
(Figura 32: registro modificado)
32
Ejercicio9 Modificar registros de una tabla Modificad al menos un registro de la tabla del ejercicio anterior. Finalmente, nos queda la búsqueda. Imaginemos que tenemos una tabla con muchísimos registros.
(Figura 33: preparado para buscar por nombre) Por un lado, podríamos usar la barra de desplazamiento de la parte derecha de la ventana para ir buscando manualmente el alumno deseado. Pero también podríamos usar la opción de búsqueda de Access. Por ejemplo, busquemos si hay algún alumno que se llame Ruth. Primero seleccionamos cualquier celda del campo nombre. A continuación, elegimos del menú principal Edición Æ Buscar.
(Figura 34: parámetros de búsqueda)
33
Escribimos el valor que queremos buscar y pulsamos el botón Buscar siguiente. Si se encuentra el dato, Access nos llevará al primer registro que lo contiene.
(Figura 35: búsqueda con éxito) Y si no se encuentra el dato, Access nos avisa.
(Figura 36: búsqueda sin éxito) Ejercicio10 Buscar registros en una tabla Realizad alguna búsqueda en la tabla del ejercicio anterior sobre al menos dos campos distintos.
34
5. Relaciones entre tablas. (sesión5 y sesión6) Todo lo que hemos visto es la base para trabajar con Access, pero la verdadera potencia se obtiene al trabajar con varias tablas. Sin embargo, para conseguir que haya coherencia entre los datos de las distintas tablas, debemos especificar las relaciones entre las tablas. Supongamos que tenemos una tabla con los alumnos del centro y otra tabla con las asignaturas del centro, cuya clave principal es el código.
(Figura 37: tabla alumno)
(Figura 38: tabla asignatura) Supongamos que queremos guardar en una tercera tabla la información de las matriculaciones del curso. Dicha tabla debería tener las claves principales de las dos tablas que se relacionan: alumno y asignatura. Por lo tanto, necesitamos una tabla que tenga un campo que sea el nif del alumno y otro campo que sea el código de la asignatura. Esta relación se llama de muchos a muchos porque un alumno se puede matricular de muchas asignaturas y en una asignatura se pueden matricular muchos alumnos.
(Figura 39: tabla Se_Matricula_En)
35
Fijaros que en esta última tabla la clave principal debe ser la combinación del nif con el código.
(Figura 40: vista diseño de tabla Se_Matricula_En) Ejercicio11 Crear más tablas Añadid las tablas Asignatura y Se_Matricula_En a vuestra base de datos. Tened en cuenta que en vuestra tabla alumno la clave principal es autonumérico (Id) por lo que en vuestra tabla Se_Matricula_En debéis tener un campo Id de tipo numérico en vez de un campo nif de tipo texto. Justifiquemos la clave principal múltiple: ¾ Si la clave principal fuera únicamente el nif, no permitiríamos que un alumno se matriculara de más de una asignatura, porque no podría haber más de un registro con el mismo nif. Esto no es correcto. ¾ Si
la
clave
principal
fuera
únicamente
el
código,
no
permitiríamos que en una asignatura se matriculara más de un alumno, porque no podría haber más de un registro con el mismo código. Esto no es correcto. ¾ Si la clave principal es la combinación de nif con código, lo que no permitimos es repetir en más de un registro el mismo nif con el mismo código. Esto sí es correcto. Existen otros tipos de relaciones (uno a muchos y uno a uno) pero son más complicados y requieren otros tipos de claves e índices, por lo que no los vamos a ver. Aún nos queda indicar a Access que hay una relación entre las tres tablas. Primero debemos ir al área de relaciones. Para ello elegimos del menú principal Herramientas Æ Relaciones.
36
(Figura 41: ventana para mostrar tablas en área de relaciones) Al ser la primera vez que abrimos el área de relaciones, nos sale una ventana para elegir qué tablas queremos mostrar en dicho área. Vamos seleccionando cada tabla uno a uno con el ratón y pulsamos el botón Agregar. Cuando hayamos acabado pulsamos el botón Cerrar y debemos ver lo siguiente.
(Figura 42: área de relaciones con tablas) Ahora vamos a reordenar las tablas, poniendo la tabla Se_Matricula_En en el medio. Para ello podemos arrastar las tablas pulsando el botón izquierdo del ratón sobre la cabecera azul de una tabla y sin soltar el botón moviendo el ratón. Una vez que hayamos reordenado las tablas, vamos a establecer las relaciones. Primero arrastramos el campo nif de la tabla alumno hasta el campo nif de la tabla Se_Matricula_En. Para ello hacemos clic con el botón izquierdo en el campo nif de la tabla alumno. A continuación pulsamos el botón y sin soltarlo movemos el ratón, arrastrando hasta llegar al campo nif de la tabla Se_Matricula_En. Si lo hemos hecho bien veremos lo siguiente.
37
(Figura 43: configuración de una relación) Para acabar rápido, podríamos pulsar el botón Crear directamente, pero es interesante establecer la integridad referencial, ya que es la característica que exige (en este caso) que todo nif que pongamos en tabla Se_Matricula_En, obligatoriamente debe estar ya en tabla alumno. Esto sirve para evitar que pongamos un nif de un alumno que no existe. Para activar la integridad referencial, simplemente hacemos clic en la cajita. Al hacerlo, se nos habilitan dos cajitas más: ¾ Actualizar en cascada: esta opción se suele activar (haciendo clic) ya que significa que si modificamos un nif en la tabla alumno, automáticamente se modifican todos los nifs antiguos de la tabla Se_Matricula_En. ¾ Eliminar en cascada: esta opción es más peligrosa, ya que significa que si borramos un registro de la tabla alumno, automáticamente se borran todos los registros de la tabla Se_Matricula_En con ese nif. Optemos por no activar esta opción, pero tened en cuenta que al no activarlo, no podemos borrar ningún nif de la tabla alumno si dicho nif aparece en algún registro de la tabla Se_Matricula_En. Una vez que hayamos configurado la integridad referencial pulsamos el botón Aceptar. Repetimos la operación estableciendo la relación entre el campo código de la tabla Asignatura y el campo código de la tabla Se_Matricula_En. Finalmente nos debe quedar.
38
(Figura 44: área de relaciones con relaciones hechas) Ahora que hemos acabado, pulsamos el icono X para cerrar el área de relaciones. Ejercicio12 Crear relaciones Cread las relaciones entre vuestras tablas alumno, asignatura y Se_Matricula_En. Configurad la integridad referencial. A continuación, vamos a rellenar algunos datos en la tabla Se_Matricula_En desde la vista hoja de datos. Veamos primero qué ocurre si intentamos relacionar un nif inexistente con una asignatura que sí existe.
(Figura 45: nif no existente)
(Figura 46: error de integridad referencial) Obtendríamos un error parecido si intentamos relacionar un nif que sí existe con una asignatura inexistente. Comprobemos también que se puede repetir por separado un nif o un código.
39
(Figura 47: se puede repetir el nif o el cรณdigo) Sin embargo, no podemos repetir el mismo nif con el mismo cรณdigo.
(Figura 48: no podemos repetir el mismo nif con el mismo cรณdigo)
(Figura 49: no se satisface la clave principal) Si cambiamos un nif en la tabla asignatura, vemos que se cambia en la tabla Se_Matricula_En.
(Figura 50: modificamos un nif en la tabla asignatura)
(Figura 51: actualizaciรณn en cascada) Sin embargo, si intentamos borrar un nif en tabla asignatura que aparece en la tabla Se_Matricula_En, nos saldrรก el siguiente mensaje.
40
(Figura 52: error porque no hemos habilitado el borrado en cascada) Ejercicio13 Rellenar tabla Rellenad la tabla Se_Matricula_En, comprobando que se cumple la clave principal y también la integridad referencial. Y también debéis: ¾ Comprobar qué ocurre al modificar un código de asignatura en la tabla Asignatura. ¾ Comprobar qué ocurre al intentar borrar un alumno de la tabla Alumno.
41
6. Desarrollo de un supuesto práctico. (sesión7) En esta sesión vamos a desarrollar con Access un supuesto práctico. El objetivo es que os familiaricéis con la forma de trabajo de los profesionales de la Informática. A la hora de implementar una solución informática, hay que realizar tres pasos fundamentales. 1. Análisis: consiste en obtener una descripción del problema. 2. Diseño: aquí debemos realizar un diseño de nuestra solución. 3. Implementación: este paso consiste en montar la solución con algún programa informático. Este apartado no contiene ejercicios específicos ya que se supone que debéis ir haciendo la base de datos en Access poco a poco. Vamos a crear una base de datos que sirva para almacenar recetas de platos. La primera tabla que vamos a necesitar es la de platos. De cada plato, debemos saber su nombre y los vamos a identificar mediante un código alfanumérico. También vamos a necesitar una tabla de ingredientes. De cada ingrediente, queremos saber su nombre, unidad de medida básica y precio unitario, y los vamos a identificar mediante un código alfanumérico. Finalmente, nos va a hacer falta una tabla para relacionar platos con ingredientes. Llamaremos a esta última tabla recetas. En la tabla de recetas necesitamos las claves principales (código de ingrediente, código de plato), y también la cantidad del ingrediente a utilizar. La clave principal debe ser la combinación del código de ingrediente con el código de plato, puesto que un ingrediente se puede usar para elaborar muchos platos, y un plato puede necesitar muchos ingredientes para su elaboración. A la hora de establecer las relaciones, fijad la integrad referencial de forma que se pueda actualizar en cascada, pero no eliminar en cascada. Lo que debéis hacer (paso a paso y con la ayuda del profesor) es: 1. Crear la tabla de platos e introducir datos 2. Crear la tabla de ingredientes e introducir datos
42
3. Crear la tabla de recetas y establecer relaciones entre las tres tablas. 4. Introducir datos en la tabla de recetas. Veamos c贸mo se hace la tabla de platos.
(Figura 53: vista dise帽o de la tabla platos) Y pongamos algunos platos de ejemplo.
(Figura 54: vista hoja de datos de la tabla platos)
43
Veamos c贸mo se hace la tabla de ingredientes.
(Figura 55: vista dise帽o de la tabla ingredientes) Y pongamos algunos ingredientes de ejemplo.
(Figura 56: vista hoja de datos de la tabla ingredientes)
44
Veamos cómo se hace la tabla de recetas.
(Figura 57: vista diseño de la tabla recetas) Y cómo debe quedar el área de relaciones.
(Figura 58: área de relaciones) La configuración de la integridad referencial debe ser.
(Figura 59: configuración de las relaciones)
45
Finalmente, pongamos algunas recetas de ejemplo.
(Figura 60: vista hoja de datos de la tabla recetas)
46
7. Evaluación. (sesión8 y sesión9) TEORÍA (40%) 1. Relaciona las preguntas con las respuestas (1p) a. Tabla 1. fila b. Celda 2. colección de datos c. Campo 3. dato específico d. Registro 4. columna 2. ¿Qué extensión tienen los archivos de bases de datos de Access? ____________________ (0.5p) 3. Para crear una tabla, definiendo los campos y sus tipos, se suele utilizar (0.5p): A
La vista hoja de datos.
B
.La vista de diseño.
C
El área de relaciones.
D
No se puede hacer.
4. Para modificar los datos de una tabla, se suele utilizar (0.5p): A
La vista hoja de datos.
B
.La vista de diseño.
C
El área de relaciones.
D
No se puede hacer.
5. Un campo de tipo Fecha / Hora siempre muestra la fecha y la hora (0.5p) Verdad
Falso
6. Puedo activar la opción eliminar en cascada aunque no active la integridad referencial en una relación (0.5p) Verdad
Falso
7. La clave __________ de una tabla nos permite identificar de forma exclusiva cada registro de una tabla (0.5p)
47
PRÁCTICA (40%) 8. Nos han encargado crear una base de datos para una ferretería. Lo primero que nos han pedido es gestionar la información de los artículos. De cada artículo hay que saber su código numérico, nombre y cantidad disponible. Crea en Access una base de datos con la tabla de artículos y añade los siguientes registros (1p):
9. Ahora nos han pedido ampliar la base de datos para poder gestionar la información de los clientes. De cada cliente hay que saber su nif, nombre y teléfono. Añade la tabla de artículos a la base de datos e introduce los siguientes registros (1p):
10. Finalmente, nos han pedido la posibilidad de gestionar los pedidos de los clientes. Un pedido consiste en una lista de artículos que solicita un cliente. Ten en cuenta que un cliente puede pedir muchos artículos y que un artículo puede ser pedido por muchos clientes. Añade la tabla de pedidos a la base de datos e introduce los siguientes registros (2p):
Nota Final: 80% Evaluación, 20% Asistencia
48
Solución de la prueba de evaluación TEORÍA (40%) 1. Relaciona las preguntas con las respuestas (1p) a. b. c. d.
Tabla Celda Campo Registro
1. fila 2. colección de datos 3. dato específico 4. columna
2. ¿Qué extensión tienen los archivos de bases de datos de Access? mdb (0.5p) 3. Para crear una tabla, definiendo los campos y sus tipos, se suele utilizar (0.5p): A
La vista hoja de datos.
B
.La vista de diseño.
C
El área de relaciones.
D
No se puede hacer.
4. Para modificar los datos de una tabla, se suele utilizar (0.5p): A
La vista hoja de datos.
B
.La vista de diseño.
C
El área de relaciones.
D
No se puede hacer.
5. Un campo de tipo Fecha / Hora siempre muestra la fecha y la hora (0.5p) Verdad
Falso
6. Puedo activar la opción eliminar en cascada aunque no active la integridad referencial en una relación (0.5p) Verdad
Falso
7. La clave principal de una tabla nos permite identificar de forma exclusiva cada registro de una tabla (0.5p) 49
PRÁCTICA (40%) 8.
Vista diseño de la tabla artículos 9.
Vista diseño de la tabla clientes 10.
Vista diseño de la tabla pedidos
Área de relaciones
50
Hoja de seguimiento Nº
Nombre
NA (10%)
NEC (10%)
NT (40%)
NP (40%)
Supuesto
Final
NOTA
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
NA: nota de asistencia a clase NEC: nota de ejercicios de clase NT: nota de teoría de la prueba de evaluación NP: nota de práctica de la prueba de evaluación SUPUESTO: realización del supuesto práctico FINAL: nota final numérica (suma de los apartados anteriores) NOTA: nota literal
51