Issuu on Google+

INDICE Relacionando TABLAS Editando las relaciones Crear CONSULTAS Filtrando CONSULTAS

_ Pag. 219 Pag. 221 Pag 222 Pag. 225

218


LAS CONSULTAS Ya comentamos hace tres días que la importancia de las bases de datos radica en que nos permiten relacionar la información; es decir, que si tenemos un listado de alumnos y otro de profesores podemos crear un tercero llamado clases, donde veamos los alumnos que tiene cada profesor sin necesidad de repetir de nuevo toda la información.

Las TABLAS a relacionar han de compartir ese CAMPO único a modo de remache que los permita permanecer unidos. RELACIONANDO TABLAS Repasemos como tenemos la base de datos por ahora.

ALUMNOS

CLASES MONITORES

Para tener éxito en esta empresa son necesarias dos condiciones que, en un principio, aparentan ser contradictorias: Cada REGISTRO ha de tener un CAMPO único e intransferible, una especie de DNI que no se repite nunca y que lo distingue de los demás. Un “carnet de identidad” que, como ya habrás supuesto, en ACCESS se conoce como ID.

219

Hasta el momento tenemos tres tablas: Alumnos, Monitores y Cursos (la de _Localidades, como la usamos para el desplegable de las poblaciones pues no le prestamos atención), y dos de ellas, Monitores y Cursos, comparten un mismo campo: CODIGO MONITOR. ¿Te acuerdas? Repasa el día 13 y verás como es así.


Pues bien, aprovechemos ese nexo de unión para “encariñar” ambas TABLAS y formar una bonita pareja. Activa la CINTA HERRAMIENTAS DE BASES DE DATOS y pincha sobre el botón RELACIONES

TABLAS:Monitores y Alumnos con la escueta TABLA: _Localidades.

…y arrastra la TABLA hacia abajo para dejar más espacio a la vista.

Fíjate como cada cuadro azul representa a una de las TABLAS, y como de _Localidades sale una línea negra que se conecta al CAMPO:Localidades de Monitores y de Alumnos.

Vale, pues algo como esto (que se hizo de forma automática) es lo que vamos a realizar ahora con las TABLAS:Monitores y Cursos.

Ante ti la ventana de relaciones, una especie de local de contactos de las TABLAS donde se pueden ver las relaciones que mantienen todas nuestras tablas. Si lo ves muy lioso, porque parece que la TABLA:Monitores oculta parte de las líneas, puedes ordenar las TABLAS arrastrándolas por el fondo gris. Para ello tan solo sitúa el ratón sobre el encabezado de la TABLA:Monitores...

La TABLA:Monitores ya la tenemos activada, la que nos falta es Cursos, así que lo primero que haremos será sacarla al aire. Pincha en el botón MOSTRAR TABLA para sacar la ventana de tablas.

Hasta ahora solo tenemos una, la que hicimos ayer con el desplegable de _Localidades, la cual relaciona las

220


He aquí todo lo que tenemos en nuestra base de datos por ahora, y entre ellas Cursos, sobre la cual has de pinchar dos veces para ponerla sobre ese fondo gris.

confirmación o si quieres realizar algún cambio.

Ok, vamos al lío. Detecta los dos CAMPOS similares, llamados CODIGO MONITOR, que hay en ambas TABLAS. Pincha en CREAR, porque te gusta todo lo que has hecho y… ¡Hop! hemos formado otra pareja.

Como ya no vamos a añadir a nadie más, pincha en CERRAR para quitar la ventana ésta, que nos estorba ya. Sitúa la TABLA:Cursos cerca de la de Monitores, para trabajar más cómodos, y prepárate para actuar de celestina con las dos.

221

Y ahora (esto va a molar bastante), sitúa el ratón sobre el CAMPO: Código monitor de la TABLA:Monitores y arrástralo hasta el mismo CAMPO de Cursos.

EDITANDO LAS RELACIONES

Cuando sueltes el ratón aparecerá una ventana como esta pidiéndote

¿En el momento de crear la línea te ha dado un aire a la mano y has enlazado dos CAMPOS que no querías? ¿O tal vez deseas cortar la relación existente por desavenencias ente campos? Sea cual sea la causa, si la línea que conecta


ambas TABLAS ya no te convences, que sepas que puedes pinchar con el botón derecho sobre ella y elegir dos opciones.

…y pásate por una de las dos TABLAS que usamos para la consulta; la de Monitores por ejemplo. Si miras con detenimiento descubrirás como, a la izquierda del todo, han aparecido unos cuadraditos con el signo +

encuentren relacionadas, “uniendo” los REGISTROS que comparten idéntico valor del CAMPO común (en este caso “Código del monitor”) Y esto es solo el principio. CREANDO LA CONSULTA

Si pinchas en MODIFICAR RELACIÓN, vuelves a la ventana de Modificar Relación (es algo obvio) y corregir el campo mal elegido. Si pinchas en ELIMINAR pues… lo dejamos a tu imaginación.

Esas marcas nos indican que estos REGISTROS están relacionados con lo de otra TABLA. Pincha en uno de ellos y observa lo que ocurre.

Aprovechemos esta relación para crear una consulta que nos muestre el nombre y apellido de los monitores y los cursos que imparten. Para ello activa la CINTA CREAR y pincha en el botón DISEÑO DE CONSULTA.

CAMBIOS EN LA TABLA Una vez conseguida la relación deseada, pincha en CERRAR para salir de aquí…

¿Eso que aparece por ahí es un REGISTRO de la TABLA:Cursos? Pues sí, efectivamente. Gracias a nuestra labor de casamenteros, hemos conseguido que dos TABLAS en apariencia ajenas, se

¡Vaya, que cosa más rara! Sí, ya, bueno… vayamos por partes. Lo primero es elegir las TABLAS con las que vamos a trabajar, así que pincha dos veces en MONITORES, otras dos veces en CURSOS y dale a CERRAR.

222


Haz lo mismo con la ventana de la otra TABA ya así tendrás todos los CAMPOS al descubierto. En la consulta deben de aparecer los CAMPOS:Nombre y Apellidos de la TABLA:Monitores, así que pincha dos veces sobre esos CAMPOS y descubre como emoción como se alojan en la fila de abajo. Las TABLAS han aparecido ahí arriba algo revenías, así que antes de empezar a trabajar con ellas vamos a agrandarlas.

Ya está todo hecho, así que pincha en el botón EJECUTAR para ver como nos ha quedado.

Sitúa el ratón sobre el borde inferior, con cuidado de que la flecha se transforme en una flecha negra con dos picos y estira la ventanita hacia abajo. Como también queremos que aparezca el Nombre del curso, pincha en el CAMPO:Nombre de la TABLA:Cursos

223

¡Que cosa más bonita y más preciosa! Que orgullosos estamos de nuestra obra. Las columnas parece que han salido algo estrechas de más, pero como eso ya sabes arreglarlo no le daremos mayor importancia.


Y el contenido de la base de datos se ordenara de una manera más clara. Primero las TABLAS y después las CONSULTAS. Pincha en el botón GUARDAR, ponle por nombre CURSOS Y MONITORES Y MIRA como se incorpora al PANEL DE EXPLORACIÓN.

CAMBIOS EN LA TABLA Ya que tenemos relacionados a los monitores con sus cursos, nos falta unir a los alumnos con estos, y lo haremos creando una nueva TABLA y después relacionándola como hicimos anteriormente. Vamos a crear una nueva TABLA a la cual llamaremos ASISTENCIAS y rellénala con estos tres CAMPOS.

Si esta peculiar situación te confunde un poco, siempre puedes cambiarlo pinchando en el desplegable de TODAS LAS TABLA y elegir TIPO DE OBJETO Guarda los cambios y rellénala con los datos que te presentamos en la columna de la derecha.

Una vez completos todos los REGISTROS, toca relacionarlos. Pincha en HERRAMIENTAS DE BASES DE DATOS y pincha sobre el botón RELACIONES.

224


Agrega la TABLA:Asistencias al fondo gris y relaciona las TABLAS: Alumnos y Asistencias por el CAMPO:Codigo alumnos, y las TABLAS:Asistencias y Cursos por el CAMPO:Codigo cursos.

TABLA:Alumnos. Nombre, Apellidos, Sexo, nacimiento y Localidad.

Fecha

de

Bien, pues una vez comprobado que todo funciona, torna a la VISTA DISEÑO y céntrate en su mitad inferior; ahí es donde trabajaremos durante las últimas hojas de este tema.

TABLA:Cursos Nombre. TABLA:Monitores Nombre, Apellidos, Sexo.

¿CUANTOS CURSOS TIENEN ALUMNOS QUE VIVAN EN BONETE?

FILTRANDO LAS CONSULTAS El día de ayer lo dedicamos a los filtros y a limitar los resultados según categorías, pues bien, esto mismo lo pueden hacer también las CONSULTAS y aquí, si cabe, es casi más importante y necesario. Para entender mejor este tema crea una CONSULTA nueva donde aparezca la siguiente información:

Guárdala con el nombre CURSO 2010 échale un vistazo pinchando en el botón EJECUTAR. ¡Alaaa, cuantos resultados!

Si te fijas bien, la mitad inferior de esta ventada le da cierto aire a las tablas de EXCEL. Una tabla cuyas columnas tienen por nombre el de los CAMPOS seleccionados (nombre, apellidos, sexo…)

Y cuyas filas se llaman: Campo:, Tabla:, Orden:, Mostrar:, Criterios: y O:

225


El nombre de casi todas las filas requiere poca explicación, pero aun así lo insinuaremos ligeramente para que no pienses que queremos desviarnos del tema. Campo: En esta fila aparecen los CAMPOS seleccionados y que forman parte de la CONSULTA. Tabla: Todo CAMPO ha de pertenecer a una TABLA, no puede ir libre pro la vida, y esta es la fila donde aparece reflejada esa información. Orden: Ordena la CONSULTA por el CAMPO que tenga esta celda rellena; pudiendo ser ascendente o descendente. Mostrar: Un bonito cuadro Si/No. Muestra u oculta el CAMPO en la CONSULTA según esté marcado o no. Criterios: ¡Por fin hemos llegado! Filtra toda la CONSULTA según el valor que le hayamos puesto. Por ejemplo, y contestando ya puestos a la pregunta anterior. Si en el Criterio: de Localidad pones “BONETE”…

Pincha en EJECUTAR y descubre como solo hay dos personas

…y pincha en EJECUTAR para comprobar como tan solo hay dos cursos donde se cumpla esa condición (y encima en dos de ellos la persona es la misma).

Por cierto, si lo has intentado y no te sale vigila los acentos, ya te recomendamos el primer día que era mucho mejor trabajar son ellos, pero no se si nos habas hecho mucho caso.

¿CUÁNTOS ALMANSEÑOS ASISTEN AL CURSO DE INFORMÁTICA CLÁSICA?

¿CUÁNTAS MUJERES DE ALPERA ASISTEN A CURSOS IMPARTIDOS POR MUJERES?

Una buenas pregunta, yo también ardo en deseo de saberlo. Pon “Almansa” en el criterio de Localidad e “informática clásica” en el criterio de Nombre de la TABLA:Cursos,

Pon “mujer” en los criterios de ambos CAMPO:Sexo, y “Alpera” en el criterio del CAMPO:Localidad de la TABLA:Alumnos. Pincha en EJECUTAR y…

226


¿He? ¿Cómo está esto? Resulta que tenemos tres resultados, pero los tres de la misma persona (esta Angustias es toda una estudiante) El motivo de tal “clonación” es bastante sencillo: basta con que haya un solo dato distinto para que ACCESS lo considere como un resultado más. Cierto es que el nombre de la señorita Angustias, así como sus apellidos, fecha de nacimiento y localidad son los mismos en los tres casos, pero no lo son los el nombre de los cursos a los que asiste ni los de los monitores que tiene.

de los criterios de filtrado y, además, nos están dando la tabarra. Bueno, pues quitémoslos de la tabla. Sitúa el ratón sobre el encabezado de la columna del CAMPO:Nombre de los Cursos (la flecha se convierte en una flecha negra apuntando hacia abajo) y pincha con el botón derecho para sacar un desplegable donde podrás pinchar en CORTAR y librarte de este campo molesto.

227

Ok, ahora todos los campos son iguales, pero aun así, en esencia, sigue habiendo una presencia distinta en cada uno de ellos. La buena noticia es que ACCESS si puede “obviar” esta diferencia. Pincha en el botón de TOTALES, y observa como aparece la fila Total: con la condición Agrupar por..

Esto, que en un principio podría parecer una falla de ACCESS, no lo es ni por asomo, tratándose tan solo de un problema de comunicación entre nosotros y la máquina. Y ya sabes que siempre que ocurre eso el error es humano: no hemos sabido explicarnos con propiedad. Cambia a VISTA DISEÑO y echemos a la mitad inferior de la ventana. Como bien puedes observar, los CAMPOS de la polémica (los nombres de los cursos y los monitores, así como el apellido de estos últimos) no forman parte

¡¡SIGUE SALIENDO MAL!! Ay, sí, es que se nos olvido explicarte una cosa; vuelve a la VISTA DISEÑO para que te contemos.

Pincha en EJECUTAR y… Repite lo mismo con los otros dos CAMPOS intrusos y ya tendrás la CONSULTA limpia y adecentada. Pincha en EJECUTAR y…

¡Por fin!


¿CUÁLES SON LOS APELLIDOS DEL ALUMNADO DE MENOR DE EDAD, Y DEL ALUMNADO DE MAYOR DE EDAD QUE VAYA A CLASE LOS MARTES? ¿Qué? Bueno, después de recobrar el shock ante esta pregunta tan, en apariencia, surrealista, veamos como podemos obtener la respuesta.

La primera pregunta hace referencia a los alumnos menores de edad, es decir a los que tengan menos de 18 años, es decir a los que hayan nacido después del 31 de diciembre del 1992, es decir a los que tengan por fecha de nacimiento cualquiera superior a ésta. Por eso en el criterio del CAMPO:Fecha de nacimiento ponemos algo así: >31/12/1992

Bien, ¿y con esto que hacemos? Porque, si no me equivoco, filtrar a los menores y a los mayores de edad es como no hacer nada. Bueno, es que aun falta otro condicionante; porque de los mayores de edad tan solo nos interesan los que vayan los martes, es decir los que tengan el cuadro del CAMPO:Martes activado; y así se lo haremos saber a ACCES añadiendo esa palabra en la segunda fila del criterio: martes.

Lo primero es seleccionar los CAMPOS que nos piden ahí arriba, los cuales son : TABLA:Alumnos Apellidos Fecha de nacimiento TABLA CURSOS Lunes Martes

(las almohadillas no hace falta que las pongas, ya te las añade ACCESS por su cuenta) Vale, seguimos, ahora vamos a por los mayores de edad. Para ello ponemos la condición ser mayor de edad (<01/01/1993) debajo del anterior. ¿Debajo? ¿Cómo que debajo? Sí, es que los criterios se pueden amontonar uno debajo del otro.

Sabes porque hemos puesto Activado en la segunda fila del criterio y no en la primera, ¿verdad? Porque esa es la misma fila donde está el criterio de los mayores de edad. Vale, ahora solo falta pinchar en EJECUTAR y he aquí el fruto de todos nuestros desvelos.

228


Pincha en EJECUTAR y he aquí la lista de todos los cursos con el número de alumnos asistentes.

Ala, cuanta gente. Aunque aun lo podemos hacer mejor. Podemos ordenar el resultado por el CAMPO:Fecha nacimiento. Vuelve a la VISTA DISEÑO, pincha en el Orden del CAMPO:Fecha nacimiento y escoge ASCENDENTE.

“Agrupar por” es solo una opción de las muchas que tiene Total:, cada una de ellas con un propósito muy concreto: Contar, por ejemplo, nos permitirá enumerar La cantidad de alumnos que hay en cada curso; para ello crea una CONSULTA nueva donde incluirás la siguiente información: CAMPO: Nombre – TABLA: Cursos CAMPO: Nombre – TABLA: Alumnos

Y mira que chulo nos ha salido ahora… V

Ahora sí, si pinchas en EJECUTAR verás como los REGISTROS se muestran ordenados según su edad.

229

Y en el Total: del Nombre de Alumnos, escoge Cuenta.

---------------


230


231


Office