C. CLÉ ÉTRANGÈRE
Pour relier les données de 2 tables, il faut créer une relation entre les deux. Des champs spécifiques dans chacune des deux tables reliées sont nécessaires pour cette opération. Dans la table principale, il s'agit de la clé primaire et dans l'autre table de la clé étrangère.
onglet
"création"
groupe "relations" (5ème bloc)
<clic
g> sur
<faire glisser> une à une les tables du volet droit vers le volet
central
ou <clic g> sur
sélectionner les tables à a jouter
<clic g> sur
Les
tables s'affichent (avec leurs éventuelles relations)
<clic g> sur
Attribuer le même nom à des champs contenant les mêmes données (clé primaire d'une table et clé étrangère de l'autre) pour les identifier facilement
Une fois les tables affichées, les relations sont créées graphiquement.
bouton gauche
Dans
la fenêtre relation
<faire glisser> le champ "clé étrangère" d'une table
vers le champ "clé primaire" de l'autre ou l'inverse (la
boite de dialogue de relation s'affiche)
appliquer si nécessaire l'intégrité référentielle
<clic g> sur
la
relation est symbolisée par une ligne de jonction entre les 2 champs
paramètres
L'intégrité référentielle contrôle l'intégrité des relations et prémunit contre l'apparition de données incohérentes
Mise à jour en cascade des enregistrements de même
valeur de clé étrangère
(
option
conseillée)
Effacer en cascade les enregistrements de même valeur
de clé étrangère
(
option
dangereuse si utilisée à tort)
À tout moment des relations peuvent être ajoutées, ou supprimées ; mais il est indispensable de définir les relations entre les tables avant de créer formulaires, requêtes et états
Une seule relation entre deux mêmes tables est autorisée. Une table, dont la clé primaire est reliée à d'autres tables, ne pourra pas être détruite, sauf si ces dernières le sont déjà ou que la relation ait été supprimée. Les champs reliés ne peuvent pas être détruits
type de relations :
une définit une relation "une à une" entre les deux tables. Chaque enregistrement de la table source est associé à un seul enregistrement de la table destination.
plusieurs définit une relation "une à plusieurs" entre deux tables. Chaque enregistrement de la table source peut être associé à plusieurs enregistrements de la table destination. C'est à dire que chaque valeur de la clé primaire peut exister plusieurs fois dans la table de destination.
Intégrité référentielle : Lors de l'ajout ou de la suppression d'enregistrements dans les tables liées, les données seront gérées de manière cohérente.
Il est évidemment possible de modifier une relation à posteriori.
bouton gauche
Dans
la fenêtre relation
<double clic> sur le trait symbolisant la relation
ou
<clic droit> sur
le trait symbolisant la relation
la
boite de dialogue de relation s'affiche
<clic g> sur
modifier éventuellement
pour
valider
la
relation est symbolisée par une ligne de jonction entre les 2 champs
Dans la base en cours "bibliotheque",
Créer les relations entre les tables telles que ci-dessous (avec intégrité référentielle)
Partir de préférence des tables les plus éloignées de la table principale "
ouvrage"