viernes, 21 de agosto de 2009

Como relacionar tablas en Access (I)

Access es un tipo de bases de datos relacional. Esto significa que los datos se guardan en distintas tablas, y las mismas están relacionadas entre si. Existen varios tipos de relaciones entre las tablas. En este post nos vamos a centrar en el tipo de relación más habitual, de uno a varios. Además vamos a ver como se construye, que significa y que nos va permitir trabajar con varias tablas a la hora de elaborar consultas o formularios.

Existen básicamente tres tipos de relaciones entre tablas:
  • De uno a uno
  • De uno a varios
  • De varios a varios
En Access los datos se almacenan en distintas tablas. Para tener bien diseñada la base de datos debemos relacionar adecuadamente las distintas tablas que componen la base de datos.

La relación de uno a varios es la más común de las relaciones, supone el 90% de todas las relaciones que se hacen. Nos va a permitir relacionar dos tablas.

En este tipo de relación, un registro de una tabla puede estar relacionada con varios registros de otra tabla.

En cambio, un registro de la segunda tabla solo puede estar relacionado con un registro de la primera tabla. La mejor forma de entender esto mostrando un ejemplo.

Tenemos una base de datos a la que he llamado Datos. Contiene dos tablas: Proveedores y Productos. Suponemos que cada proveedor puede suministrar varios productos y que cada producto solo puede tener origen en un solo proveedor.

Eso significa que cada proveedor puede estar relacionado con varios productos. Dicho de otro modo, un registro (o fila) de la tabla Proveedores puede estar relacionado con varios registros de la tabla Productos.

Así mismo, por el otro lado, un producto solo puede estar relacionado con un proveedor, es decir, un registro de la tabla Productos solo puede estar relacionado con un registro de la tabla Proveedores.

Por tanto, la tabla Proveedores tiene una relación de uno a varios con la tabla Productos. En la relación, el lado 1 es la tabla Proveedores y el lado de varios es la tabla Productos (un proveedor puede suministrar varios productos).

Construcción de la relación en Access

Ahora vamos a ver como se implementa esta relación con la base de datos Access.
Tenemos una base de datos de Access llamada Datos. En la misma tenemos dos tablas, Proveedores y Productos.
Para crear una relación, del tipo que sea, abrimos la ventana de Relaciones donde estableceremos la relación entre productos y proveedores. Para abrirla, pinchamos con el botón derecho en el fondo blanco de la ventana de la base de datos, como se observa en la siguiente imagen:


Al hacerlo se abren dos ventanas, Relaciones y mostrar tabla.

En la ventana mostrar tabla seleccionamos con el ratón la tabla proveedores y pulsamos en el botón Agregar. Hacemos lo mismo con la tabla Productos. Ahora cerramos la ventana mostrar tabla.
Para poder establecer este tipo de relación vamos a abrir la vista diseño de la tabla Productos (es la tabla del lado de varios en la relación que estamos construyendo). Pulsamos con el botón derecho en Productos y seleccionamos Diseño de la tabla, mostrándose la vista diseño de productos:

Para poder establecer la relación con proveedores, vamos a añadir un nuevo campo en la tabla productos. Será un campo del mismo tipo que Idproveedores de la tabla proveedores, número. Después de añadir el nuevo campo la vista diseño queda así:



Cerramos la vista diseño, guardamos los cambios y volvemos a visualizar la ventana relaciones. Ahora ya podemos crear la relación. Llevaremos con el ratón idproveedores (de proveedores) al campo recién creado idproveedor de la tabla producto. Ahora se visualiza la ventana modificar la relación donde marcamos Exigir integridad referencial, Actualizar... y Eliminar...


Pulsaremos en el botón Crear y la relación ya está creada. La imagen de la nueva relación se muestra a continuación:

Cerramos la ventana relaciones guardando los cambios y ya podemos seguir trabajando en la base de datos.
En los siguientes posts veremos la relación de varios a varios y de uno a uno.

17 comentarios:

  1. Con Microsoft Access todo (tablas, formularios, consultas...) se guarda en un solo fichero. Parece que debes de tener otra aplicación que guarda los datos en ficheros distintos. Después de encontrarlos espero que ahora trabajes mejor. Un saludo.

    ResponderEliminar
  2. Mil gracias Jaime, está todo explicado genial.
    Un saludo.
    Nerea Ibáñez

    ResponderEliminar
  3. En lo personal, odio este tipo de trabajos en Acces. Pero creo que tendré que aprender a hacerlos. . . Son importantes en mi especialidad.

    ResponderEliminar
  4. gracias fue de gran ayuda
    Matias de los santos estudiante, analista de sistemas Montevideo Uruguay

    ResponderEliminar
  5. Hola anonimo, como te llamas?

    ResponderEliminar
  6. dejem de hacer eso por favor inmaduros

    ResponderEliminar
  7. Este comentario ha sido eliminado por un administrador del blog.

    ResponderEliminar
  8. mira este soy yo:https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcRwIK19G_rdZ45hXGzcOuLW6L2DhknxJDsBNvXP0H4AaQXiiEG7 :3 :3

    ResponderEliminar
  9. GRACIAS FUE DE GRAN AYUDA PARA MI......

    ResponderEliminar
  10. Bueenoo la información no fue muy buena pero sirvió de algo!! :)

    ResponderEliminar
  11. por favor necesito saber como puedo hacer para seleccionar y guardar los datos de un paciente al cual se le hace un tipo o dos de cirugia pero dentro de cada tipo hay dos o mas posibilidades de escoger

    ResponderEliminar
  12. Gracias, de gran ayuda.

    ResponderEliminar

Actualizar tablas en Excel

En el siguiente ejercicio vamos a ver como actualizar tablas en excel. Nos centraremos en modificar unos precios con código VBA. Modificare...