Contraintes de vérification
Les contraintes les plus génériques permettent d'effectuer des vérifications simples pour garantir la cohérence des données en établissant des règles.
Prennons en exemple une table de produits:
Une règle logique serait que le prix
des produits doit être un entier positif. On peut alors déclarer une contrainte de vérification pour forcer cette règle:
L'enregistrement d'un produit avec un prix
à 0
va donc échouer:
[23514] ERROR: new row for relation "produit" violates check constraint "prix_positif"
Detail: Failing row contains (1, Stylo, 0, 2022-09-16, null).
On peut également appliquer des règles plus complexes en lien avec plusieurs colonnes: s'assurer que la date de création est antérieure (ou égale) à la date de modification.
Puis test de la contrainte:
[23514] ERROR: new row for relation "produit" violates check constraint "chronologie"
Detail: Failing row contains (3, Stylo, 5, 2022-09-16, 2021-12-15).