IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Clé candidate et clé primaire


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2014
    Messages : 80
    Points : 46
    Points
    46
    Par défaut Clé candidate et clé primaire
    Bonjour,



    J'ai un petit souci avec les clés candidates composées si quelqu'un peut m'aider s'il vous plait.

    Je sais que si j'ai une clé primaire composée, ça sera la combinaison qui devra être à chaque fois différente, mais dans le cas d'une clé candidate composée, c'est chacun des attributs de la clé candidate qui doivent être unique ou c'est l'ensemble combinaisons comme dans la clé primaire ? On m'a dit que pour une clé candidate chacun des attributs doivent être unique, mais ça parait bizarre parce que la définition d'une clé candidate c'est que c'est une clé primaire.

    Exemple 1 :
    j'ai une table T(A,B,C,D)
    (A,B) = clé primaire
    (C,D) = clé candidate


    A B C D
    a b e f
    a c e a

    ici il y aurait une erreur comme quoi l'attribut C qui fait parti d'une clé canditate à 2 fois la même valeur alors que pour la clé primaire on a pas se problème parce que c 'est le couple A,B qui doit être unique alors que pour les clé candidats c'est chacun des attributs et non pas le couple, est-ce vrai ?

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 011
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 011
    Points : 23 692
    Points
    23 692
    Par défaut
    Bonjour,

    Une clé candidate, c'est un attribut ou un ensemble d'attribut qui peuvent devenir l'identifiant unique de la table. Donc une clé candidate peut devenir clé primaire (ou pas si on décide de mettre en place une autre clé, comme une clé numérique sur une colonne unique par exemple).
    Ainsi, les propriétés de la clé candidate sont les mêmes que celles de la clé primaire.

    On vous a sûrement mal renseigné, ou vous avez confondu le mot "candidat" avec un autre mot...
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 756
    Points : 52 534
    Points
    52 534
    Billets dans le blog
    5
    Par défaut
    Il existe une différence sensible :
    clef primaire => non NULL tandis que que clef candidate (UNIQUE) => possibilité de NULL !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  4. #4
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 899
    Points
    30 899
    Billets dans le blog
    16
    Par défaut
    Bonsoir,


    Citation Envoyé par wear12
    ici il y aurait une erreur comme quoi l'attribut C qui fait parti d'une clé canditate à 2 fois la même valeur alors que pour la clé primaire on a pas se problème parce que c 'est le couple A,B qui doit être unique alors que pour les clé candidats c'est chacun des attributs et non pas le couple, est-ce vrai ?
    Ce qu’on vous a appris en l'occurrence de la clé candidate est complètement faux.

    En voici la définition :

    Une clé candidate (ou plus simplement clé, quand il n’y a pas de confusion possible) est un sous-ensemble de colonnes K de l’en-tête d’une table R, respectant les deux contraintes suivantes :

    Unicité. Deux lignes distinctes 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é.

    Voyez le billet : De l’invariance des clés primaires.


    Ainsi, la paire {C, D} peut parfaitement constituer une clé candidate, prenant par exemple les valeurs <e, f> et <e, a>.

    La clé primaire n’est qu’un cas particulier (strictement SQL) de la clé candidate.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, 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
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

Discussions similaires

  1. Différence entre clé candidate, clé primaire et clé unique.
    Par West01 dans le forum Décisions SGBD
    Réponses: 8
    Dernier message: 08/11/2006, 16h15
  2. clé primaire aléatoire
    Par peuh dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 23/06/2003, 20h51
  3. Procédure stocké:Insert et renvoie de la clé primair
    Par caramel dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 17/04/2003, 09h34
  4. Problème pour récupérer la clé primaire
    Par caramel dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 11/04/2003, 13h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo