Chapter 3 Construction de diagrammes physiques


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 Nom de la contrainte d'intégrité référentielle. La longueur maximale est de 254 caractères
Mise en oeuvre Indique 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é Indique 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 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 correspondante 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 Modalités selon lesquelles la suppression d'une ligne dans la table parent affecte la table enfant.
Parent obligatoire A 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 [Sybase SQL Anywhere 5.0 et 5.5 uniquement] Ne vérifie l'intégrité référentielle qu'au moment de la validation au lieu de la vérifier lors de l'insertion de la ligne. Vous pouvez utiliser cette fonctionnalité pour contrôler les dépendances circulaires.
Cluster Indique si la contrainte de référence est une référence de type clustered (pour les SGBD qui prennent en charge les index clustered).

Note   Mise en oeuvre de l'intégrité référentielle
Dans PowerAMC 6, la mise en oeuvre de l'intégrité référentielle était définie comme une option de génération. Dans PowerAMC 8, vous définissez la mise en oeuvre de l'intégrité référentielle soit à l'aide de l'intégrité référentielle déclarative, soit en utilisant des triggers, ce choix s'effectuant dans l'onglet Intégrité de la feuille de propriétés d'une référence.

 


Copyright (C) 2006. Sybase Inc. All rights reserved.