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 :
  1. 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.

  2. Choisissez les options nécessaires (pour l'information sur ces options, voir page suivante).



  3. 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 :

    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
    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.