Cours alimentation d’une base de données relationnelle, tutoriel & guide de travaux pratiques en pdf.
La notion de contraintes
Cohérence: toute valeur prise par une colonne doit appartenir à son domaine de définition.
Atomicité : une colonne ne doit pas pouvoir se décomposer.
Unicité : chaque ligne d’une table doit être unique afin de pouvoir l’isoler.
Clef primaire ou identifiant pour pouvoir identifier une ligne parmi toutes les lignes de la tables.
Quel est le critère qui identifie de façon unique une ligne de la table ACTEURS ?
son nom ne suffit pas: par exemple, on trouvera DOUGLAS au moins deux fois papa KIRK et fiston MICHAEL donc le nom n’est pas suffisant pour pointer sur une ligne et une seule. Prenons maintenant comme critères d’identification nom et prénom: il existe des familles d’acteurs et rien n’empêche que le père et le fils n’ait le même prénom; il faut donc étendre le critère d’identification à nom, prénom, date de naissance.
Ces trois colonnes constituent l’identifiant de la table ACTEURS.
Pour NATIONALITE, on a affaire à une clé primaire simple (car constituée d’une seule zone ou colonne). Pour ACTEUR, on a affaire à une clé primaire composite (car constituée de plusieurs zones ou colonnes).
Clé secondaire : ce sont éventuellement des colonnes ou groupe de colonnes qui permettent d’identifier aussi une ligne de la table.
Pour la nationalité, le code est suffisant pour identifier une nationalité. Le libellé aussi me direz-vous! Je vous l’accorde, mais en informatique, on préfère la zone la plus courte. donc l’identifiant sera le code et le libellé sera une clé secondaire.
Clé étrangère :
Le code nationalité qui se trouve dans ACTEUR est la clé primaire de NATIONALITE: le code nationalité dans ACTEUR sera appelé clé étrangère.
Lorsqu’on crée une table, il est possible d’indiquer ces contraintes au niveau des zones: c’est le moteur de la base de données qui effectuera les contrôles à chaque action sur la table sans que nous, les développeurs, nous ayons à nous en préoccuper.