Gérer les clés étrangères

Une clé étrangère est employée pour établir et maintenir un lien relationnel
dans la base de données. Les clés étrangères sont générées
automatiquement par l’application, en se basant sur les associations
et leurs connectivités.
Les clés étrangères représentent la relation entre les tables. Chaque table enfant contient
une copie de la clé primaire de sa table parent. Cette copie s’appelle la clé étrangère.
Les clés étrangères sont
gérées hors connexion, impliquant
que l'utilisateur a la
responsabilité de maintenir
l'intégrité référentielle du
modèle de données.
Générer les clés étrangères
Vous devez, tout d’abord, vous assurez qu’au moins deux tables soient reliées par une
association, que la table parent ait une clé primaire et que l'association soit navigable à
partir de la table enfant. Il faut également que le modèle de données que vous avez créé
soit mis en évidence dans la fenêtre Explorateur. Procédez ensuite avec les étapes
suivantes :
- Choisissez Outils > Clés étrangères > Générer les clés étrangères. La
fenêtre de génération de clés étrangères apparaîtra.
- Choisissez les options nécessaires (pour l'information sur ces options, voir
page suivante).
- Confirmez avec le bouton Générer les clés étrangères pour exécuter l'opération.
Un rapport apparaîtra à la fin de l'opération.
Les modifications au statut de la propriété valeur nulle possible seront
appliquées automatiquement si elles étaient nécessaires pour valider
le modèle selon la multiplicité. Cependant, cela ne sera pas annoncé
dans le rapport.
Optez pour le bouton Rapport
si vous voulez voir le
compte-rendu avant la génération
des clés. Cependant,
cette action n'engendrera
pas la génération des
clés étrangères.
NB : Pour les modèles de données Informix SEULEMENT, les colonnes étrangères qui se
rapportent aux colonnes de clés primaires ou uniques de type PÉRIODIQUE ou SÉRIAL8
seront mises à ENTIER ou INT8.
Modifier les options de génération des clés étrangères
Open ModelSphere offre plusieurs options pendant le processus de génération
afin de contrôler les actions appliquées aux colonnes de clés étrangères existantes.
Les colonnes orphelines :
On dit qu'une colonne est orpheline quand elle est considérée comme étant étrangère
et que la colonne de clé primaire ou unique n'est pas présente dans le modèle.
Supprimer les colonnes orphelines
Les colonnes étrangères orphelines seront supprimées lors de la génération
des clés étrangères.
Garder les colonnes orphelines intactes
Les colonnes étrangères orphelines seront gardées lors de la génération des
clés étrangères.
Fixer les colonnes orphelines en tant que colonne de base
Les “indicateurs étrangers" des colonnes étrangères orphelines seront mis à
Faux lors de la génération des clés étrangères.
Mettre les descripteurs à jour
Il est tout à fait commun que les propriétés des colonnes étrangères diffèrent des colonnes
de clés primaires ou uniques référencées. La liste des options de mise à jour de
descripteurs offre la possibilité de propager l'information des colonnes clés primaires ou
uniques à leurs colonnes étrangères correspondantes.
Voici les cinq (5) descripteurs
différents :
- Nom
- Nom physique
- Alias
- Type, longueur, nombre de décimales
- Item commun
Au terme de l’opération, votre écran devrait ressembler à celui-ci :
Voici un exemple de rapport de génération des clés étrangères :
Supprimer les clés étrangères
Cette fonction supprime les contraintes et colonnes de clés
étrangères pour le modèle de données en entier.
Propager aux colonnes de clés étrangères
Cette fonction sert à propager les attributs de clés primaires
ou uniques aux colonnes de clés étrangères correspondantes pour le
modèle de données en entier ou pour une sélection de colonnes. (Disponible sur le concept colonne)
Les propriétés du rôle d'association
Certaines propriétés du rôle d'association ont un impact sur la gestion des clés étrangères.
Navigable
Cet attribut est applicable à l’extrémité enfant de l'association. Le rôle d'association doit
être navigable pour qu’une clé étrangère soit générée. Appliquez sur des associations
entre objets en choisissant l’indicateur de valeur (carré rouge).
Les types de contraintes
- Clé étrangère : l'intégrité référentielle représentée par le rôle d'association sera
implémentée par la contrainte de clé étrangère. Les colonnes correspondantes
seront générées selon le choix de contrainte.
- Déclencheurs : l'intégrité référentielle représentée par le rôle d'association sera
implémentée par un déclencheur de base de données. Aucune contrainte de
clé étrangère ou colonne ne seront générées pour ce rôle.
- Application : l'intégrité référentielle représentée par le rôle d'association sera
implémentée dans le code d'application. Aucune contrainte de clé étrangère ou
colonne ne sera générée.
- Non spécifié : aura le même comportement que l'option clé étrangère.
La contrainte référencée
Applicable seulement sur les clés primaires ou uniques, la contrainte référencée identifie
une clé précise. Cependant, si elle rend un résultat non spécifié, l’application présumera,
par défaut, une référence à la clé primaire.