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_bar
etc. - J'ai généralement (pas toujours) un PK à incrémentation automatique. J'utilise la convention suivante:
tablename_id
(par exemplefoo_id
,foo_bar_id
etc.). - 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_bar
a le FKfoo_id
(oùfoo_id
est 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_tableB
semble juste plus soignée ... ou comme OP le fait: foo_id
=> foo_id
plutôt que foo_id
=>id