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é primaire


Sujet :

Langage SQL

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Clé primaire
    Bonjour,

    Je veux créer une table abonné avec "pseudo" comme clé primaire est il préférable? Ca évitera les doublons non?

    Merci

  2. #2
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Non il vaut mieut mettre ta colonne pseudo en unique, et un entier en clé primaire, c'est toujours plus rapide à indexer et pour acceder à ta table.
    K

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Mais si je fais comme tu dis est ce que ca posera un problème pour les doublons dans le sens ou deux personnes auront le meme pseudo?

  4. #4
    Membre habitué Avatar de Illusion_MYA
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    164
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2004
    Messages : 164
    Points : 195
    Points
    195
    Par défaut
    Bonjour,

    +1 pour l'identifiant unique.

    Tu n'as pas posté dans la bonne rubrique, tu devrais demander à un modo de déplacer ton thread.
    "Lorsque l'Homme aura coupé le dernier arbre, pollué la dernière goutte d'eau, tué le dernier animal et pêché le dernier poisson, alors il se rendra compte que l'argent n'est pas comestible."

  5. #5
    Membre habitué Avatar de Illusion_MYA
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    164
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2004
    Messages : 164
    Points : 195
    Points
    195
    Par défaut
    Citation Envoyé par ayha
    Mais si je fais comme tu dis est ce que ca posera un problème pour les doublons dans le sens ou deux personnes auront le meme pseudo?
    Il faut faire un test quand tu enregistres un pseudo pour que le problème ne se pose pas.
    "Lorsque l'Homme aura coupé le dernier arbre, pollué la dernière goutte d'eau, tué le dernier animal et pêché le dernier poisson, alors il se rendra compte que l'argent n'est pas comestible."

  6. #6
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Ton insert fera une erreur si le pseudo existe déjà, si la colonne est déclarée en UNIQUE.

    Comme dit Illusion_MYA, il faut faire un select avant l'insertion, pour vérifier que le login n'existe pas déjà.
    K

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Voila c'est parce que j'ai peur que ca pose un problème donc c'est pour ca que je voulais le mettre en clé primaire et comme on ne peut pas avoir deux clés primaires identiques ca arrangeait le problème

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Ah ok donc lorsqu'on déclare en unique il n'y a pas de problème de doublons, c'est bien ca?

    Merci en tout cas d'avoir répondu aussi rapidement.

  9. #9
    Membre habitué Avatar de Illusion_MYA
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    164
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2004
    Messages : 164
    Points : 195
    Points
    195
    Par défaut
    Attention, ce n'est pas parce que le champ sera déclaré en unique que le problème de doublons est réglé ... tu auras droit à des erreurs.

    Pense à faire des tests avant.
    "Lorsque l'Homme aura coupé le dernier arbre, pollué la dernière goutte d'eau, tué le dernier animal et pêché le dernier poisson, alors il se rendra compte que l'argent n'est pas comestible."

  10. #10
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    ok bah je vais faire ca je vais créer mes champs et je ferais les tests

    Merci

  11. #11
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Citation Envoyé par ayha
    Ah ok donc lorsqu'on déclare en unique il n'y a pas de problème de doublons, c'est bien ca?

    Merci en tout cas d'avoir répondu aussi rapidement.
    En fait quand on déclare une colonne en "UNIQUE" on ajoute une contrainte, qui fait qu'on ne peut pas avoir deux valeurs identiques pour la même colonne.

    Par contre, ça ne gérera pas tout seul les doublons, si tu essaies de faire un INSERT avec une valeur qui existe déjà, il te jètera tout simplement avec une erreur bien méchante. Il faut donc faire un test avant l'insert, si tu veux éviter les erreurs :-)

    UNIQUE est juste un moyen de garantir l'intégrité des données selon un modèle, ici en l'occurence, quand une application tourne avec une colonne ayant UNIQUE comme contrainte, on est sûr qu'il n'y aura pas deux fois la même valeur !

    Le fait de déclarer PSEUDO en clé primaire serait revenu un peu au même. Car quand on déclare une colonne en tant que clé primaire, ça implique que cette colonne soit UNIQUE ( car une clé primaire est par définition un élément unique permettent d'identifier un enregistrement ). Mais je te suggérais d'utiliser UNIQUE pour la colonne pseudo et de rajouter un ID en clé primaire, car les bases de données fonctionnent mieux en général avec un champs de type INTEGER en clé primaire.

    Voili voulou
    K

  12. #12
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Citation Envoyé par Illusion_MYA
    Attention, ce n'est pas parce que le champ sera déclaré en unique que le problème de doublons est réglé ... tu auras droit à des erreurs.
    Pense à faire des tests avant.
    Plutôt après, non ? Laisse le moteur faire son boulot, et s'il te remonte une erreur, gère-là.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  13. #13
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Citation Envoyé par KiLVaiDeN
    Non il vaut mieut mettre ta colonne pseudo en unique, et un entier en clé primaire, c'est toujours plus rapide à indexer et pour acceder à ta table.
    +1, mais il y a un autre avantage énorme à cette solution : un internaute peut changer de pseudo...
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

Discussions similaires

  1. Import data d'Excel ds 2 table lié par clé primaire
    Par lord_paco dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 10/05/2005, 09h31
  2. clé primaire composée de 2 clés étrangères
    Par Tigresse dans le forum Installation
    Réponses: 5
    Dernier message: 28/07/2003, 14h38
  3. clé primaire aléatoire
    Par peuh dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 23/06/2003, 20h51
  4. 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
  5. 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