L’excellentissime Yves Tabourier a énoncé il y a plus de 25 ans une recommandation que l’on peut élever au rang de
règle d’or (De l’autre côté de MERISE page 80) :
« ... la fonction d’une propriété est de décrire les objets (et les rencontres), alors que l’identifiant ne décrit rien. Son rôle fondamental est d’être sûr de distinguer deux jumeaux parfaits, malgré des descriptions identiques.
L’expérience montre d’ailleurs que l’usage des “identifiants significatifs” (ou “codes significatifs”) a pu provoquer des dégâts tellement coûteux que la sagesse est d’éviter avec le plus grand soin de construire des identifiants décrivant les objets ou, pis encore, leurs liens avec d’autres objets... »
Autrement dit, identifier une entité-type telle qu’un véhicule automobile par un numéro d’immatriculation ou autres informations portées sur une carte grise est à éviter. De la même façon identifier une entreprise par son numéro Siren est à éviter dans un MCD. En effet, quand l’INSEE procède à la modification du numéro Siren d'une entreprise, ça peut être extrêmement pénalisant quant à la mise à jour de la base de données, conduire à monter des usines à gaz. Comme dit mon ami Chris Date :
Better prevent than cure...
A propos de l’INSEE et de l’usine à gaz, je fais référence au système préconisé par les concepteurs dans une très grande banque pour identifier les entreprises : le numéro Siren, fourni par un organisme extérieur, à savoir l’INSEE. Ce Siren était propagé dans toute la base de données par le jeu des liens inter-tables (clé primaire - clé étrangère). Les concepteurs avaient prévu une usine à gaz pour maintenir la cohérence du système, parce que l’INSEE envoyait tous les mois les nombreux correctifs
modifiant les numéros de Siren erronés. Je leur suggérai que l’identifiant de l’entreprise fît l’objet d’une propriété nouvelle et artificielle,
invariante et sans signification , appelons-la EntrepriseId, le numéro Siren devenant pour sa part une propriété comme les autres (c'est-à-dire accessible et modifiable), mais conservant toutefois sa spécificité fonctionnelle : être
unique donc à élever au rang d’
identifiant alternatif. Du point de vue de l’utilisateur et des règles fonctionnelles, pas de changement, mais le Siren ne figurait plus qu'à
un seul endroit au lieu de cinquante, en conséquence de quoi l’usine à gaz disparut à temps en fumée et tout le monde s’en trouva satisfait.
Partager