miércoles, 25 de noviembre de 2009

PROYECTO

El siguiente ejercicio es el más largo. Se trata de crear una base de datos entera, con las tablas, consultas y formularios necesarios.

Se trata de una base de datos de música. Debe contener la siguiente información. Artistas (solistas o bandas) con el nombre, la nacionalidad y el estilo musical, discos, con el año de grabación y temas.

Debemos poder filtrar los artistas, discos y temas de cada estilo, de cada año, de cada nacionalidad, los temas de cada disco y los temas de cada artista. también el autor de un tema que se busque por el título, y el año del disco.

Lo primero que debes hacer es diseñar las tablas, pero ten cuidado de no duplicar información. Por ejemplo, si guardas el autor de un disco y los temas de ese disco, no debes guardar el autor del tema, porque éste se puede averiguar buscando el disco del tema y el autor del disco. Si aparte está guardado el autor del tema, aparte de estar ocupando más espacio y más trabajo de la cuenta, podría haber información contradictoria, porque podría ponerse un autor del tema y otro diferente para el disco.

Una vez diseñada la tabla, diseña las consultas, los formularios para rellenar las tablas y las consultas para filtrar la base de datos

lunes, 23 de noviembre de 2009

FILTRANDO CON FORMULARIOS

Vamos a intentar hacer una consulta a la base de datos de modo que me pida las condiciones mediante un formulario. Por ejemplo, quiero ver las películas de un determinado director, entonces quiero que al pulsar en la consulta, me pregunte el nombre del director y entonces me enseñe todas la películas de ese director.

Debes ya tener una consulta hecha con todos los datos de todas las películas. Crea un formulario utilizando el asistente. Al crearlo, en la opción tablas/consultas selecciona la consulta con todas las películas, y en campos disponibles, selecciona todos, y pulsa finalizar.

Graba el formulario y vuelve a ver la consulta en modo diseño. En la columna del nombre del director, pulsa en la casilla de criterio, pulsa el botón derecho del ratón y elige generar -> formularios, y elige el formulario que has creado antes, y el campo del nombre del director. Selecciónalo haciendo doble click. Graba la consulta.

Ahora al abrir la consulta en modo hoja de datos, te preguntará el nombre del director, y al introducirlo, te mostrará la consulta seleccionando sólo las películas de ese director.

lunes, 2 de noviembre de 2009

RELACIONES DE VARIOS A VARIOS

En el ejemplo que hemos visto de la base de datos de películas, había una relación entre la tabla de películas y la tabla de directores. Era una relación de uno a varios. Un elemento de la tabla dierctores estaba relacionado con varios elementos de la tabla películas. Un director dirige varias películas, pero una película tiene un solo director.

Imaginemos que ahora queremos introducir una nueva tabla de actores. Ahora la relación entre la tabla de películas y la de actores no es de uno a varios porque igual que un actor participa en varias películas, una película tiene varios actores. Se trataría de una relación de varios a varios.

Para crear una relación de este tipo es necesario crear una tabla intermedia que relacione ambas tablas. Será una tabla que solamente tenga dos campos numéricos: uno correspondiente al actor y otro a la película. Por ejemplo, si el actor uno es Brad Pitt, la película 1 es El Club de la Lucha, la 2 Conoces a Joe Black y la 3 Babel, en la tabla relaciones debería haber tres registros: 1,1 ; 1,2 y 1, 3. Esto indica que el actor 1 participa en las películas 1,2 y 3. De este modo podemos introducir todos los actores que queramos en todas las películas que queramos.

Introduce una tabla de actores en la base de datos del ejercicio anterior. Después de crear la tabla, deberás crear las relaciones entre esta tabla y las de actores y películas.

Ahora crea una consulta de modo que aparezcan todas las parejas actor-película, pero en vez de aparecer los números aparezcan los nombres. Por ejemplo:

Quemar después de leer Brad Pitt

Quemar después de leer George Clooney

Quemar después de leer John Malkovich

Agora Rachel Weisz


Recuerda que al introducir las tablas en la consulta, puede que salgan relaciones que no has creado, y tengas que borrarlas.

Luego, sobre esa consulta, haz un listado de las películas en las que aparece un determinado actor.

domingo, 1 de noviembre de 2009

TRABAJANDO CON VARIAS TABLAS

Vamos a hacer una base de datos para organizar una colección de películas grabadas en diferentes dvds de modo que en cada dvd hay varias películas.

Se trata de almacenar la información sobre las películas: Título, año, género, director, dvd y ubicación del dvd.

Pero no vamos a hacer una tabla con toda esta información, sino que el género y director van a ser cada uno un número que identifica a un registro de las tablas director y género. Por ejempo 1 puede ser terror, y se almacena 1 en el campo género de una determinada película, y 1 en el campo director puede ser Tim Burton, que es un registro de la tabla directores.

Habrá una tabla DVDS, y ubicación será un campo de la tabla DBDs.

Crea las tablas, añade algunos registros, crea la relación entre las tablas y crea una consulta que muestre todas las películas con la información del director, el género, el DVD y la ubicación. Al hacer la consulta, al mostrar las tablas puede que te aparezcan más relaciones entre ellas de las que tu has creado. Borra las que sobren seleccionando la línea que las une y pulsando la tecla suprimir.

Una vez tengas creada la consulta y abierta en la vista hoja de datos, selecciona toda la consulta pulsando el recuadro arriba a la izquierda, y pulsa en el menú Registros->Filtro->Filtro por formulario.

Aunque te hayan desaparecido los datos, el filtro funciona igual que en excell, solamente hay la diferencia de que después de elegir el filtro debes pulsar el icono Aplicar Filtro.

Utiliza los filtros para seleccionar las películas de un determinado director, un determinado genero o las que pertenezcan a la vez a un genero y sean de un determinado director.

Observa que la diferencia con Excell es que no tecleas el nombre del director o del género para cada película. Si en lugar de sólo el nombre del director pusiéramos diez campos de información sobre el director, tenemos escrita en la información en la fila de cada película sin necesidad de teclearlo. Esa es la diferencia entre una base de datos relacional como ésta y una simple tabla de excell.

CAMPOS CALCULADOS

Existen campos cuyo valor es el resultado de una operación matemática entre los valores de otros campos. En el siguiente enlace tienes un ejemplo. El ejercicio consiste en hacer una base de datos con una consulta similar a la del ejemplo.
http://blog.educamas.es/2007/05/03/access-crear-campos-calculados/

domingo, 18 de octubre de 2009

Formulario

Vamos a crear un formulario para añadir más registros de trabajadores o editar los ya existentes.

Abre la ventana de formularios en la lista de objetos y crea un formulario en vista diseño.

Ahora debemos seleccionar la tabla trabajadores como aquella donde están los datos del formulario. Para ello selecciona todo el formulario pulsando la esquina superior izquierda del mismo.

Luego selecciona en el menú ver -> propiedades. De este modo estás editando las propiedades de todo el formulario.

Dentro de propiedades selecciona datos-> origen del registro, y en la lista desplegable, selecciona trabajadores.

Si no está abierta una ventana que dice cuadro de herramientas, ve al menú y selecciona ver->cuadro de herramientas. Del cuadro de herramientas selecciona el botón cuadro de texto y crea un cuadro de texto en el formulario pulsando en él y arrastrando según el tamaño del cuadro de texto.

Se crea un cuadro de texto y una etiqueta. Pulsa sobre la etiqueta para editarla y cambia el texto por nombre. Selecciona el cuadro de texto, y sobre la ventana de propiedades, elige datos->nombre.

Crea un cuadro de texto igual para apellidos y cargo. Graba el formulario y ábrelo. Introduce algunos registros nuevos utilizando el formulario y cambia algunos registros ya existentes.

El formulario quedará aproximadamente así:


lunes, 12 de octubre de 2009

BASE DE DATOS

Abre access y crea una base de datos en blanco.

En la lista de objetos elige tablas->crear tabla en vista diseño.

Crea una tabla con el nombre trabajadores, con los siguientes campos de los siguientes tipos:


- ID: autonumérico, índice
- Nombre : texto
- Apellidos: texto
- Fecha de nacimiento: fecha
- Cargo: numérico (corresponderá a un campo ID de la tabla cagos)

Crea una tabla cargos con los siguientes campos:

- ID:autonumérico, índice
- denominación: texto.
- Sueldo: Moneda

Para rellenar la tabla puedes pulsar el icono de la parte superior izquierda para cambiar la vista de diseño por la vista de la tabla, o bien cerrar la ventana de diseño, grabando la tabla, y luego hacer doble clic sobre el nombre de la tabla.

Introduce algunos registros con nombres de trabajadores, introduce también algunos registros de cargos. Pon los valores que quieras. El cargo que les pongas a los trabajadores será un número de la tabla cargos.

Vamos a crear una relación entre ambas tablas de modo que el programa entienda que el campo cargo de la tabla trabajadores corresponde a un campo ID de al tabla cargos.

Por ejemplo, el cargo 1 puede ser director. En la tabla trabajadores puede haber un registro cuyo cargo sea 1, entonces es director.

Para crear la relación pulsa en herramientas->relaciones. Selecciona del menú contextual( el que sale con el botón derecho del ratón) mostrar tabla, y añade las dos tablas que hemos creado.

Selecciona el campo cargo dentro de la tabla trabajador y arrástralo hasta el campo ID de la tabla cargos. Aparecerá un recuadro de diálogo y mostrará la opción tipo de combinación. Elige "Incluir todos los registros de trabajadores y sólo aquellos registros de cargos donde los campos combinados sean iguales". Pulsa crear. Graba la relación y cierra la ventana.

Pulsa en consultas y elige la opción crear consulta en vista diseño. En el menú mostrar tablas selecciona mostrar las dos tablas.

En las columnas de la consultas introduce trabajadores.nombre, trabajadores.apellidos, cargos.descripción y cargos->sueldo.

Graba la consulta. Pulsa en el icono superior izquierdo para mostrar la consulta.