Réserver une Démo

SVP notez : Cette page d’aide n’est pas pour la dernière version d’Enterprise Architect. La dernière aide peut être trouvée ici.

Pré. Proc.

Foreign Keys

Une Foreign Key définit une colonne (ou une collection de colonnes) qui applique une relation entre deux Tableaux . Il est de la responsabilité du serveur de base de données d'appliquer cette relation pour assurer l'intégrité des données. La définition de modèle d'une Foreign Key consiste en un Tableau parent (principal) contenant un ensemble unique de données auquel il est ensuite fait référence dans un Tableau enfant (étranger).

Dans Enterprise Architect , une Foreign Key est modélisée avec deux composants UML différents (mais liés) :

  • Une contrainte de Foreign Key (une opération UML avec le stéréotype de <<FK>>) stockée sur le Tableau enfant et
  • Un connecteur Association (stéréotype de <<FK>>) définissant la relation entre les deux Tableaux

Créer une Foreign Key

Bien que la définition d'une Foreign Key puisse être complexe, l'écran Contrainte de Foreign Key simplifie la modélisation des Foreign Keys . Cet écran est spécialement conçu pour vous aider à sélectionner la contrainte à utiliser dans le Tableau parent et associera automatiquement les colonnes Tableau enfant à celles du Tableau parent qui font partie de la contrainte. Différents aspects du processus de développement d'une Foreign Key sont décrits ici séparément à titre d'illustration, mais le processus global doit être une transition en douceur.

Un certain nombre de conditions doivent être remplies avant qu'une définition de Foreign Key puisse être enregistrée :

  • Les deux Tableaux doivent avoir des SGBD correspondants définis
  • Le Tableau parent doit avoir au moins une colonne
  • Le Tableau parent doit avoir une clé primaire, une contrainte unique ou un index unique défini

Créer une Foreign Key - à l'aide du générateur de base de données

Marcher

Action

Voir également

1

Dans l'arborescence Database Builder, cliquez-droit sur le nom du Tableau enfant et cliquez sur 'Add new Foreign Key on < tableau name>'.

Une boîte de dialogue s'affiche, répertoriant tous les Tableaux parents possibles.

2

Double-cliquez sur le nom Tableau parent requis dans la liste ou sélectionnez-le et cliquez sur le bouton OK .

L'écran « Contrainte de Foreign Key » s'affiche.

Créer une Foreign Key - en utilisant une relation sur un diagramme

Marcher

Action

Voir également

1

Dans le diagramme de Modélisation des données , recherchez le tableau enfant ( Foreign Key ) et le Tableau parent (clé primaire) Tableau .

2

Sélectionnez un connecteur Association dans la page ' Modélisation des données' de la boîte à outils Diagramme .

3

Cliquez sur le Tableau enfant et dessinez le connecteur vers le Tableau parent .

4

Si l'écran Contrainte de Foreign Key a été configuré pour s'afficher automatiquement lorsque deux Tableaux sont joints, il affiche maintenant . Sinon, soit :

  • Double-cliquez sur le connecteur ou
  • Cliquez-droit sur le connecteur et sélectionnez l'option ' Foreign Keys '
L'écran Contrainte de Foreign Key s'affiche.
Nom DDL Gabarits

L'écran de contrainte de Foreign Key

À titre d'exemple, cette image montre l'écran Foreign Key Constraint chargé avec les détails de 'fk_customersaddresses_customers' (tel que défini dans le modèle d'exemple).

Showing an example foreign key constraint in Sparx Systems Enterprise Architect.

Option

Action

Voir également

Rejoindre sous contrainte

Cette zone de liste déroulante répertorie toutes les contraintes définies dans le Tableau parent pouvant être utilisées comme base d'une Foreign Key . (Ces contraintes peuvent être des clés primaires, des contraintes uniques ou des index uniques.)

La première contrainte de la liste est sélectionnée par défaut ; s'il ne s'agit pas de la contrainte souhaitée, sélectionnez la contrainte appropriée dans la zone de liste déroulante.

Lorsque vous sélectionnez la contrainte, ses colonnes sont automatiquement répertoriées dans le panneau "Colonnes impliquées", sous la colonne "Parent : <tablename>".

Colonnes impliquées

Cette liste est divisée en deux : les colonnes impliquées dans la contrainte sélectionnée sont répertoriées à gauche, et les colonnes enfants qui vont être associées aux colonnes parentes sont répertoriées à droite.

Lorsqu'une contrainte est sélectionnée (dans le champ 'Joindre sur la contrainte'), le côté parent est actualisé pour afficher toutes les colonnes affectées à la contrainte sélectionnée. Du côté enfant, le système tentera automatiquement de faire correspondre chaque colonne parent à une colonne du même nom dans le Tableau enfant. Si le Tableau enfant n'a pas de colonne du même nom, une nouvelle colonne de ce nom sera ajoutée à la liste, signalée par (*) pour indiquer qu'une nouvelle colonne sera créée dans le Tableau .

Toutefois, si vous souhaitez forcer l'association à une colonne enfant Tableau existante ou à une nouvelle colonne avec un nom différent, cliquez sur le champ du nom de la colonne et soit :

  • Type le nom de remplacement, ou
  • Sélectionnez une colonne existante (cliquez sur la flèche déroulante et sélectionnez le nom dans la liste)

Nom

Ce champ définit le nom de la contrainte de Foreign Key et prend par défaut un nom construit par le nom de Foreign Key Gabarit .

Pour remplacer le nom par autre chose que celui par défaut, écrasez simplement la valeur .

Nom DDL Gabarits

À la suppression

Sélectionnez l'action à entreprendre sur les données du Tableau enfant lorsque les données du parent sont supprimées, afin de maintenir l'intégrité référentielle.

Lors de la mise à jour

Sélectionnez l'action à entreprendre sur les données du Tableau enfant lorsque les données du parent sont mises à jour, afin de maintenir l'intégrité référentielle.

Parent

Cliquez sur la flèche déroulante et sélectionnez la cardinalité du Tableau parent dans la Foreign Key .

Enfant

Cliquez sur la flèche déroulante et sélectionnez la cardinalité du Tableau enfant dans la Foreign Key .

Créer?

Si vous souhaitez créer un index de Foreign Key en même temps que la Foreign Key , définissez cette propriété sur True.

Le nom de l'index de Foreign Key est contrôlé par le gabarit d'index de Foreign Key , et le nom généré est affiché dans le champ 'Name' sous le champ 'Create?' champ.

Nom DDL Gabarits

Afficher automatiquement cet écran lorsque les tableaux sont joints

(Pour modélisation schématique) Cochez cette case pour afficher automatiquement cet écran à chaque fois qu'une Association est créée entre deux Tableaux .

Effacer

Cliquez sur ce bouton pour supprimer la Foreign Key existante (enregistrée) actuellement sélectionnée.

Une prompt s'affiche pour confirmer la suppression (et la suppression de l'index de Foreign Key , s'il existe) - cliquez sur le bouton Oui.

La suppression d'une Foreign Key laisse un connecteur d'association en place, que vous pouvez modifier ou supprimer ( cliquez-droit et sélectionnez 'Supprimer l'association : à <nom Tableau >').

OK

Cliquez sur ce bouton pour enregistrer la Foreign Key .

Exemples

Cet exemple montre des Foreign Keys simples dans un diagramme :

A physical data model using Information Engineering connectors between tables, in Sparx Systems Enterprise Architect.

La même Foreign Key sera affichée dans l'arborescence du générateur de base de données en tant que nœud enfant sous Tableau « customers.addresses ».

Showing a foreign key in the Database Builder tree in Sparx Systems Enterprise Architect.

Apprenez Plus