Bases des bases de données
Dans une table des employés Employe(NumEmploye, Email, Nom, Service), NumEmploye et Email sont tous deux différents pour chaque employé et jamais NULL. Nom et Service peuvent être identiques à ceux d'autres employés. Quelle proposition énumère toutes les clés candidates de cette table ?
- ANumEmploye uniquement
- BNumEmploye, et Email (chacune étant une clé candidate à elle seule)
- CNumEmploye, et la combinaison de NumEmploye et Nom
Afficher la réponse et l'explication
Réponse : B. NumEmploye, et Email (chacune étant une clé candidate à elle seule)
Une clé candidate est un ensemble minimal de colonnes capable d'identifier une ligne de façon unique : retirer ne serait-ce qu'une colonne rendrait l'identification unique impossible. Dans cette table, NumEmploye comme Email permettent chacun à eux seuls d'identifier un employé de façon unique ; ce sont donc tous deux des clés candidates. On choisit l'une des clés candidates comme clé primaire (ici, NumEmploye est le choix naturel), et celle qui n'est pas choisie, Email, s'appelle une clé alternative. Doter la clé alternative de contraintes UNIQUE et NOT NULL empêche les doublons. La combinaison de NumEmploye et Nom permet aussi d'identifier une ligne de façon unique, mais l'unicité est conservée même sans Nom ; elle n'est donc pas minimale et n'est pas une clé candidate. Un ensemble de colonnes qui identifie les lignes de façon unique sans être forcément minimal s'appelle une super-clé.
Continuer : 9 autres questions sur Bases des bases de données