Une contrainte d'intégrité : la clé

Concernant les contraintes d'intégrité, le principe de base est la clé d'une table.

DéfinitionClé primaire

La clé primaire d'une table est un ensemble d'attributs (souvent un seul attribut). Une combinaison de valeurs de ces attributs détermine au plus un n-uplet de la table. En d'autres termes, deux n-uplets de la table ne peuvent avoir la même projection sur ces attributs. Une table peut avoir plusieurs clés. On dira d'une clé d'une table T qu'elle est une clé primaire si elle est utilisée dans d'autres tables pour identifier des n-uplets de T. (Les autres clés seront dites clés candidates.)

DéfinitionClé étrangère

On appelle clé étrangère un ensemble d'attributs d'une table \(T_2\) faisant référence à la clé primaire de \(T_1\).

Exemple

Si on se réfère à l'exemple de schéma donné ci-dessous, on voit que la table Coordonnées a comme clé primaire l'attribut Salle. Cet attribut devient une clé étrangère dans la table Séance, référençant la table Coordonnées. Il faut noter que contrairement à ce qu'on pourrait penser, l'attribut Titre n'est pas une clé primaire de la table Film, puisque sa valuation n'est pas unique sur l'ensemble des n-uplets de la table. Ainsi l'attribut Titre de la table Séance n'est pas une clé étrangère non plus.

La table Film

Titre

Directeur

Acteur

Mais qui a tué Harry ?

Hitchcock

Gwenn

Mais qui a tué Harry ?

Hitchcock

Forsythe

Mais qui a tué Harry ?

Hitchcock

MacLaine

Mais qui a tué Harry ?

Hitchcock

Hitchcock

...

Cris et chuchotements

Bergman

Andersson

Cris et chuchotements

Bergman

Sylwan

Cris et chuchotements

Bergman

Thulin

Cris et chuchotements

Bergman

Ullman

La table Coordonnées

Salle

Adresse

Telephone

Gaumont Opéra

31, bd des Italiens

01 47 42 60 33

Saint André des Arts

30, rue Saint André des Arts

01 43 26 48 18

Le Champo

51, rue des Ecoles

01 43 54 51 60

...

Georges V

144, av. des Champs Elysées

01 45 62 41 46

Les 7 Parnassiens

98, bd du Montparnasse

01 43 20 32 20

La table Séance

Salle

Titre

Horaire

Gaumont Opéra

Cris et chuchotements

20 : 30

Saint André des Arts

Mais qui à tué Harry ?

20 : 15

Georges V

Cris et chuchotements

22 : 15

...

Les 7 Parnassiens

Cris et chuchotements

20 : 45

Remarque

Notons qu'il serait possible de normaliser le schéma, pour obliger toutes les tables à avoir une clé primaire. Cette opération est hors programme, mais nous allons donner un exemple un peu plus bas de transformations de ces relations pour créer des tables avec des clés primaires.