|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : octobre 2006 Messages : 23 ![]() |
Bonjour,
Je n'arrive pas a comprendre la différence entre une clé candidate, clé primaire et clé unique. Je trouve que ce sont tous des synonymes et je n'arrive pas a faire la différence ? Une aide serait appreciée. Merci. |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 959 ![]() |
Un clef candidate est un concept au niveau modélisation. Ce sont n'importe quels attributs d'une relation capable de retrouver un élément unique de la relation (tuple) par leur(s) valeur(s).
Une clef primaire est un concept au niveau du modèle mais aussi des SGBDR. La clef primaire est une clef choisit parmi les clef candidates. Une clef unique, cela n'existe pas. En revanche il existe des CONTRAINTES D'UNICITÉ. (SGBDR). Petit exemple : SALARIÉ(Nom, Prenom, DateNaissance, Matricule, N°Sécu) Clef candidate : Matricule ou N°Sécu Si je prends comme clef primaire de ma relation le Matricule, alors la relation devient : SALARIÉ(N°Sécu, Nom, Prenom, DateNaissance, Matricule) Lorsque je vais traduire cela en tables, j'aurais intérêt à définir en sus de la clef primaire une contrainte d'unicité sur la colonne Matricule, afin d'éviter que l'on ne saisisse par erreur un même matricule à deux employés différents. A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : octobre 2006 Messages : 23 ![]() |
Merci pour la reponse.
Mais je ne comprends pas toujours le concept de clé candidate Est-ce possible d'avoir un exemple concret. Pour ce qui est des autres clés, ca va. Merci. |
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() |
Si je comprends bien (me corriger si je me trompe) :
Imaginons que je définisse une contrainte d'unicité sur le trio "Nom", "Prenom", "dateNaissance". Ce trio est une clef candidate ? (car il me permet de retrouver une unique entrée) |
|
|
00
|
|
|
#5 | ||
|
Expert Confirmé
![]() ![]() |
Citation:
Pour une personne, son numéro de sécu (en France) est une clé candidate. Son adresse mail peut en être une autre (si toutes les personnes gérées ont un mail) Pour des livres, le n° d'ISBN est une clé candidate Citation:
__________________
"Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément." Nicolas Boileau "Expliquer empêche de comprendre si cela dispense de chercher" Quiz Oracle : venez tester vos connaissances ! |
||
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() |
Comment avoir des doublons si j'ai défini une contrainte d'unicité (comme j'ai dit)
|
|
|
00
|
|
|
#7 | |
|
Expert Confirmé
![]() ![]() |
Citation:
Ma remarque portait sur la pertinence de la définition d'une telle contrainte, il est possible de trouver des homonymes nés à la même date in the real life
__________________
"Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément." Nicolas Boileau "Expliquer empêche de comprendre si cela dispense de chercher" Quiz Oracle : venez tester vos connaissances ! |
|
|
|
00
|
|
|
#8 |
|
Membre du Club
![]() |
Je suis tout à fait d'accord à ce niveau, mais bon c'était pour travailler sur l'exemple déjà donné
|
|
|
00
|
|
|
#9 | ||
|
Expert Confirmé Sénior
![]() ![]() ![]() Spécialiste en bases de données Inscription : septembre 2006 Messages : 2 886 ![]() |
Bonjour West01,
Voici ce qu’écrivait en 1971 Ted Codd, père du Modèle Relationnel de Données (je traduis) : Citation:
Un peu plus loin : Citation:
Une clé candidate non retenue comme clé primaire est encore appelée clé alternée ou encore de rechange (Alternate key) Référence : E. F. Codd: Further Normalization of the Data Base Relational Model. IBM Research Report RJ 909, San Jose, California: (1971) Bonne quête...
__________________
_ Faites simple, mais pas plus simple ! (A. Einstein) E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire ») => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale ») __________________ Bases de données relationnelles et normalisation : de la première à la sixième forme normale (Bonne lecture !) |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com