Onglet Intégrité de la feuille de propriétés d'une référence

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 mettez à jour ou supprimez une valeur dans une colonne faisant l'objet d'une référence dans la table parent, ou bien lorsque vous y supprimez une ligne contenant une colonne faisant l'objet d'une référence.

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

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. Il n'y a pas de nombre maximal.

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

  • 1..* - Un parent peut avoir un enfant, ou en avoir plusieurs. Il n'y a pas de nombre maximal.

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

Vous pouvez également saisir des entiers dans l'un des formats suivants :


  • x..y - Un parent peut avoir entre x et y enfants.

  • x - Un parent peut avoir exactement x enfants.

  • x..y, a..b - Un parent peut avoir entre x et y ou entre a et b enfants.

Vous pouvez utiliser * ou n pour représenter l'absence de limite.

Exemples :


  • 2..n – Il doit y avoir au moins 2 enfants.

  • 10 - Il doit y avoir exactement 10 enfants.

  • 1..2, 4..n – Il doit y avoir un, deux, quatre enfants, ou un plus grand nombre.

Utilisateur

Indique qu'il s'agit d'un nom de contrainte défini par l'utilisateur.

Contrainte de modification

Spécifie les modalités selon lesquelles la mise à jour de la valeur de clé primaire ou alternative dans la table. Selon la mise en oeuvre et le SGBD, vous pouvez choisir l'une des valeurs suivantes :


  • Aucune - La mise à jour ou la suppression d'une valeur dans la table parent est sans incidence sur la table enfant.

  • Restrict - Une valeur de la table parent ne peut pas être modifiées ou supprimée s'il existe une ou plusieurs valeurs enfant correspondantes

  • Cascade - La mise à jour ou la suppression d'une valeur dans la table parent entraîne la mise à jour ou la suppression des valeurs correspondantes dans la table enfant

  • Set null - La mise à jour ou la suppression d'une valeur dans la table parent entraîne la mise à NULL des valeurs correspondantes dans la table enfant

  • Set default - La mise à jour ou la suppression d'une valeur dans la table parent entraîne l'attribution de la valeur par défaut aux valeurs correspondantes dans la table enfant

Contrainte de suppression

Spécifie les modalités selon lesquelles la suppression d'une ligne dans la table parent affecte 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

Permet à une valeur de clé étrangère de la table enfant de pointer sur une autre valeur de clé primaire ou alternative dans la table parent.

Check on commit

[SQL Anywhere® 5.0 et 5.5 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

Indique si la contrainte de référence est une contrainte clustered (pour les SGBD qui prennent en charge les index clustered)