2016-04-19 21 views
0

Hallo alle. Wann immer ich anfange, ein neues Datenmodell für jede mögliche Anwendung zu entwickeln, habe ich die gleiche Frage:Datenmodell. ¿Pluralize oder nicht Plural die Namen der Tabellen?

Ist es bequem Plural die Namen der Tabellen?

Wo die Tabelle gespeichert ist, zum Beispiel Benutzer; Rufen Sie "Benutzer" oder "Benutzer" an?

Ich pluralize nicht, denn mit diesem Datenmodell, I Einheiten für ORM dann erzeugt und es scheint korrektere einen neuen ‚Benutzer‘ zu instanziiert, dass ein neuen ‚Nutzer‘.

Ich würde gerne wissen, dass darüber nachdenken.

Grüße an alle!

+2

Mögliche Duplikat [Table Naming Dilemma: Singular Plural gegen Names] machen (http://stackoverflow.com/questions/338156/ Tabellenname-Dilemma-Singular-vs-Plural-Namen) – SamyQc

+0

@SamyQc Sorry: | – JSGarcia

Antwort

3

Ich denke, es hängt alles davon ab, was Sie sich eigentlich um die Datenbank verwenden für:

ich pluralize nicht, denn mit diesem Datenmodell habe ich dann Entitäten für ORM generiert und es scheint mehr richtig instanziieren Sie einen neuen 'Benutzer', der einen neuen 'Benutzer' erstellt.

Aber Sie geben nicht viele Informationen darüber, welche Sprache Sie neben SQL verwenden, welches Framework, welche Tools.

Ich sage normalerweise, dass das Beste ist, Standards des Frameworks oder ORM zu entsprechen, zum Beispiel in .NET Entity Framework sind die Tabellen generated with a singular notation und Klassennamen, die diesen Tabellen zugeordnet sind auch singular, während in Ruby on Rails ActiveRecord sie sind generated pluralized in der Datenbank, aber Mapping-Klassen sind Singular.

Es gibt keinen besseren Weg, ich denke aber, wenn die Daten für Ihre Anwendung jemals wichtiger sein werden als die Anwendung selbst (wie in, können wir aus diesem Framework oder Sprache zu etwas völlig anderem migrieren) oder wenn Es wird andere geben, die direkt an der Datenbank arbeiten (Leute, die Berichte, Datenbankadministratoren, Analysten usw. machen). Dann würde ich vorschlagen, dass Sie die Tabellen im Plural als Datenbank Leute sind mehr daran interessiert, es so zu verwenden.

Wenn Sie denken auf der Ebene der Datenbank Pluralisierung macht Sinn, eine users Tabelle wird wahrscheinlich mehr als einen Benutzer haben, und so weiter und so weiter. Warum sollten Sie Daten in Tabellenform speichern, wenn Sie nicht mehr als einen Datensatz mit derselben Struktur speichern möchten? Dann macht es Sinn zu pluralieren.

Wenn Sie ein Array Art von Daten in X Sprache erstellen, sagen wir mal, für Benutzer, Sie es nicht nennen user Sie es nennen users wahrscheinlich, weil es mehr als eine enthalten kann, auch wenn Sie nur Speicher eine Sache am Anfang.

Das wäre meine Überlegung, warum Plural einen Tabellennamen ist ein guter Ansatz, außerdem können Sie fast immer Ihre Mappings im ORM einrichten, wenn Plural die Konvention bricht, so dass Sie die User Klasse auf die users Tabelle zum Beispiel.

Update:here is another good discussion auf Stack DBA, wo sie einen Punkt in Bezug auf gemeinsame Verbände

2

Ich denke, die Rails-ähnliche Konvention ist hier am besten. Singulärer Modellname in Ihrem ORM, Pluralname in Ihrer Datenbanktabelle. Der Grund ist, dass sie unterschiedliche Verantwortlichkeiten haben. In der Tabelle werden Datensätze für mehrere Benutzer gespeichert, während Sie - wie Sie angegeben haben - einen einzelnen Benutzer instanziieren.