Avez-vous déjà demandé comment imposer des règles et des restrictions spécifiques sur votre base de données SQL Server? Une façon d’y parvenir est d’utiliser des contraintes de vérification. Dans cet article de blog, nous explorerons le concept des contraintes de vérification et comment elles peuvent aider à maintenir l’intégrité des données dans votre base de données.
Qu’est-ce que les contraintes de vérification?
Une contrainte de vérification est une règle que vous pouvez appliquer à une colonne ou à un ensemble de colonnes dans une table. Elle vous permet de définir la plage de valeurs acceptables pour cette colonne. Par exemple, si vous avez une colonne “Hauteur” dans une table, vous pouvez utiliser une contrainte de vérification pour vous assurer que seules des valeurs positives sont autorisées.
Les contraintes de vérification sont utiles lorsque vous souhaitez ajouter votre propre logique en plus d’un type de données. Elles fournissent une couche supplémentaire de validation pour garantir que les données insérées ou mises à jour répondent à certains critères.
Création de contraintes de vérification
Pour créer une contrainte de vérification, vous pouvez utiliser l’instruction ALTER TABLE dans SQL Server. La convention de nommage préférée pour une contrainte de vérification est “CK” pour check, suivi du nom de la table et du nom du champ, séparés par un trait de soulignement.
Par exemple, supposons que nous ayons une table appelée “StateList” avec une colonne appelée “LandMass”. Nous voulons nous assurer que les valeurs de LandMass sont toujours non négatives. Nous pouvons créer une contrainte de vérification en utilisant le code suivant:
ALTER TABLE StateList ADD CONSTRAINT CK_StateList_LandMass CHECK (LandMass >= 0)
Cette contrainte de vérification empêchera toute opération d’insertion ou de mise à jour qui entraîne une valeur de LandMass négative.
Modification des contraintes de vérification existantes
Si vous devez modifier une contrainte de vérification existante, vous pouvez le faire en supprimant l’objet de contrainte actuel, puis en le reconstruisant avec les conditions souhaitées. Malheureusement, il n’existe pas d’instruction T-SQL directe pour modifier une contrainte de vérification existante.
Par exemple, supposons que nous voulions ajouter une autre condition à notre contrainte de vérification existante pour le champ LandMass. Nous voulons nous assurer que les valeurs de LandMass sont également inférieures à 2 millions de miles carrés. Nous pouvons modifier la contrainte de vérification en utilisant le code suivant:
ALTER TABLE StateList DROP CONSTRAINT CK_StateList_LandMass ALTER TABLE StateList ADD CONSTRAINT CK_StateList_LandMass CHECK (LandMass >= 0 AND LandMass < 2000000)
Cette contrainte de vérification révisée appliquera désormais les deux conditions: des valeurs de LandMass non négatives et des valeurs de LandMass inférieures à 2 millions de miles carrés.
Conclusion
Les contraintes de vérification sont un outil puissant dans SQL Server qui vous permettent de définir et d’appliquer des règles sur les colonnes de votre base de données. Elles contribuent à maintenir l’intégrité des données et garantissent que seules des données valides sont stockées dans vos tables. En utilisant des contraintes de vérification, vous pouvez ajouter une couche supplémentaire de validation à la conception de votre base de données.
N’oubliez pas de toujours prendre en compte les exigences spécifiques de votre base de données et de choisir les contraintes de vérification appropriées pour appliquer les règles souhaitées.