Types de contraintes
Contrainte de clé primaire : Contrainte qui impose que la valeur d'une colonne (ou d'un ensemble de colonnes) soit unique et non nulle dans une table.
- Doit être unique pour chaque enregistrement
- Ne peut jamais être nulle (NOT NULL)
- Identifie de manière unique chaque ligne
- Ne doit pas changer fréquemment
- Doit être aussi simple que possible
Examiner chaque colonne pour déterminer si elle peut identifier de manière unique un enregistrement
Confirmer que la valeur de l'attribut est unique pour chaque enregistrement
S'assurer que l'attribut ne peut jamais être nul
Vérifier que la clé ne change pas fréquemment
Marquer clairement l'attribut comme clé primaire dans le schéma
Une contrainte de clé primaire impose unicité et non-nullité
• Unicité : Chaque valeur de clé primaire doit être unique
• Non nullité : La clé primaire ne peut jamais être nulle
• Immutabilité : La clé primaire ne devrait pas changer
Contrainte de clé étrangère : Contrainte qui impose qu'une valeur d'une colonne (ou d'un ensemble de colonnes) dans une table existe dans la clé primaire d'une autre table.
Rechercher les attributs qui font référence à des clés primaires d'autres tables
Confirmer que la clé étrangère pointe vers une clé primaire existante
Déterminer combien d'enregistrements peuvent être liés
Vérifier que les règles d'intégrité référentielle sont respectées
Indiquer clairement la relation dans le schéma de la base de données
Une contrainte de clé étrangère impose l'existence d'une référence dans une autre table
• Référence valide : La clé étrangère doit pointer vers une clé primaire existante
• Intégrité référentielle : Empêche les enregistrements orphelins
• Valeur nulle permise : Sauf si explicitement contrainte
Contrainte de domaine : Contrainte qui limite les valeurs possibles pour une colonne à un ensemble prédéfini de valeurs ou à un type de données spécifique.
Exemples de contraintes de domaine
Déterminer le type approprié pour chaque colonne
Spécifier les bornes acceptables pour les données numériques
Créer des ensembles de valeurs autorisées pour certains champs
Implémenter les contraintes dans la structure de la base de données
Vérifier que les données respectent les contraintes avant insertion
Une contrainte de domaine limite les valeurs possibles dans une colonne
• Type de données : Chaque colonne a un type spécifique
• Plages autorisées : Limites numériques ou alphabétiques
• Validation automatique : Le SGBD vérifie les contraintes à chaque opération
Contrainte d'unicité : Contrainte qui impose que toutes les valeurs d'une colonne (ou d'un ensemble de colonnes) soient différentes dans une table.
Déterminer les colonnes qui doivent contenir des valeurs uniques
Comprendre pourquoi l'unicité est nécessaire pour cette colonne
Implémenter la contrainte UNIQUE dans la structure de la base
Résoudre les conflits avant d'appliquer la contrainte
Surveiller les tentatives d'insertion de valeurs dupliquées
Une contrainte d'unicité empêche les doublons dans une colonne
• Distinctivité : Toutes les valeurs doivent être uniques
• NULL unique : Une seule valeur NULL est autorisée
• Performance : Crée implicitement un index pour optimisation
Validation des contraintes : Processus de vérification que toutes les contraintes d'intégrité sont correctement appliquées et fonctionnent comme prévu.
Lister toutes les contraintes existantes dans la base de données
Identifier les relations entre différentes contraintes
Essayer d'insérer des données qui violent les contraintes
Confirmer que les erreurs sont correctement levées
Vérifier que les données actuelles respectent toutes les contraintes
Documenter toutes les contraintes avec leur justification
La validation des contraintes garantit la cohérence des données
• Complétude : Toutes les contraintes doivent être vérifiées
• Hiérarchie : Les contraintes doivent être validées dans le bon ordre
• Maintenance : Les contraintes doivent être régulièrement revues
- NOT NULL : Empêche les valeurs nulles
- UNIQUE : Assure l'unicité des valeurs
- CHECK : Valide les expressions logiques
- DEFAULT : Fournit une valeur par défaut
- PRIMARY KEY : Clé primaire (UNIQUE + NOT NULL)
- FOREIGN KEY : Clé étrangère
- Les contraintes d'intégrité garantissent la qualité des données
- Elles sont automatiquement vérifiées par le SGBD à chaque opération
- Les violations de contraintes génèrent des erreurs
- Elles assurent la cohérence logique des données
- Elles facilitent la maintenance de la base de données