Normalisation des bases de données

By , 02/04/2010

Depuis que je travaille dans l’informatique de gestion, je vois tout et son contraire en terme de normalisation des bases de données. J’ai découvert aujourd’hui un document très intéressant sur le sujet qui pourrait servir à l’ensemble des informaticiens qui travaillent avec une base : http://sqlpro.developpez.com/cours/standards/.

On y apprend comment nommer ses tables relationnelles, leurs colonnes, index, etc. Je ne vais pas réécrire l’article, cela n’aurait pas d’intérêt, mais je vais vous montrer quelques exemples. Voici la proposition pour les tables et les vues :

Préfixe de table fonction préfixe de vue
T_ lorsqu’il s’agit d’une table fonctionnelle V_
TR_ lorsqu’il s’agit d’une table de référence VR_
TS_ lorsqu’il s’agit d’une table “système” VS_
TJ_ lorsqu’il s’agit d’une table de jointure VJ_
TG_ lorsqu’il s’agit d’une table générique (héritage) VG_


On y apprend aussi comment écrire du code SQL (indentation, nom des colonnes résultats, etc.). Par exemple voici un mauvais code :

SELECT CLI_ID, CLI_NOM, CLI_ENSEIGNE,
CLI_PRENOM  FROM T_CLIENT WHERE CLI_ADR_PAYS = 'F'
AND CLI_ENSEIGNE IS NULL OR CLI_ENSEIGNE =''
ORDER BY CLI_NOM

Voici le même code bon cette fois-ci :

SELECT CLI_ID, CLI_NOM, CLI_ENSEIGNE,
       CLI_PRENOM
FROM   T_CLIENT
WHERE  CLI_ADR_PAYS = 'F'
       AND CLI_ENSEIGNE IS NULL OR CLI_ENSEIGNE =''
ORDER  BY CLI_NOM

Au final, je pense que si tout le monde utilisait les mêmes conventions pour les schémas de base de données et les requêtes SQL, les développeurs (Java par exemple) seraient plus à l’aise pour leurs développements et pour changer de projet.

Leave a Reply


two × 3 =

OfficeFolders theme by Themocracy