Jag skulle säga att först och främst:var konsekvent.
Jag tror att du nästan är där med de konventioner som du har skisserat i din fråga. Ett par kommentarer dock:
Punkt 1 och 2 är bra tycker jag.
Punkt 3 - tyvärr är detta inte alltid möjligt. Tänk på hur du skulle klara en enda tabell foo_bar
som har kolumner foo_id
och another_foo_id
båda refererar till foo
tabell foo_id
kolumn. Du kanske vill överväga hur du ska hantera detta. Det här är dock lite av ett hörnfall!
Punkt 4 - Liknar punkt 3. Du kanske vill införa ett nummer i slutet av namnet på den främmande nyckeln för att tillgodose att ha mer än en referenskolumn.
Punkt 5 - Jag skulle undvika detta. Det ger dig lite och kommer att bli en huvudvärk när du vill lägga till eller ta bort kolumner från en tabell vid ett senare tillfälle.
Några andra punkter är:
Indexnamnkonventioner
Du kanske vill införa en namnkonvention för index - detta kommer att vara till stor hjälp för alla databasmetadataarbeten som du kanske vill utföra. Till exempel kanske du bara vill kalla ett index foo_bar_idx1
eller foo_idx1
- helt upp till dig men värt att överväga.
Singular vs plural kolumnnamn
Det kan vara en bra idé att ta itu med den svåra frågan om plural vs singel i dina kolumnnamn såväl som dina tabellnamn. Detta ämne orsakar ofta stora debatter i DB-gemenskapen. Jag skulle hålla mig till singularformer för både tabellnamn och kolumner. Där. Jag har sagt det.
Huvudsaken här är förstås konsekvens!