Propriétés d'une référence

Pour visualiser ou modifier les propriétés d'une référence, double-cliquez sur son symbole dans le diagramme ou sur l'entrée correspondante dans l'Explorateur d'objets ou dans une liste. Les onglets de feuille de propriétés et zones répertoriés ici sont ceux disponibles par défaut, avant toute personnalisation de l'interface par vous ou par un administrateur.

L'onglet Général contient les propriétés suivantes :

Propriété

Description

Nom/Code/Commentaire

Identifient l'objet. Le nom doit permettre à des utilisateurs non spécialistes de savoir à quoi sert l'objet, tandis que le code, qui est utilisé afin de générer du code ou des scripts, peut être abrégé, et ne doit normalement contenir aucun espace. Vous pouvez également spécifier un commentaire afin de fournir des informations plus détaillées sur l'objet. Par défaut, le code est généré à partir du nom en appliquant les conventions de dénomination spécifiées dans les options du modèle. Pour supprimer la synchronisation du nom et du code, cliquez sur le bouton = en regard de la zone Code.

Stéréotype

Etend la sémantique de l'objet. Vous pouvez saisir un stéréotype directement dans cette zone, ou bien ajouter des stéréotypes dans la liste en les spécifiant dans un fichier d'extension.

Table parent/ Table enfant

Spécifie la table parent (qui contient la clé primaire ou alternative ou une colonne sélectionnée par l'utilisateur) et la table enfant (qui contient la clé étrangère ou une colonne sélectionnée par l'utilisateur) liées par la référence. Utilisez les outils situés à droite de la zone Table parent pour créer ou sélectionner une table ou afficher les propriétés de la table sélectionnée.

Rôle parent/ Rôle enfant

Spécifiez les rôles des tables parent et enfant dans la référence (par exemple, Contient et Est contenu dans).

Générer

Spécifie que la référence doit être générée dans la base de données.

Mots clés

Permet de grouper de façon informelle des objets. Pour saisir plusieurs mots clés, séparez-les de virgules.

Onglet Jointures

L'onglet Jointures répertorie les jointures définies entre les colonnes des tables parent et enfant. Les jointures peuvent lier des colonnes de clé primaire, alternative ou étrangère, ou bien des colonnes spécifiées par l'utilisateur.

Remarque : Vous pouvez contrôler les jointures par défaut créées à l'aide des options de modèle Lien par défaut à la création et Migrer les colonnes (voir Réutilisation et migration automatiques des colonnes).
Sur cet onglet, vous pouvez effectuer l'une des opérations suivantes :
  • Sélectionner une clé dans la table parent dans la zone Clé parent sur laquelle baser la jointure, ce qui va remplir automatiquement la liste des colonnes parent et enfant associées à la clé choisie. Si nécessaire, vous pouvez toutefois modifier la colonne enfant spécifiée.
  • Spécifier <Aucun> dans la zone Clé parent et spécifier vos propres paires de colonnes sur lesquelles baser la jointure à l'aide des outils suivants :

    Outil

    Description

    Réutiliser les colonnes - Créer une jointure en faisant correspondre les colonnes parent et enfant qui ont le même code et le même type de données.

    Migrer les colonnes - Commencez par spécifier les colonnes dans la colonne Colonne de la table parent, puis cliquez sur cet outil pour les migrer sous la forme de colonnes de clé étrangère dans la table enfant. Si les colonnes n'existent pas dans la table enfant, elles sont créées.

    Annuler la migration - Supprime toute colonne migrée dans la table enfant.

    Insérer/Ajouter une ligne - Insère une ligne avant la liste sélectionnée dans la liste ou à la fin de la liste afin de spécifier une autre colonne sur laquelle faire porter la jointure.
Remarque : Cochez la case Ordre de jointure automatique pour trier la liste par ordre de colonne de clé ou décochez cette case pour réorganiser les colonnes en utilisant les boutons de flèche. Si cette option n'est pas disponible, vous pouvez l'activer en ajoutant l'élément EnableChangeJoinOrder dans la catégorie Reference du fichier de définition de SGBD et définissant sa valeur à YES (voir Personnalisation et extension de PowerAMC > Fichiers de définition de SGBD).

Onglet Intégrité

L'intégrité référentielle contrôle la cohérence des données entre les clés primaires ou alternatives et les clés étrangères en dictant ce qui se passe lorsque vous modifiez ou supprimez une valeur ou que vous supprimez une ligne dans la table parent. L'onglet Intégrité contient les propriétés suivantes :

Propriété

Description

Nom de contrainte

Spécifie le nom de la contrainte d'intégrité référentielle. La longueur maximum est de 254. Si vous éditez ce nom, le bouton Défini par l'utilisateur apparaît enfoncé. Pour revenir au nom par défaut, cliquez pour libérer ce bouton.

Mise en oeuvre

Spécifie le type de mise en oeuvre de l'intégrité référentielle. Vous pouvez choisir entre :
  • Déclarative- Les contraintes d'intégrité référentielle sont définies pour des valeurs particulières. Lorsque la référence est générée, le SGBD courant évalue sa validité et génère les éventuels messages d'erreur appropriés

  • Trigger - Les contraintes d'intégrité référentielle sont mises en oeuvre par l'intermédiaire de triggers basés sur les contraintes d'intégrité définies dans la feuille de propriétés de la référence. Le trigger évalue la validité de la référence et génère l'éventuel message utilisateur approprié

Cardinalité

Indique les nombres minimum et maximum d'instances d'une table enfant permis pour chaque instance correspondante dans la table parent. Les valeurs suivantes sont disponibles par défaut :
  • 0..* - Un parent peut avoir aucun enfant, en avoir un ou plusieurs.

  • 0..1 - Un parent peut avoir aucun enfant, ou un seul.

  • 1..* - Un parent peut avoir un enfant, ou en avoir plusieurs.

  • 1..1 – Un parent doit avoir exactement un enfant

Vous pouvez également saisir des entiers dans l'un des formats suivants (en utilisant * ou n pour représenter l'absence de limite) :
  • x..y - Un parent peut avoir entre x et y enfants. Par exemple : 2..n – Il doit y avoir au moins 2 enfants.

  • x - Un parent peut avoir exactement x enfants. Par exemple : 10 - Il doit y avoir exactement 10 enfants.

  • x..y, a..b - Un parent peut avoir entre x et y ou entre a et b enfants. Par exemple : 1..2, 4..n – Il doit y avoir un, deux, quatre enfants, ou un plus grand nombre.

Contrainte de modification/suppression

Spécifie comment la modification d'une valeur de clé dans la table parent va affecter la valeur de clé étrangère dans la table enfant. Selon la mise en oeuvre et le SGBD, vous pouvez choisir entre :
  • Aucune - Aucun effet sur la table enfant.

  • Restrict - Les valeurs dans la table parent ne peuvent pas être modifiées ou supprimées s'il existe une ou plusieurs valeurs enfant.

  • Cascade - Les modifications ou suppressions de valeurs dans la table parent sont répercutées dans les valeurs correspondantes de la table enfant.

  • Set null - Les modifications ou suppressions de valeurs dans la table parent entraînent la mise à NULL des valeurs correspondantes dans la table enfant.

  • Set default - Les modifications ou suppressions de valeurs dans la table parent entraînent le remplacement des valeurs correspondantes par les valeurs par défaut dans la table enfant.

Parent obligatoire

Spécifie qu'à chaque valeur de clé étrangère dans la table enfant doit correspondre une valeur de clé primaire ou alternative dans la table père.

Changement de parent admis

Spécifie qu'une valeur de clé étrangère peut changer pour sélectionner une autre valeur dans la clé référencée dans la table parent.

Check on commit

[SQL Anywhere® uniquement] Vérifie l'intégrité référentielle uniquement lors de la validation, au lieu de la vérifier au moment de l'insertion de ligne. Vous pouvez utiliser cette fonctionnalité afin de contrôler les dépendances circulaires.

Cluster

Spécifie que la contrainte de référence est une contrainte clustered (pour les SGBD qui prennent en charge les index clustered).