Liste des contraintes

FondamentalKEY, UNIQUE, NOT NULL

On pensera à exprimer les clés candidates KEY, les attributs UNIQUE et NOT NULL.

1
R1 (#pk, k, u, a) avec k KEY, u UNIQUE, a NOT NULL

MéthodeContraintes exprimées sur le MCD

Les contraintes exprimées au niveau conceptuel doivent être traduites au niveau relationnel.

Si les contraintes ne sont pas trop nombreuses, on peut commenter chaque relation directement lors de la formalisation du MLD.

Exemple de contrainte OR entre deux associations
1
Personne (... loue=>Logement, possède=>Logement) avec (loue OR possède)
2
Logement (...) 

Méthode

Si l'expression des contraintes nuit à la lisibilité, on les reportera une liste à la fin du MLD (voire dans un document annexe qui accompagnera le modèle logique).

AttentionExtension des contraintes exprimées

On s'attachera lors de la modélisation logique à exprimer l'ensemble des contraintes pesant sur le modèle, même celles qui ont été considérées comme secondaires ou évidentes lors de la modélisation conceptuelle.

MéthodeExpression des contraintes

Pour exprimer les contraintes on favorisera un langage formel dans la mesure du possible :

  • algèbre relationnelle

  • expression logique ou mathématique

  • expression SQL ou procédurale

  • ...

RemarqueImmutabilité

La contrainte {frozen} n'existe pas en base de données relationnelle standard. On ajoutera donc cette contrainte en complément dans le modèle relationnel (et on pourra ajouter un déclencheur au moment de l'implémentation pour empêcher la modification d'un attribut).