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

Spécifie la table parent de la référence. Cette table contient la clé primaire ou alternative liée par la référence. Utilisez les outils à droite de la liste pour créer ou sélectionner un objet, ou pour afficher les propriétés de l'objet sélectionné.

Rôle parent

Spécifie le rôle de la table parent dans la référence. Le texte est affiché dans le diagramme, à proximité de la table parent.

Table enfant

Spécifie la table enfant de la référence. Cette table contient la clé étrangère liée par la référence.

Rôle enfant

Spécifie le rôle de la table enfant dans la référence. Le texte est affiché dans le diagramme, à proximité de la table enfant.

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 dans les tables parent et enfant.

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 Options de modèle relatives aux références).
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 (vous pouvez toutefois modifier la colonne enfant spécifiée si vous le souhaitez)
  • 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 le bouton Points de suspension pour les migrer vers des colonnes de clé étrangères 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 un ligne - Insère une ligne avant la ligne sélectionnée dans la liste afin de spécifier une autre colonne sur laquelle effectuer la jointure.


    Ajouter une ligne - Ajoute une ligne à la fin de la liste afin de spécifier une autre colonne sur laquelle effectuer 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éfinir la valeur YES pour cet élément (voir Personnalisation et extension de PowerAMC > Fichiers de définition de SGBD).

Onglet Intégrité

L'intégrité référentielle désigne les règles qui contrôlent la cohérence des données entre les colonnes de clé primaire ou alternative et les colonnes de clé étrangère. L'intégrité référentielle contrôle les opérations qui se produisent 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 maximale est de 254 caractères. Si vous éditez ce nom, le bouton Utilisateur est enfoncé. Pour revenir au nom par défaut, cliquez sur le bouton pour le libérer.

Mise en oeuvre

Spécifie le type de mise en oeuvre de l'intégrité référentielle. Vous pouvez choisir l'une des valeurs suivantes :
  • 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é

Spécifie les nombres maximal et minimal d'instances dans une table enfant 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 (utilisez * 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 (f(pour les SGBD qui prennent en charge les index clustered).