1831 Stimmen

Dilemma bei der Benennung von Tabellen: Singular- und Plural-Namen

Nach akademischer Auffassung sollten Tabellennamen die Einzahl der Entität sein, deren Attribute sie speichern.

Ich mag kein T-SQL, das eckige Klammern um Namen erfordert, aber ich habe eine Users Tabelle in den Singular umzuwandeln, was dazu führt, dass diejenigen, die die Tabelle verwenden, manchmal Klammern verwenden müssen.

Mein Bauchgefühl sagt mir, dass es korrekter ist, beim Singular zu bleiben, aber mein Bauchgefühl sagt mir auch, dass Klammern unerwünschte Elemente wie Spaltennamen mit Leerzeichen usw. anzeigen.

Soll ich bleiben, oder soll ich gehen?

35voto

Joseph Ferris Punkte 12354

Ich würde auch gehen mit Plural und mit dem bereits erwähnten Benutzer Dilemma wählen wir den Ansatz der eckigen Klammern.

Wir tun dies, um eine Einheitlichkeit zwischen der Datenbankarchitektur und der Anwendungsarchitektur zu schaffen, wobei wir davon ausgehen, dass die Benutzer Tabelle ist eine Sammlung von Benutzer Werte so sehr wie ein Benutzer Sammlung in einem Code-Artefakt ist eine Sammlung von Benutzer Objekte.

Wenn unser Datenteam und unsere Entwickler die gleiche konzeptionelle Sprache sprechen (wenn auch nicht immer die gleichen Objektnamen), ist es einfacher, Ideen zwischen ihnen zu vermitteln.

26voto

someone Punkte 1

Ich persönlich ziehe es vor, Pluralnamen zu verwenden, um eine Menge zu repräsentieren, weil es für meinen relationalen Verstand einfach besser "klingt".

In diesem Moment verwende ich Singularnamen, um ein Datenmodell für mein Unternehmen zu definieren, weil die meisten Mitarbeiter damit besser zurechtkommen. Manchmal muss man einfach allen das Leben leichter machen, anstatt seine persönlichen Vorlieben durchzusetzen. (So bin ich in diesem Thread gelandet, um eine Bestätigung dafür zu bekommen, was die "beste Praxis" für die Benennung von Tabellen sein sollte)

Nachdem ich alle Argumente in diesem Thread gelesen habe, bin ich zu einem Schluss gekommen:

Ich mag meine Pfannkuchen mit Honig, egal, welche Geschmacksrichtung jeder bevorzugt. Aber wenn ich für andere Leute koche, versuche ich, ihnen etwas zu servieren, das sie mögen.

23voto

Randy Punkte 1

Ich habe eigentlich immer gedacht, dass es eine gängige Konvention ist, Tischnamen im Plural zu verwenden. Bis zu diesem Zeitpunkt habe ich immer den Plural verwendet.

Ich kann das Argument für singuläre Tabellennamen verstehen, aber für mich Plural macht mehr Sinn. Ein Tabellenname beschreibt normalerweise, was die Tabelle enthält. In einer normalisierten Datenbank enthält jede Tabelle bestimmte Datensätze. Jede Zeile ist eine Entität und die Tabelle enthält viele Entitäten. Daher die Pluralform für den Tabellennamen.

Eine Tabelle mit Autos hätte den Namen Autos und jede Reihe ist ein Auto. Ich gebe zu, dass die Angabe der Tabelle zusammen mit dem Feld in einem table.field die beste Praxis ist und dass einzelne Tabellennamen besser lesbar sind. In den folgenden beiden Beispielen ist die erste Variante jedoch sinnvoller:

SELECT * FROM cars WHERE color='blue'
SELECT * FROM car WHERE color='blue'

Ehrlich gesagt, werde ich meinen Standpunkt in dieser Angelegenheit überdenken und mich auf die tatsächlichen Konventionen verlassen, die von der Organisation, für die ich entwickle, verwendet werden. Ich denke jedoch, dass ich für meine persönlichen Konventionen bei der Pluralform der Tabellennamen bleiben werde. Für mich macht das mehr Sinn.

22voto

chaos Punkte 118918

Singular. Ich würde ein Array, das eine Reihe von Objekten zur Darstellung von Benutzerzeilen enthält, als "Benutzer" bezeichnen, aber die Tabelle ist "die Benutzertabelle". Der Gedanke, dass die Tabelle nichts anderes als die Menge der darin enthaltenen Zeilen ist, ist falsch, IMO; die Tabelle ist die Metadaten, und die Menge der Zeilen ist hierarchisch mit der Tabelle verbunden, sie ist nicht die Tabelle selbst.

Ich verwende natürlich ständig ORMs, und es hilft, dass ORM-Code, der mit Plural-Tabellennamen geschrieben wurde, dumm aussieht.

17voto

Eugene Yokota Punkte 92703

Ich mag keine Plural-Tischnamen, weil einige Substantive im Englischen nicht zählbar sind (Wasser, Suppe, Geld) oder sich die Bedeutung ändert, wenn man sie zählbar macht (Huhn vs. ein Huhn; Fleisch vs. Vogel). Ich verwende auch ungern Abkürzungen für Tabellen- oder Spaltennamen, weil dadurch die ohnehin schon steile Lernkurve noch weiter ansteigt.

Ironischerweise könnte ich die User eine Ausnahme und nenne sie Users wegen USER (Transac-SQL) denn auch ich verwende ungern Klammern um Tabellen, wenn es nicht sein muss.

Ich möchte auch alle ID-Spalten als Id , nicht ChickenId ou ChickensId (Was tun die meisten Leute in dieser Situation?).

All das liegt daran, dass ich keinen richtigen Respekt vor den Datenbanksystemen habe, ich wende nur ein Trick-Pony-Wissen aus OO-Namenskonventionen an wie Java's aus Gewohnheit und Faulheit. Ich wünschte, es gäbe eine bessere IDE-Unterstützung für kompliziertes SQL.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X