Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Dilemma bei der Tabellenbenennung:Namen im Singular vs. Plural

Ich hatte dieselbe Frage, und nachdem ich alle Antworten hier gelesen habe, bleibe ich definitiv bei SINGULAR, Gründe:

Grund 1 (Konzept). Sie können sich eine Tüte mit Äpfeln wie "AppleBag" vorstellen, egal ob 0, 1 oder eine Million Äpfel, es ist immer die gleiche Tüte. Tabellen sind genau das, Container, der Tabellenname muss beschreiben, was er enthält, nicht wie viele Daten er enthält. Außerdem geht es beim Pluralkonzept eher um eine gesprochene Sprache (eigentlich um festzustellen, ob es eine oder mehrere gibt).

Grund 2 . (Bequemlichkeit). Es ist einfacher, mit Namen im Singular herauszukommen, als mit Namen im Plural. Objekte können unregelmäßige oder gar keine Pluralformen haben, haben aber immer eine Einzahl (mit wenigen Ausnahmen wie News).

  • Kunde
  • Bestellung
  • Benutzer
  • Status
  • Neuigkeiten

Grund 3 . (Ästhetik und Ordnung). Besonders in Master-Detail-Szenarien liest sich dies besser, richtet sich besser nach Namen aus und hat eine logischere Reihenfolge (Master zuerst, Detail an zweiter Stelle):

  • 1.Bestellung
  • 2.Bestelldetails

Im Vergleich zu:

  • 1.Bestelldetails
  • 2.Bestellungen

Grund 4 (Einfachheit). Alles zusammengenommen, Tabellennamen, Primärschlüssel, Beziehungen, Entitätsklassen ... ist besser, sich nur eines Namens (Singular) statt zweier (Singular-Klasse, Plural-Tabelle, Singular-Feld, Singular-Plural-Master-Detail) bewusst zu sein. .)

  • Customer
  • Customer.CustomerID
  • CustomerAddress
  • public Class Customer {...}
  • SELECT FROM Customer WHERE CustomerID = 100

Sobald Sie wissen, dass Sie es mit „Kunde“ zu tun haben, können Sie sicher sein, dass Sie dasselbe Wort für alle Ihre Datenbankinteraktionsanforderungen verwenden werden.

Grund 5 . (Globalisierung). Die Welt wird kleiner, Sie haben vielleicht ein Team aus verschiedenen Nationalitäten, nicht jeder hat Englisch als Muttersprache. Es wäre für einen nicht englischsprachigen Programmierer einfacher, an "Repository" als an "Repositories" oder an "Status" statt an "Status" zu denken. Namen im Singular zu verwenden, kann zu weniger Fehlern durch Tippfehler führen, Zeit sparen, da Sie nicht denken müssen, „Ist es Kind oder Kinder?“, und somit die Produktivität steigern.

Grund 6 . (Warum nicht?). Es kann Ihnen sogar Schreibzeit und Speicherplatz sparen und sogar die Lebensdauer Ihrer Computertastatur verlängern!

  • SELECT Customer.CustomerName FROM Customer WHERE Customer.CustomerID = 100
  • SELECT Customers.CustomerName FROM Customers WHERE Customers.CustomerID = 103

Sie haben 3 Buchstaben, 3 Bytes, 3 zusätzliche Tastatureingaben gespeichert :)

Und schließlich können Sie diejenigen benennen, die mit reservierten Namen herumspielen wie:

  • Benutzer> LoginUser, AppUser, SystemUser, CMSUser,...

Oder verwenden Sie die berüchtigten eckigen Klammern [Benutzer]