Así que has pasado de una hoja de cálculo a una base de datos. Ha configurado sus tablas y ha transferido con esmero todos sus valiosos datos. Te tomas un merecido descanso, te sientas y miras las mesas que has creado. Espera un segundo, parecen extrañamente familiares a las hojas de cálculo que acabas de repudiar. ¿Acabas de reinventar la rueda? ¿Cuál es la diferencia entre una hoja de cálculo y una base de datos?
Una de las principales ventajas de las bases de datos como Microsoft Access es su capacidad para mantener relaciones entre diferentes tablas de datos. El poder de una base de datos permite correlacionar los datos de muchas maneras y asegurar la consistencia (o integridad referencial) de estos datos de tabla a tabla. En este artículo, echaremos un vistazo al proceso de creación de una relación simple utilizando una base de datos de Microsoft Access.
Imagine una pequeña base de datos que hemos creado para Acme Widget Company. Queremos hacer un seguimiento tanto de los pedidos de nuestros empleados como de los de nuestros clientes. Se puede utilizar una tabla que contenga una tabla para empleados con los siguientes campos:
- ID de empleado (clave primaria)
- Nombre
- Apellido
- Extensión
- Salario
- Administrador
Entonces podríamos tener una segunda tabla que contenga los pedidos tomados por nuestros empleados. Esa tabla de órdenes puede contener los siguientes campos:
- ID de pedido (llave primaria)
- ID de cliente
- ID de empleado
- ID del artículo
- Cantidad
Note que cada orden está asociada con un empleado específico. Esta superposición de información presenta la situación perfecta para el uso de una relación de base de datos. Juntos crearemos una relación de clave externa que indica a la base de datos que la columna EmployeeID de la tabla Pedidos corresponde a la columna EmployeeID de la tabla Empleados.
Una vez establecida la relación, hemos desatado un poderoso conjunto de funciones en Microsoft Access. La base de datos asegurará que sólo se puedan insertar en la tabla Órdenes los valores correspondientes a un empleado válido (como se indica en la tabla Empleados). Además, tenemos la opción de dar instrucciones a la base de datos para que elimine todas las órdenes asociadas con un empleado cuando éste sea eliminado de la tabla Empleados.
Así es como creamos la relación en Access 2013:
- En la ficha Herramientas de base de datos de la cinta, haga clic en Relaciones.
- Resalte la primera tabla que desea que forme parte de la relación (Empleados) y haga clic en Añadir.
- Repita el paso 2 para la segunda tabla (Órdenes).
- Haga clic en el botón de cerrar. Ahora debería ver las dos tablas en la ventana Relaciones.
- Haga clic en el botón Editar relaciones de ordenación de la cinta.
- Haga clic en el botón Crear nuevo.
- En la ventana Crear nuevo, seleccione Empleados como nombre de tabla izquierdo y Órdenes como nombre de tabla derecho.
- Seleccione EmployeeID como el nombre de la columna izquierda y el nombre de la columna derecha.
- Haga clic en Aceptar para cerrar la ventana Crear nuevo.
- Utilice la casilla de selección de la ventana Tratar relaciones para elegir si desea hacer cumplir la integridad referencial. En la mayoría de los casos, querrá seleccionar esta opción. Este es el poder real de una relación: garantiza que los nuevos registros de la tabla Órdenes sólo contengan los ID de los empleados válidos de la tabla Empleados.
- También notará otras dos opciones aquí. La opción «Cascade Update Related Fields» asegura que si un EmployeeID cambia en la tabla Empleados, ese cambio se propaga a todos los registros relacionados en la tabla Pedidos. Del mismo modo, la opción «Cascade Delete Related Records» elimina todos los registros de Órdenes relacionados cuando se elimina un registro de Empleado. El uso de estas opciones dependerá de los requisitos particulares de su base de datos. En este ejemplo, no utilizaremos ninguno de los dos.
- Haga clic en Tipo de suscripción para ver las tres opciones disponibles. Si está familiarizado con SQL, puede notar que la primera opción corresponde a una unión interna, la segunda a una unión externa izquierda y la última a una unión externa derecha. Usaremos una unión interna para nuestro ejemplo.
-
- Sólo se incluyen las filas en las que los campos unidos de ambas tablas son iguales.
-
- Incluya TODOS los registros de ‘Empleados’ y sólo los registros de ‘Pedidos’ en los que los campos unidos sean iguales.
- Incluya TODOS los registros de ‘Pedidos’ y sólo aquellos registros de ‘Empleados’ en los que los campos unidos sean iguales.
- Haga clic en Aceptar para cerrar la ventana Unir propiedades.
- Haga clic en Crear para cerrar la ventana Tratar relaciones.
- Ahora debería ver un diagrama que muestre la relación entre las dos tablas.