RELACIONES
Conceptos básicos sobre relaciones.
Para poder relacionar tablas entre sí se deberá especificar un campo en común que contenga el mismo valor en las dos tablas y dicho campo será clave principal en una de ellas.
Las tablas se relacionan de dos a dos, donde una de ellas será la tabla principal (de la que parte relación) y la otra será la tabla secundaria (destino de la relación).
Tipos de relaciones:
Se pueden distinguir tres tipos de relaciones:
Relación Uno a Uno: Cuando un registro de una tabla sólo puede estar relacionado con un único registro de la otra tabla y viceversa.
Por ejemplo: tenemos dos tablas una con los datos de diferentes poblaciones y otra con una lista de Alcaldes, una población sólo puede tener un alcalde, y un alcalde lo será únicamente de una población.
Relación Uno a Varios: Cuando un registro de una tabla (tabla secundaria) sólo puede estar relacionado con un único registro de la otra tabla (tabla principal) y un registro de la otra tabla (tabla principal) puede tener más de un registro relacionado en la primera tabla (tabla secundaria).
Por ejemplo: tenemos dos tablas una con los datos de diferentes poblaciones y otra con los habitantes, una población puede tener más de un habitante, pero un habitante pertenecerá (o ha nacido) en una única población.
Relación Varios a Varios: Cuando un registro de una tabla puede estar relacionado con más de un registro de la otra tabla y viceversa.
Por ejemplo: tenemos dos tablas una con los datos de clientes y otra con los artículos que se venden en la empresa, un cliente podrá realizar un pedido con varios artículos, y un artículo podrá ser vendido a más de un cliente.
Las relaciones varios a varios se suelen representar definiendo una tabla intermedia entre las dos tablas. Siguiendo el ejemplo anterior sería definir una tabla líneas de pedido relacionada con clientes y con artículos.
Integridad referencial
La integridad referencial es un sistema de reglas que utiliza Access para asegurarse que las relaciones entre registros de tablas relacionadas son válidas y que no se borren o cambien datos relacionados de forma accidental.
Al exigir integridad referencial en una relación le estamos diciendo a Access que no nos deje introducir datos en la tabla secundaria si previamente no se ha introducido el registro relacionado en la tabla principal.
Por ejemplo: Tenemos una tabla de habitantes y una tabla de poblaciones, en la tabla
Habitantes tengo un campo Población que me indica en qué población vive el habitante, las dos tablas deberían estar relacionadas por el campo Población, en esta relación de tipo uno a varios la tabla Poblaciones es la tabla principal y la tabla Habitantes la secundaria (una población tiene varios habitantes). Si marcamos la casilla Integridad Referencial, no nos dejará asignar a un habitante una población que no exista en la tabla Poblaciones.
La integridad referencial dispone de dos acciones asociadas:
Actualizar en cascada los campos relacionados: Hace que cuando se cambie el valor del campo de la tabla principal, automáticamente cambiarán los valores de sus registros relacionados en la tabla secundaria.
Por ejemplo: Si cambiamos el nombre de la población Onteniente por Ontinyent en la tabla Poblaciones, automáticamente en la tabla Habitantes, todos los habitantes de Onteniente se cambiarán a Ontinyent.
Eliminar en cascada los registros relacionados: Cuando se elimina un registro de la tabla principal se borrarán también los registros relacionados en la tabla secundaria.
Por ejemplo: Si borramos la población Onteniente en la tabla Poblaciones, automáticamente todos los habitantes de Onteniente se borrarán de la tabla de Habitantes. Si no marcamos ninguna de las opciones no nos dejará ni cambiar el nombre de una población ni eliminar una población si ésta tiene habitantes asignados. Para terminar, hacer clic sobre el botón Crear. Se creará la relación y ésta aparecerá en la ventana Relaciones.
Para poder relacionar tablas entre sí se deberá especificar un campo en común que contenga el mismo valor en las dos tablas y dicho campo será clave principal en una de ellas.
Las tablas se relacionan de dos a dos, donde una de ellas será la tabla principal (de la que parte relación) y la otra será la tabla secundaria (destino de la relación).
Tipos de relaciones:
Se pueden distinguir tres tipos de relaciones:
Relación Uno a Uno: Cuando un registro de una tabla sólo puede estar relacionado con un único registro de la otra tabla y viceversa.
Por ejemplo: tenemos dos tablas una con los datos de diferentes poblaciones y otra con una lista de Alcaldes, una población sólo puede tener un alcalde, y un alcalde lo será únicamente de una población.
Relación Uno a Varios: Cuando un registro de una tabla (tabla secundaria) sólo puede estar relacionado con un único registro de la otra tabla (tabla principal) y un registro de la otra tabla (tabla principal) puede tener más de un registro relacionado en la primera tabla (tabla secundaria).
Por ejemplo: tenemos dos tablas una con los datos de diferentes poblaciones y otra con los habitantes, una población puede tener más de un habitante, pero un habitante pertenecerá (o ha nacido) en una única población.
Relación Varios a Varios: Cuando un registro de una tabla puede estar relacionado con más de un registro de la otra tabla y viceversa.
Por ejemplo: tenemos dos tablas una con los datos de clientes y otra con los artículos que se venden en la empresa, un cliente podrá realizar un pedido con varios artículos, y un artículo podrá ser vendido a más de un cliente.
Las relaciones varios a varios se suelen representar definiendo una tabla intermedia entre las dos tablas. Siguiendo el ejemplo anterior sería definir una tabla líneas de pedido relacionada con clientes y con artículos.
Integridad referencial
La integridad referencial es un sistema de reglas que utiliza Access para asegurarse que las relaciones entre registros de tablas relacionadas son válidas y que no se borren o cambien datos relacionados de forma accidental.
Al exigir integridad referencial en una relación le estamos diciendo a Access que no nos deje introducir datos en la tabla secundaria si previamente no se ha introducido el registro relacionado en la tabla principal.
Por ejemplo: Tenemos una tabla de habitantes y una tabla de poblaciones, en la tabla
Habitantes tengo un campo Población que me indica en qué población vive el habitante, las dos tablas deberían estar relacionadas por el campo Población, en esta relación de tipo uno a varios la tabla Poblaciones es la tabla principal y la tabla Habitantes la secundaria (una población tiene varios habitantes). Si marcamos la casilla Integridad Referencial, no nos dejará asignar a un habitante una población que no exista en la tabla Poblaciones.
La integridad referencial dispone de dos acciones asociadas:
Actualizar en cascada los campos relacionados: Hace que cuando se cambie el valor del campo de la tabla principal, automáticamente cambiarán los valores de sus registros relacionados en la tabla secundaria.
Por ejemplo: Si cambiamos el nombre de la población Onteniente por Ontinyent en la tabla Poblaciones, automáticamente en la tabla Habitantes, todos los habitantes de Onteniente se cambiarán a Ontinyent.
Eliminar en cascada los registros relacionados: Cuando se elimina un registro de la tabla principal se borrarán también los registros relacionados en la tabla secundaria.
Por ejemplo: Si borramos la población Onteniente en la tabla Poblaciones, automáticamente todos los habitantes de Onteniente se borrarán de la tabla de Habitantes. Si no marcamos ninguna de las opciones no nos dejará ni cambiar el nombre de una población ni eliminar una población si ésta tiene habitantes asignados. Para terminar, hacer clic sobre el botón Crear. Se creará la relación y ésta aparecerá en la ventana Relaciones.
No hay comentarios:
Publicar un comentario