Wie bereits von anderen hier erwähnt, sollten Konventionen dazu dienen, die Benutzerfreundlichkeit und Lesbarkeit zu verbessern. Nicht als Fessel oder Keule, um Entwickler zu quälen.
Ich persönlich bevorzuge jedoch die Verwendung von Singularnamen für Tabellen und Spalten. Das kommt wahrscheinlich von meinem Programmierhintergrund. Klassennamen sind in der Regel singulär, es sei denn, es handelt sich um eine Art Sammlung. In meiner Vorstellung speichere oder lese ich einzelne Datensätze in der betreffenden Tabelle, daher macht der Singular für mich Sinn.
Auf diese Weise kann ich auch plurale Tabellennamen für diejenigen reservieren, die viele Beziehungen zwischen meinen Objekten speichern.
Ich versuche auch, reservierte Wörter in meinen Tabellen- und Spaltennamen zu vermeiden. Im vorliegenden Fall ist es sinnvoller, die Singular-Konvention für Benutzer zu verwenden, um die Notwendigkeit zu vermeiden, eine Tabelle zu kapseln, die das reservierte Wort "Benutzer" verwendet.
Ich verwende gerne Präfixe in begrenztem Umfang (tbl für Tabellennamen, sp_ für Proc-Namen usw.), auch wenn viele glauben, dass dies zu Unordnung führt. Außerdem bevorzuge ich CamelBack-Namen gegenüber Unterstrichen, weil ich beim Eingeben des Namens immer auf das + statt auf das _ tippe. Viele andere sind anderer Meinung.
Hier ist ein weiterer guter Link für Richtlinien zu Namenskonventionen: http://www.xaprb.com/blog/2008/10/26/the-power-of-a-good-sql-naming-convention/
Denken Sie daran, dass das Wichtigste an Ihrer Konvention ist, dass sie für die Personen, die mit der betreffenden Datenbank interagieren, Sinn macht. Es gibt nicht "den einen Ring, der alle regiert", wenn es um Namenskonventionen geht.