Voici comment je fais:
- Les noms de tables sont minuscules, utilise des underscores pour séparer les mots, et sont singuliers (par exemple
foo,foo_baretc. - J'ai généralement (pas toujours) un PK à incrémentation automatique. J'utilise la convention suivante:
tablename_id(par exemplefoo_id,foo_bar_idetc.). - Lorsqu'une table contient une colonne qui est une clé étrangère, je copie simplement le nom de colonne de cette clé à partir de la table dont elle provient. Par exemple, disons que la table
foo_bara le FKfoo_id(oùfoo_idest le PK defoo). - Lors de la définition des FK pour appliquer l'intégrité référentielle, j'utilise ce qui suit:
tablename_fk_columnname(par exemple, pour poursuivre l'exemple 3, ce serait le casfoo_bar_foo_id). Puisqu'il s'agit d'une combinaison nom de table / nom de colonne, elle est garantie d'être unique dans la base de données. - Je classe les colonnes comme ceci: PK, FK, puis le reste des colonnes par ordre alphabétique
Existe-t-il une meilleure façon de procéder, plus standard?
id_tableB=> oh pas de colonne de nom différent id , la cohérence de id_tableB=> id_tableBsemble juste plus soignée ... ou comme OP le fait: foo_id=> foo_idplutôt que foo_id=>id