Chapter 3 Construction de diagrammes physiques
La définition de l'intégrité référentielle inclut 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 si la mise en oeuvre de l'intégrité référentielle est de type déclarative ou s'effectue via des triggers |
Cardinalité | Indique les nombres maximal et minimal d'instances dans une table enfant pour chaque instance correspondante dans la table parent |
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 parent affecte la valeur de la clé étrangère 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 père |
Check on commit* | 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) |
* Valable uniquement pour Sybase SQL Anywhere 5.0 et 5.5.
La définition de cardinalité permet de contrôler les nombres maximal et minimal d'enfants permis pour chaque parent.
Vous pouvez utiliser les valeurs suivantes pour définir les cardinalités :
Cardinalité | Minimum | Maximum |
---|---|---|
0 |
Aucun nombre minimal d'enfants n'est imposé au parent. Les enfants sont facultatifs | — |
1 |
A chaque père doit correspondre au moins un enfant | Le père ne peut pas avoir plus d'un enfant |
n'importe quel entier | Le nombre minimal est le nombre spécifié | Le nombre maximal est le nombre spécifié |
N ou * |
— | A un père peut correspondre n'importe quel nombre d'enfants |
La cardinalité peut être exprimée dans l'un des formats suivants :
Format | Description | Exemple |
---|---|---|
x..y |
Nombres minimal et maximal, x représentant un entier, et Y pouvant avoir l'une des valeurs suivantes :
Entier n (infini) * (infini) |
(2..10)Chaque parent doit avoir entre 2 et 10 enfants (0..n)l'enfant est facultatif, et un parent peut avoir n'importe quel nombre d'enfants 10*Chaque parent doit avoir au moins dix enfant |
y |
Valeur maximale, équivaut à la formule (0..y) |
(10)Chaque parent peut avoir jusqu'à 10 enfants. L'enfant est facultatif |
x..y, x..y |
Série d'intervalles, la cardinalité pouvant prendre n'importe quelle valeur au sein de ces intervalles |
(1..2, 4..n)Chaque parent peut avoir un ou deux enfants, ou bien quatre |
Les contraintes de modification et de suppression peuvent avoir les valeurs suivantes :
Valeur | Changement du parent | Résultat dans l'enfant |
---|---|---|
Aucune | Mise à jour ou suppression de la valeur parent | Aucun |
Restrict | Ne peut pas modifier la valeur parent s'il existe une ou plusieurs valeurs enfant correspondantes | Aucun |
Cascade | Mise à jour ou suppression de la valeur parent | Mise à jour ou suppression des valeurs enfant correspondantes |
Set null | Mise à jour ou suppression de la valeur parent | Mise à NULL de la valeur enfant correspondante |
Set default | Mise à jour ou suppression de la valeur parent | Attribution de la valeur par défaut aux valeurs enfant correspondantes |
Copyright (C) 2005. Sybase Inc. All rights reserved. |
![]() |