Quoi qu’il en soit, la normalisation dit que chaque sous-ensemble K (non strict) de noms d’attributs de l’en-tête d’une relvar (variable relationnelle) R est seulement astreint à respecter les contraintes suivantes :
Unicité. Deux tuples distincts de R ne peuvent avoir même valeur de K.
Irréductibilité (ou minimalité). Il n’existe pas de sous-ensemble strict de K garantissant la règle d’unicité.
Dans ces conditions, K est un ensemble ayant pour éléments chacun des (noms d’) attributs de l’en-tête de R. Autrement dit, si F est l’ensemble des dépendances fonctionnelles de R, la fermeture K
+ de K par rapport à F doit être égale à la fermeture F
+ de l’ensemble F :
K+ = F+
Incidemment, si par nature de la clé, vous voulez dire « primaire » ou « alternative », je rappelle que du point de vue de la théorie relationnelle, ces qualificatifs sont obsolètes, ils ont été évacués de la théorie il y a près de 20 ans. Je cite C.J. Date dans
An Introduction to Database Systems, Seventh Edition, ouvrage paru en 2000 :
« [...] it is possible for a given relvar to have more than one candidate key. In such a case, the relational model has historically required—at least in the case of base relvars—that exactly one of those keys be chosen as the primary key, and the others are then called alternate keys. »
Ou encore, dans les éditions successives de
SQL and Relational Theory :
« [...] wheter some key is chosen as primary, and if so which one, are essentially psychological issues, beyond the purview of the relational model as such. »
En remontant à 1993, voyez l’article paru dans
InfoDB 7, No. 3 (Summer 1993) et repris dans
Relational Database, Writings 1991-1994 au chapitre 2 « The Primacy of Primary keys: An Investigation » :
« The final point was an appeal to Occam’s Razor (“no unnecessary concepts”). In effect, I was arguing that to treat all candidate keys as equals was to complicate the addressing scheme unnecessarily. But it might well be argued that Occam’s Razor applies the other way around, and that is the concepts of primary and alternate key that are unnecessary!—i.e., all we really need is candidate keys. »
Partager