Access |
les relations |
note importante Le mot « relation » est ici utilisé dans le sens que lui donne le logiciel Access. Il s'agit de la liaison entre deux tables, et non pas d'une relation telle qu'on l'entend dans un modèle relationnel.
présentation |
Les relations permettent de lier les tables entre elles. Dans l'exemple, la table CLIENT (table source) est reliée à la table DEVIS (table liée). Ce qui permet de relier chaque client aux devis qu'il a demandés. Pour créer une relation, il est nécessaire qu'existent une clé primaire dans une table (en gras sur l'illustration), et une clé étrangère dans la table reliée. La clé primaire doit être déclarée dans la table où elle se trouve. La clé étrangère n'a pas à être précisée comme telle à Access. Par contre, elle doit posséder les mêmes caractéristiques que la clé primaire (contrainte d'intégrité référentielle). |
|
création d'une relation
|
La création d'une relation se fait en choisissant Outils de base de données+ Relations Il suffit ensuite de faire glisser à la souris la clé primaire d'une table sur la clé étrangère d'une autre table pour qu'apparaisse la boîte de dialogue ci-contre. Appliquer l'intégrité référentielle permet de vérifier que les champs liés dans les deux tables sont parfaitement identiques par leur forme (type de données) et leur contenu. Mettre à jour en cascade les champs correspondants permet la mise à jour automatique dans la table liée des changements de contenu de la clé primaire dans la table source. Effacer en cascade les enregistrements correspondants permet de supprimer automatiquement dans la table liée les enregistrements effacés dans la table source.
Pour assurer
une parfaite cohérence des données des différentes
tables, il est vivement conseillé de cocher ces trois
cases.
|
Par ailleurs, l'illustration ci-dessus à droite montre les cardinalités de la relation. C'est à dire le nombre d'enregistrements de la table liée qui sont reliés à un enregistrement de la table source. On observe ainsi qu'un client () est relié à plusieurs () devis.
|
un cas particulier : une table intermédiaire |
|
On observe ci-contre une relation entre la table DEVIS et la table PRODUIT. Bien évidemment un devis peut comporter plusieurs produits, de même qu'un produit peut figurer dans plusieurs devis. Cette particularité conduit à créer une table intermédiaire, la table COMPORTE qui contient toutes les lignes de devis.
|
Une ligne (donc un enregistrement) est consacrée à chaque code produit commandé par un client. Cette table possède deux clés primaires, Code_produit et Code_devis ainsi que le champ Qté_commandée. Elle permet de relier entre elles les tables DEVIS et PRODUIT. L'extrait de table ci-contre à droite montre ainsi que le devis n°1 comporte trois lignes consacrées respectivement aux produits n°1 (deux exemplaires commandés), n°4 (trois exemplaires commandés) et n°10 (cinq exemplaires commandés). Le devis n°2 comporte quatre lignes, etc. |