Ecco come lo faccio:
- I nomi delle tabelle sono minuscole, usi sottolineatura per separare le parole, e sono singolari (ad esempio
foo
,foo_bar
e così via - In genere (non sempre) ho un PK di incremento automatico. Uso la seguente convenzione:
tablename_id
(ad esfoo_id
.foo_bar_id
, Ecc.). - Quando una tabella contiene una colonna che è una chiave esterna, copio semplicemente il nome della colonna di quella chiave da qualunque tabella provenga. Ad esempio, supponiamo che la tabella
foo_bar
abbia l'FKfoo_id
(dov'èfoo_id
il PK difoo
). - Quando definisco gli FK per applicare l'integrità referenziale, utilizzo quanto segue:
tablename_fk_columnname
(ad esempio, per promuovere l'esempio 3, sarebbefoo_bar_foo_id
). Poiché si tratta di una combinazione di nome tabella / nome colonna, è garantito che sia univoco all'interno del database. - Ordino le colonne in questo modo: PK, FK, quindi il resto delle colonne in ordine alfabetico
Esiste un modo migliore e più standard per farlo?
id_tableB
=> oh nessuna colonna con un nome diverso id
, la consistenza di id_tableB
=> id_tableB
sembra solo più ordinata ... o come OP fa: foo_id
=> foo_id
piuttosto che foo_id
=>id