2010-07-15 10 views
15

Bei der Benennung von Tabellen und Schema der db ist es am besten, Singular oder Plural zu verwenden. Zum Beispiel. sollte es Kunden oder Kunden sein?Datenbanktabellen Benennung, Plural oder Singular

Und bei der Benennung sollte es Kapital wie Kunde oder Kunde sein? Best Practice bei der Benennung?

+0

auch ähnlich: [? Datenbank-, Tabellen- und Spalten Naming Conventions] (http://stackoverflow.com/ Fragen/7662/Datenbank-Tabelle-und-Spalte-Benennung-Konventionen) – Mike

+0

Duplicated von [Tabellennamen Dilemma: Singular vs. Plural Namen] (http://Stackoverflow.com/q/338156/90527), aber das hat mehr Aufmerksamkeit. – outis

Antwort

20

Diese Frage erfordert einen religiösen Krieg.

Ich habe keinen Zweifel, es sollte, weil ...

  • Eine Tabelle ist eine Sammlung von Zeilen mehrfach sein. Die SQL-Syntax wird natürlicher - SELECT * FROM Customers anstelle von SELECT * FROM Customer.
  • Die Analogie zu OOP - Sie haben eine Klasse Customer und eine Liste oder andere Sammlung von Kunden namens Customers.
  • SELECT * FROM Customers AS Customer WHERE Customer.FirstName = 'John' - Customers bezieht sich auf die gesamte Tabelle, während sich Customer auf die aktuelle Zeile bezieht.

Negative Dinge

Man muss mehrmals zwischen Singular und Plural bei der Entwicklung wechseln. Sie können mit einem konzeptionellen Modell beginnen - zum Beispiel mit einem Entity-Relationship-Modell -, bei dem die natürliche Wahl darin besteht, das Entity Customer zu benennen. Von diesem Modell generieren Sie eine Datenbank und müssen den Namen pluralisieren, um die Tabelle Customers zu erhalten. Schließlich wählen Sie Ihren bevorzugten O/R-Mapper aus und müssen den Namen erneut vereinzeln, um eine Klasse namens Customer zu erhalten.

Wenn Sie dies manuell tun, weil das Werkzeug fehlt, ist die Unterstützung (zum Beispiel EntityFramework vor .NET 4.0) könnte es eine vernünftige Wahl, die Tabellennamen im Singular zu halten, aber therfore bekommt eine Klasse Customer statt Customers ohne Änderung es von Hand.

+8

+1 für Ihren ersten Absatz, auch wenn Ihre Meinung falsch ist :) – AakashM

+2

Ich verwendete singuläre Benennung, aber nach dem Umschalten auf Schienen, wo Plural ist der Standard der Plural Namen fühlt sich natürlicher. Dies gilt insbesondere für Anfragen – Tarscher

+0

Es scheint natürlicher, aber ich habe gedacht, wenn es später in der Entwicklung negative Auswirkungen hat ... –

7

singuläre Benennung.

dreht sich alles um die Tupel, nicht um die Tabellen, und ein Tupel ist ein Kunde, keine Kunden. ich bevorzuge auch die nennung in kleineren fällen, aber das ist grundlos, ich habe es gerade so in der schule gelernt.

am Ende, wie andere sagten, es ist eher eine Frage der Präferenz. Wichtiger als die Wahl, ob man Plural oder Singular verwendet, ist es, konsistent zu bleiben und es auf die gleiche Art und Weise für alle Tische zu tun - wenn man pluar und singuläre Benennung mischt, ist es ein wahres Durcheinander.

6

Es ist so ziemlich eine Frage der Präferenz

4

Sie wählen Sie eine recipe.ingredient oder ein recipes.ingredient?

... oder wählen Sie eine ingredient von recipes anstelle einer ingredient von recipe.

Wählen Sie eine recipe.ingredient Liste oder eine recipes.ingredient Liste?

... oder wählen Sie eine ingredient Liste von recipes anstelle einer ingredient Liste von recipe?

Ich denke, Konsistenz ist wichtiger als die Konvention selbst. Persönlich bevorzuge ich singuläre, kleingeschriebene Tabellennamen, aber ich werde diese Wahl nicht vehement verteidigen.

0

Meine Auswahl ist Singular und Titlecase :)

Kunde ist ein Unternehmen. Tabelle ist die logische Sammlung mehrerer Entitäten. Also ist Plural bevorzugt.

Für Tabellennamen ist Pascal Fall besser. d.h. CustomerMaster.

Es wird bevorzugt, Präfix wie tblCustomerMaster zu verwenden.

Wenn Sie die Gruppennamen verwenden als Präfix es dann in Großbuchstaben verwenden, wie, NewCustomer, OldCustomer

Verwandte Themen