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 :

Choix entre clé primaire auto incrémentée et clé primaire valeur varchar


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 120
    Points : 80
    Points
    80
    Par défaut Choix entre clé primaire auto incrémentée et clé primaire valeur varchar
    Bonjour .

    je vais poser ma problématique grâce à un exemple :

    j'ai une table SQL Client qui contient toutes les informations possibles liées à une personne :

    n° sécurité sociale, nom , prénom ,........


    parmi ces deux choix (valides tous deux) , quelle est la meilleur idée pour concevoir la table Client

    1) Client (n° sécurité sociale (PK), nom , prénom ,........)

    ou

    2) Client (Id autoIncrémenté (PK) , n° sécurité sociale , nom , prénom ,........)


    quelles sont les raisons qui font un tel choix ?

    Merci

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 763
    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 763
    Points : 52 554
    Points
    52 554
    Billets dans le blog
    5
    Par défaut
    Discutés maintes fois....

    Performances + souplesse = auto incrément.
    Perf de merde et base sclérosée à terme => clef sémantique genre n° de sécu ! Imaginez juste que l'état modifie la structure du n° de sécu pour que l'année soit sur 4 chiffres... Et puis 32 bits (INTEGER), face à 104 bits (numeros de secu), à votre avis qui est le plus performant ?

    Scrutez les forums !
    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/ * * * * *

  3. #3
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 4 152
    Points : 7 402
    Points
    7 402
    Billets dans le blog
    1
    Par défaut
    ET SURTOUT LEGAL !


    SAUF DEROGATION PARTICULIERE, IL EST STRICTEMENT INTERDIT PAR LA LOI D'UTILISER D'IDENTIFIANT INSEE COMME IDENTIFIANT DANS UNE BASE DE DONNEES.

    IL NE DOIT MEME PAS ETRE UTILISE COMME CRITERE DE RECHERCHE SAUF AUTORISATION DE LA CNIL SI L'ACTIVITE DE L'ENTREPRISE EN DEPENDS.

    La seule chose qui est autorisée avec le numéro d'idenfiant INSEE, c'est son stockage, APRES DECLARATION OBLIGATOIRE A LA CNIL.


    A ce jour, seule la sécurité sociale (historiquement) et une poignée d'organismes en lien direct avec la santé est autorisée à utiliser l'identifiant INSEE comme clé unique. Même les mutuelles de santé n'en ont pas le droit pour leur suivi des dossiers médicaux.

    Désolé pour les majuscules, mais il me semble quand même important de rappeler cette interdiction, sachant que tout contrevenant s'expose à, de mémoire, 10 ans d'emprisonnement et, à l'époque, 1 million de francs d'amende.

    N'oubliez jamais que le cadre légal doit toujours supplanter les contraintes techniques.



    Sources :

    Le numéro de sécurité sociale est délivré par l'INSEE : http://www.securite-sociale.fr/Le-nu...iale?type=part
    Visiblement, depuis 1998 il y a eu quelques évolutions. Mais l'a CNIL reste farouchement opposée à l'utilisation de cet identifiant comme clé, et on ne peut y être autorisé que par décret : https://fr.wikipedia.org/wiki/Num%C3...iale_en_France
    On ne jouit bien que de ce qu’on partage.

  4. #4
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

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

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 697
    Points
    10 697
    Billets dans le blog
    21
    Par défaut
    Citation Envoyé par StringBuilder Voir le message
    SAUF DEROGATION PARTICULIERE, IL EST STRICTEMENT INTERDIT PAR LA LOI D'UTILISER D'IDENTIFIANT INSEE COMME IDENTIFIANT DANS UNE BASE DE DONNEES.
    Tout à fait. Cependant... il y a eu du changement récemment. Un décret paru fin mars 2017 autorise l'utilisation du NIR (Numéro d'Inscription du Répertoire) plus connu sous le nom de numéro de sécurité sociale, encadre (et donc autorise) l'utilisation du NIR en tant qu'identifiant dans le domaine de la santé et de la sphère médico-sociale (objectif principale : pouvoir accéder au Dossier Médical Partagé/Personnel ou DMP (oui, le P change de signification en fonction du temps !)). Auparavant, il était strictement interdit d'utiliser le NIR comme identifiant dans tout système d'information.

    Quoi qu'il en soit, l'utilisation du numéro de sécurité sociale (en tant qu'information ou d'identification) est soumis à l'autorisation express de la CNIL et doit être justifiée.

    [edit]
    Lien vers le décret du 29 mars 2017
    [/edit]
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 763
    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 763
    Points : 52 554
    Points
    52 554
    Billets dans le blog
    5
    Par défaut
    C'est pas aussi simple. Il existe 2 dérogations automatiques :
    • dans les fichiers de paie et de gestion du personnel pour l’établissement des bulletins de paie et des différentes déclarations sociales obligatoires (décret n° 91-1404 du 27 décembre 1991) ;
    • dans le cadre de la prise en charge des frais de maladie (articles R.115-1 et R.11 5-2 du code de la sécurité sociale), notamment mutuelles.


    Ayant eu il y a longtemps à écrire des logiciels de gestion de mutuelle, et ayant été responsable des projets d'un éditeur de santé pour l'hôpital, je sais de quoi je parle.

    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/ * * * * *

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

Discussions similaires

  1. Comment créer une clé primaire auto incrémentée?
    Par lolymeupy dans le forum PowerAMC
    Réponses: 10
    Dernier message: 26/11/2013, 16h50
  2. Réponses: 1
    Dernier message: 06/11/2008, 14h25
  3. Clé primaire auto incrémentée, problème insertion
    Par barnoufal dans le forum Ruby on Rails
    Réponses: 0
    Dernier message: 12/02/2008, 17h17
  4. création clé primaire auto incrémentable SQL ACCESS ?
    Par colorid dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 23/11/2007, 14h25
  5. [VB.NET] [ADO.NET] Clef primaire auto incrémenté
    Par Guld dans le forum Accès aux données
    Réponses: 4
    Dernier message: 25/09/2004, 20h46

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