free hosting   image hosting   hosting reseller   online album   e-shop   famous people 
Free Website Templates
Free Installer

Docencia Autor

Relaciones entre tablas

Una base de datos tiene mas de una tabla y además las tablas están relacionadas entre si. La relación de las tablas tiene un objetivo: evitar duplicar información.

Observe la siguiente tabla de ventas:

Vendedor Ciudad Producto Fecha Unidades Vendidas
Pedro Perez Buendia Jamundí Sardinas La Española 12-Jun-2005 12
Pedro P. Buendia Jdí Atun Atunete 15-Jul-2005 30
P.P. Buendia Jdí Sardinas La Espanola 07-Ago-2005 18
Carlos Andres Suarez Jdí. Atún Atuente 08-Ago-2005 25
Carlos A. Suarez Jamundi Sardinas Espanola 01-Ago-2005 30
Pedro Buendia Cali Atunete 02-Abr-2005 17
Pedro Perez Buendía Jamund. Atún Atunete 10-Abr-2005 40

Ahora el gerente quiere el siguiente informe:

1. ¿Cuanto vendió Pedro Pérez Buendía?
2. ¿Cuanto se vendió en el municipio de Jamundí?
3. ¿Cuanto se vendió de "Sardinas Española"?

El problema es que en cada registro a "Pedro Pérez Buendía" se le nombra como: "Pedro Perez Buendia", "Pedro P. Buendia", "P.P. Buendia", "Pedro Buendia", es decir no hay ninguna regulación, luego es imposible sacar un informe así, imagínese que no sean solo 7 registros sino 100.000 registros con el mismo problema. Igual sucede con "Jamundí" que se llama "Jdí", "Jdí.", "Jamund.". Ni hablar del Producto.

Por esa razón nacen las tablas relacionales. Ahora se cambia un poco.

I. Una tabla llamada Vendedores

Código Nombre
V1 Pedro Pérez Buendía
V2 Carlos Andrés Suárez

II. Una tabla llamada Municipios

Código Nombre
M1 Jamundí
M2 Cali

III. Una tabla llamada Productos

Código Nombre
P1 Sardinas La Española
P2 Atún Atunete

IV. Luego la tabla de Ventas queda así:

Vendedor Ciudad Producto Fecha Unidades Vendidas
V1 M1 P1 12-Jun-2005 12
V1 M1 P2 15-Jul-2005 30
V1 M1 P1 07-Ago-2005 18
V2 M1 P2 08-Ago-2005 25
V2 M1 P1 01-Ago-2005 30
V1 M2 P2 02-Abr-2005 17
V1 M1 P2 10-Abr-2005 40

La nueva tabla de ventas tiene grandes ventajas: primero ya no ocupa tanto espacio porque solo son códigos, segundo los datos son precisos. Ahora si es posible sacar los informes pedidos.

La integridad referencial

En la tabla de ventas NO es posible colocar un vendedor V5 porque NO existe este en la tabla de vendedores. Tampoco puedo colocar una ciudad M8 porque NO existe en la tabla de Ciudad. Eso se conoce como integridad referencial.

Otra característica de la integridad referencial se puede ver aquí: en la tabla de vendedores, yo NO puedo borrar al vendedor V1 porque esta siendo usado en la tabla de ventas.
 

¿Cómo se implementa esto en Microsoft Access?

Tanto en Microsoft Access como en otros motores de bases de datos, uno puede configurar la integridad referencial. Estos son los pasos:

1. Crear las tablas

2. Crear la referencia, dando clic en el botón de relaciones como se ve en la imagen

Clic botón derecho del ratón

Seleccione todas las tablas y oprima el botón agregar

Arrastre del campo Código de Vendedores al campo Vendedor en Ventas porque esa es la relación a crear.

3. Hacer que se valide la integridad referencial

Puede ver claramente la relación.

Se hace lo mismo con el resto

Guarde la relación

4. Pruebas de la integridad referencial.

Intente llenar la tabla de Ventas sin haber llenado las otras tablas.

Descargue la base de datos de ejemplo