Clé primaire, Clé étrangère en XSD
Vous pouvez définir une contrainte d'unicité (clé primaire) et mettre en correspondance cette contrainte avec une ou plusieurs clés étrangères. Ainsi, les éléments possédant cette clé étrangère ne peuvent exister si leur clé ne prend pas ses valeurs dans celles proposées par la clé primaire.
La clé primaire est modélisée par une contrainte de stéréotype "XSD Key". La clé étrangère est modélisée par une contrainte de stéréotype "XSD Key Reference". Pour caractériser le fait qu'une clé étrangère dépend d'une clé primaire, on relie la clé étrangère à la clé primaire.
Exemple :
Dans le schéma "Entreprise", l'élément "Employé" définit une clé secondaire "REFPersonne". Cette clé référence la clé primaire "IDPersonne".
L'unicité de la clé secondaire définit une contrainte unique sur un élément. Les attributs de cet élément doivent prendre les mêmes valeurs que les attributs des éléments qui portent la clé primaire.
Pour relier une clé secondaire à un élément :
1. Sélectionnez l’élément dans le navigateur de l’éditeur de schémas.
2. Dans la fenêtre de propriétés, cliquez sur l’onglet Clés XSD.
3. Sélectionnez "Contrainte".
4. Pour relier une contrainte existante, cliquez sur le bouton Relier et recherchez la contrainte.
Pour créer une contrainte, cliquez sur le bouton Créer et attribuez le stéréotype "XSD Key Reference" à la contrainte.
5. Ouvrez ensuite la fenêtre de propriétés de la contrainte.
6. Cliquez sur l’onglet Texte.
7. Sélectionnez "Contrainte XSD" et ajoutez le texte d'unicité.
8. Cliquez sur OK.
Indiquez ensuite à quelle clé primaire est reliée la clé secondaire :

Sous le nom de la clé secondaire, sélectionnez "Contrainte Référencée".

Cliquez sur le bouton
Relier et recherchez la clé primaire à référencer.