Contraintes simples et contraintes compliquées

Les contraintes exprimées dans le cadre de la conception de bases de données peuvent être catégorisées en trois types, du plus simple au plus complexe.

Fondamental

Il faut préférer les contraintes plus simples à celles plus compliquées dans la mesure où elles permettent d'obtenir le modèle recherché (principe du rasoir d'Ockham).

Cela minimisera le travail d'implémentation et de maintenance, et augmentera la fiabilité.

Les contraintes exprimables directement en relationnel

Ce sont les plus simples :

  • UNIQUE

  • NOT NULL

Les contraintes facilement réalisables en SQL (qui ne concernent qu'une seule relation)

Elles peuvent être exprimées directement en SQL au sein du CREATE TABLE via un CHECK.

Les contraintes compliquées qui nécessitent une couche de programmation en plus du SQL

  • On favorisera l'expression de vues (permettant de détecter les anomalies typiquement).

  • On utilisera les déclencheurs ou la couche applicative.