Jeg vil sige, at først og fremmest:vær konsekvent.
Jeg regner med, at du næsten er der med de konventioner, som du har skitseret i dit spørgsmål. Et par kommentarer dog:
Punkt 1 og 2 er gode synes jeg.
Punkt 3 - det er desværre ikke altid muligt. Tænk på, hvordan du ville klare en enkelt tabel foo_bar
der har kolonner foo_id
og another_foo_id
som begge refererer til foo
tabel foo_id
kolonne. Du vil måske overveje, hvordan du skal håndtere dette. Dette er dog lidt af en hjørnesag!
Punkt 4 - Svarende til punkt 3. Du ønsker måske at indføre et nummer i slutningen af det fremmede nøglenavn for at tage højde for at have mere end én referencekolonne.
Punkt 5 - Jeg ville undgå dette. Det giver dig lidt og vil blive en hovedpine, når du vil tilføje eller fjerne kolonner fra en tabel på et senere tidspunkt.
Nogle andre punkter er:
Indeksnavngivningskonventioner
Du ønsker måske at introducere en navnekonvention for indekser - dette vil være en stor hjælp til ethvert databasemetadataarbejde, som du måtte ønske at udføre. For eksempel vil du måske bare kalde et indeks foo_bar_idx1
eller foo_idx1
- helt op til dig, men værd at overveje.
Ental vs flertal kolonnenavne
Det kan være en god idé at tage fat på det vanskelige problem med flertal vs enkelt i dine kolonnenavne såvel som dine tabelnavne. Dette emne forårsager ofte store debatter i DB-fællesskabet. Jeg ville holde mig til entalsformer for både tabelnavne og kolonner. Der. Jeg har sagt det.
Det vigtigste her er selvfølgelig konsistens!