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

Schéma Discussion :

attribut identifiant technique [MCD]


Sujet :

Schéma

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    octobre 2006
    Messages
    8 685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2006
    Messages : 8 685
    Points : 4 179
    Points
    4 179
    Billets dans le blog
    1
    Par défaut attribut identifiant technique
    Bonjour,

    ayant peu d'expérience dans les MCDs, voici une question basique concernant la création d'un attribut identifiant "technique" ; j'entends par technique qu'il ne correspond à aucune donnée réelle.

    Je voudrais savoir si cette méthode est correcte : du moment qu'il existe un attribut auquel j'ai mis la propriété unique, je le choisis comme clé primaire de la classe d'entité. Par contre, s'il n'y en a aucun, alors je crée un attribut identifiant qui ne correspond à aucune donnée réelle. Est-ce correct ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    7 417
    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 : 7 417
    Points : 23 885
    Points
    23 885
    Billets dans le blog
    2
    Par défaut
    L'identifiant doit répondre aux exigences suivantes :
    • unicité
    • concision
    • irréductibilité
    • non "nullable"
    • stabilité


    Les identifiants du MCD deviennent les clefs primaires (PK) des tables.
    Les PK se propagent dans les tables liées comme clefs étrangères (FK) pour permettre le contrôle d'intégrité référentielle.
    En fonction des cardinalités et de la profondeur de cascade, on peut avoir un très grand nombre de lignes dans lesquelles une même valeur de PK est héritée comme FK.

    Or, un identifiant naturel est rarement stable.
    Quelques exemples :
    Le NIR (numéro de sécurité sociale) est unique, relativement concis (13 octets tout de même contre 4 pour un integer), mais il n'est pas stable.
    Certaines personnes peuvent changer de NIR, c'est rare, mais ça arrive.
    il en va de même pour le SIRET qui identifie l'établissement, pour les codes pays et même les numéros de départements.

    C'est la raison pour laquelle on utilise le plus souvent un identifiant technique artificiel. Car modifier une valeur de PK provoquerait des mises à jour en cascade des FK qui pourraient concerner des millions de lignes.

    Argument supplémentaire, les identifiants naturels sont presque toujours de type char ou varchar, or, ces types sont sensibles à la collation, contrairement aux types numériques des identifiants techniques.

    Donc un identifiant naturel, pourquoi pas, sous réserve qu'on ait bien vérifié qu'il respecte toutes les exigences précédemment citées.
    C'est très, très rarement le cas.

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    octobre 2006
    Messages
    8 685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2006
    Messages : 8 685
    Points : 4 179
    Points
    4 179
    Billets dans le blog
    1
    Par défaut
    Oui, comme le critère concision est rarement atteint, je les remets...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 14/05/2009, 15h51
  2. [Modèle Relationnel] Choisir un identifiant naturel ou identifiant technique
    Par bennkabazz dans le forum Schéma
    Réponses: 6
    Dernier message: 01/11/2008, 22h32
  3. accès à un attribut de classe par son identifiant
    Par tigrou59 dans le forum Langage
    Réponses: 2
    Dernier message: 27/06/2007, 09h57

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