54
Introduction pratique aux bases de données relationnelles
Quelles sont les
contraintes
d’intégrité
structurelles ?
Les contraintes d'intégrité structurelles établissent des règles qui
doivent s'appliquer à un schéma de base de données pour assurer sa
cohérence. Dans le contexte des bases de données relationnelles, les
contraintes d'intégrité structurelles sont classées en trois catégories :
contrainte d'unicité : chaque table possède une clé
d'identification (un attribut ou une combinaison d'attributs) qui
sert à différencier les tuples dans la table de manière unique ;
contrainte de domaine : un attribut dans une table ne peut
prendre que des valeurs appartenant à un domaine prédéfini ;
contrainte d'intégrité référentielle : chaque valeur d'une clé
étrangère doit correspondre à une valeur existante de la clé dans
la table référencée.
L’unicité doit être
assurée par le
système de gestion
des bases de
données
La contrainte d'unicité requiert une clé par table. Lorsqu'il existe
plusieurs clés candidates dans une même table, la contrainte d'unicité
nous oblige à en déclarer une comme clé primaire. C'est le système de
gestion des bases de données qui vérifie l'unicité des valeurs d'une clé
primaire.
Comment vérifier
les contraintes de
domaine ?
En revanche, ce système ne peut pas garantir le respect total
d’une contrainte de domaine. Certes, nous pouvons définir un
domaine par colonne dans une table, mais les domaines ne
représentent qu'une petite partie des règles de validation. Par exemple,
la définition d'un domaine n'a pas de sens lorsqu'il s'agit de vérifier la
correction des noms de ville ou de rue. En effet, la spécification
«CHARACTER (20)» qui désigne le type et la taille d'une chaîne de
caractères ne permet pas de vérifier si le nom d'une ville ou d'une rue
existe. Il incombe aux utilisateurs, dans une large mesure, de définir
jusqu’à quel point le contenu des tables doit être validé.
Importance des
contraintes de
domaine
La définition d'une contrainte de domaine basée sur les types
énumérés est une technique importante qui consiste à créer une liste
de toutes les valeurs possibles d'un attribut. Comme exemples de
types énumérés, nous pouvons imposer aux attributs Profession et
Année les contraintes de domaine suivantes : Profession =
{Programmeur, Analyste, Organisateur}, Année = {1950..1990}. La
Introduction pratique aux bases de données relationnelles
Quelles sont les
contraintes
d’intégrité
structurelles ?
Les contraintes d'intégrité structurelles établissent des règles qui
doivent s'appliquer à un schéma de base de données pour assurer sa
cohérence. Dans le contexte des bases de données relationnelles, les
contraintes d'intégrité structurelles sont classées en trois catégories :
contrainte d'unicité : chaque table possède une clé
d'identification (un attribut ou une combinaison d'attributs) qui
sert à différencier les tuples dans la table de manière unique ;
contrainte de domaine : un attribut dans une table ne peut
prendre que des valeurs appartenant à un domaine prédéfini ;
contrainte d'intégrité référentielle : chaque valeur d'une clé
étrangère doit correspondre à une valeur existante de la clé dans
la table référencée.
L’unicité doit être
assurée par le
système de gestion
des bases de
données
La contrainte d'unicité requiert une clé par table. Lorsqu'il existe
plusieurs clés candidates dans une même table, la contrainte d'unicité
nous oblige à en déclarer une comme clé primaire. C'est le système de
gestion des bases de données qui vérifie l'unicité des valeurs d'une clé
primaire.
Comment vérifier
les contraintes de
domaine ?
En revanche, ce système ne peut pas garantir le respect total
d’une contrainte de domaine. Certes, nous pouvons définir un
domaine par colonne dans une table, mais les domaines ne
représentent qu'une petite partie des règles de validation. Par exemple,
la définition d'un domaine n'a pas de sens lorsqu'il s'agit de vérifier la
correction des noms de ville ou de rue. En effet, la spécification
«CHARACTER (20)» qui désigne le type et la taille d'une chaîne de
caractères ne permet pas de vérifier si le nom d'une ville ou d'une rue
existe. Il incombe aux utilisateurs, dans une large mesure, de définir
jusqu’à quel point le contenu des tables doit être validé.
Importance des
contraintes de
domaine
La définition d'une contrainte de domaine basée sur les types
énumérés est une technique importante qui consiste à créer une liste
de toutes les valeurs possibles d'un attribut. Comme exemples de
types énumérés, nous pouvons imposer aux attributs Profession et
Année les contraintes de domaine suivantes : Profession =
{Programmeur, Analyste, Organisateur}, Année = {1950..1990}. La
