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

MySQL Discussion :

Identifier un utilisateur


Sujet :

MySQL

  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    538
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 538
    Points : 262
    Points
    262
    Par défaut Identifier un utilisateur
    Bonjour,

    Quelle clé primaire primaire utiliser pour identifier une personne ?

    Je vois sur tous les forums qu'il est déconseillé d’utiliser le Numéro de Sécurité Sociale ...

    Merci.

  2. #2
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 346
    Points : 18 958
    Points
    18 958
    Par défaut
    Salut CliffeCSTL.

    Dans quel contexte utilisez-vous cette personne ?

    Quand on ne sait pas quoi mettre comme clef primaire, on utilise un incrément :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    `id`  integer unsigned not null auto_increment primary key,
    Ceci permet de rendre chaque ligne de votre table identifiable d'une manière unique.
    A chaque fois que vous insérez une nouvelle, la colonne 'id' est incrémenté de +1.

    --> http://sqlpro.developpez.com/cours/clefs/

    Citation Envoyé par CliffeCSTL
    Je vois sur tous les forums qu'il est déconseillé d’utiliser le Numéro de Sécurité Sociale ...
    Il n'y a pas de bonnes ou de mauvaises solutions. Tout dépend de ce que vous cherchez à faire, avec cette clef !

    Une clef dite primaire, doit être unique, ne doit pas changer de signification au cours du temps, et surtout doit être courte.

    Une autre clef pouvant presque répondre à cette définition, serait de mettre un timestamp. L'inconvénient est sa longueur.
    Ce que je vous ai donné ci-dessus, est une clef technique, porteuse d'aucune information particulière.

    Plus généralement, il vous faut un point d'entré dans votre base de données. Cette clef incrémentale est la solution idéale.

    Le débat entre une clef porteuse d'informations et une clef purement technique n'est toujours pas tranché.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  3. #3
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 778
    Points
    30 778
    Par défaut
    Il ne faut pas confondre non plus clé fonctionnelle, ou clé candidate, et clé technique.
    Ici le N° de sécurité sociale est une très bonne clé candidate, permettant d'identifier une personne de manière plus fiable que son Nom-Prénom mais ne doit pas être utilisé comme clé primaire, déjà parce qu'il n'est pas certain que toute personne présente dans la table en possède un et surtout parce que 15 caractères pour un identifiant que l'on reportera dans toutes les les tables l'utilisant en clé étrangère, c'est très lourd.
    Donc un identifiant fonctionnel, N° SS pourquoi pas, mais impérativement un identifiant technique, entier auto-incrémenté - géré par le SGBD et non par l'application.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  4. #4
    Membre émérite
    Homme Profil pro
    tripatouilleur de code pour améliorer mon quotidien boulistique
    Inscrit en
    Février 2008
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : tripatouilleur de code pour améliorer mon quotidien boulistique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2008
    Messages : 939
    Points : 2 287
    Points
    2 287
    Par défaut
    Bonjour à toutes et à tous

    Je vais peut-être relancer un débat, mais j'avais compris qu'une clé primaire ne devait pas avoir de sens.

    Est-ce que je débloque?

    Pierre

  5. #5
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 346
    Points : 18 958
    Points
    18 958
    Par défaut
    Salut Pier.antoine.

    Je te retourne la question : à quoi te sert une clef primaire dans une table ?
    Et quel est l'usage que tu vas en faire ?

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  6. #6
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 084
    Points : 38 377
    Points
    38 377
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par pier.antoine Voir le message
    Bonjour à toutes et à tous

    Je vais peut-être relancer un débat, mais j'avais compris qu'une clé primaire ne devait pas avoir de sens.

    Est-ce que je débloque?

    Pierre
    Pas tout à fait, mais quasiment :
    La contrainte est la stabilité de la clef primaire, sa valeur ne doit jamais changer, car si c'était le ce cas, les modifications en cascade sur les tables liées peuvent mettre par terre une base de données volumineuse.
    Or la meilleure façon d'avoir une valeur stable, est d'avoir une valeur technique dénuée de sens, typiquement un chrono attribué par le système.
    L'autre intérêt d'un chrono, est de permettre l'utilisation de format integer, beaucoup plus concis et performant que tout autre format de données pour les calculs dans la plupart des moteurs de bases de données.

Discussions similaires

  1. Identifier les utilisateurs connectés ?
    Par CiTriX dans le forum Administration
    Réponses: 6
    Dernier message: 05/09/2008, 15h29
  2. identifier un utilisateur
    Par s3b_7 dans le forum VBA Access
    Réponses: 1
    Dernier message: 11/06/2008, 21h38
  3. Niveau de sécurité des HttpSession pour identifier un utilisateur
    Par legummy dans le forum Développement Web en Java
    Réponses: 3
    Dernier message: 14/12/2007, 00h05
  4. Comment identifier un utilisateur
    Par pierrot10 dans le forum Langage
    Réponses: 3
    Dernier message: 16/02/2007, 16h16

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