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

Requêtes MySQL Discussion :

clé primaire


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 58
    Points : 44
    Points
    44
    Par défaut clé primaire
    Bonjour,


    Autre question concernant l'optimisation côté utilisateur.
    Dans toutes les tables de ma base Mysql, j'ai comme premier champ un id autoincrement.

    Parfois, il est en primary key
    parfois juste "unique"

    (plusieurs personnes ont travaillé sur la structure de la table à des moments différents)

    a partir du moment où les tables ne sont pas Innodb
    a quoi ça sert de mettre un champ primary key ??

    si je ne suis pas clair, dites-le moi

    merci

  2. #2
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 208
    Points : 218
    Points
    218
    Par défaut
    Normalement une table devrait TOUJOURS avoir une et une seule clé primaire.
    Sinon tu risque d'observer des particularité de fonctionnement, genre refus d'executer certaines requêtes ou autre.

    Clé primaire: c'est comme ça et pas autrement !

  3. #3
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 905
    Points : 6 031
    Points
    6 031
    Par défaut
    Citation Envoyé par seb92
    a partir du moment où les tables ne sont pas Innodb
    a quoi ça sert de mettre un champ primary key ??
    A question bête.....

    A spécifier la clé primaire.....

    Innodb est à mettre en oeuvre pour gérer des clés étrangères et les contraintes qui en découlent (ON DELETE...)
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 58
    Points : 44
    Points
    44
    Par défaut
    mais je n'ai jamais dit que j'avais plusieurs clefs primaires par table !

    je demande juste ayant uniquement des tables myisaam
    à quoi ca sert d'indiquer un champ key primaire
    par rapport à un champ unique+index


    mais j'ai peut être pas compris vos réponses

  5. #5
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 905
    Points : 6 031
    Points
    6 031
    Par défaut
    un champs unique permet de spécifier une clé candidate.

    Quand tu as 2 champs qui peuvent être la clé de ta table (sous-entendu soit l'un soit l'autre), il faut bien se décider à en choisir un.

    celui choisi devient clé primaire, l'autre peut être mis comme unique.

    Maintenant, pour les index, c'est une question de perf.
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 58
    Points : 44
    Points
    44
    Par défaut
    mdr, me tape pas, j'ai l'impression d'etre une golio

    mais je ne comprends pas tjrs pas pourquoi on mettrait une clef primaire
    puisqu'il n'y a pas de contrainte de référence sur une autre table
    (myisaam)

  7. #7
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    En effet, pour les tables MyISAM il n'y a pas de réelles différences fonctionnelles entre une PRIMARY KEY et un champ NOT NULL en UNIQUE INDEX...

    Mais si l'on se conforme à la théorie de l'algèbre relationnelle, il ne peut y avoir qu'une seule clé primaire, qui doit permettre d'identifier un tuple de façon unique. Ca correspond bien à la contrainte PRIMARY KEY qui ne peut être présente qu'une fois dans une table, contrairement aux UNIQUE INDEX.
    Pensez au bouton

+ Répondre à la discussion
Cette discussion est résolue.

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