Welchem Standard sollte ich beim Benennen von Tabellen und Ansichten folgen? Ist es zum Beispiel eine gute Idee, so etwas wie tbl_ am Anfang von Tabellennamen zu setzen? Soll ich Code- / Nachschlagetabellen wie ct_, lut_ oder codes_ bezeichnen? Gibt es noch andere Verbote?
Ich benutze MS SQL Server und habe viele Datenbanken mit vielen Tabellen, daher wäre es schön, etwas zu haben, das wir als Standard mit einigen unterstützenden Rationalen verwenden können.
quelle
orders
nichtorder
geändert, und es wird vermieden, dass der Tabellenname bei jedem Benutzer in Anführungszeichen gesetzt werden muss. Dies gilt auch fürgroup
und andere Keywords. Glücklicherweise kollidieren nur wenige Keywords mit gemeinsamen Entitäten.Wir verwenden Schemas (in SQL stellen wir sie uns vielleicht als Namespaces vor) sowohl für Berechtigungen als auch für Gruppierungen. Also statt "tbl" etc haben wir
In das Datenschema geht kein Code ein. Außerhalb des Datenschemas befinden sich keine Tabellen. Dies kann natürlich erweitert werden, um ein Lookup- oder Staging-Schema zu haben, wenn Sie dies wünschen.
Für Ansichten, die wir verwenden
vw
, wurde dies jedoch verwendet, um sie von Tabellen in SQL Server 2000 zu unterscheiden, und es ist jetzt ein bisschen Legacyquelle
Persönlich bin ich ein großer Fan der Fanö-Bedingung , was bedeutet, dass kein Name der Anfang eines anderen gültigen Namens sein darf.
Und zweitens ist der Hamming-Abstand zwischen zwei Namen besser als ein Buchstabe.
Ja, das ist die Regel aus vordigitalen Zeiten, aber sie machen das Leben leichter.
Und dritte Namen müssen aussprechbar sein, sonst werden Sie verrückt, wenn die Spracherkennung wahr wird.
quelle
Ich weiß nicht, dass es da draußen wirklich eine "beste" Namenskonvention gibt, da es wirklich auf die persönlichen Vorlieben und die Leichtigkeit der Entwicklung ankommt. Mein Rat ist, eine Namenskonvention zu wählen und diese einzuhalten. Wenn Sie Wörter mit einem Unterstrich trennen möchten, tun Sie dies in all Ihren Datenbankobjekten. Wenn Sie camelCase verwenden möchten, tun Sie dies in allen Ihren Datenbankobjekten.
In meinem Shop halten wir uns an folgende Regeln:
Wir trennen Wörter mit Unterstrichen und verwenden alle Kleinbuchstaben.
Unsere Tabellennamen beschreiben, was sie sind: dbo.person, dbo.invoice.
Unsere Many-to-Many -Tabellennamen beschreiben auch, was sie sind (mit dem Zusatz mm, um anzugeben, dass eine Many-to-Many-Beziehung abgebildet wird: dbo.person_mm_address. Unsere benutzerdefinierten gespeicherten Prozeduren beschreiben sowohl das Objekt als auch die auszuführende Aktion: usp_person_select , usp_address_select_by_city Unsere Ansichten und Funktionen folgen den gleichen Regeln wie gespeicherte Prozeduren: Unsere Indizes umfassen Tabelle, Schlüsselspalten (in Reihenfolge) und eine Angabe von gruppiert / nicht gruppiert: ix_person_last_name_first_name_nc
Nur weil dies das ist, was wir in meinem Shop verwenden, heißt das nicht, dass diese Regeln für Sie richtig sind. Wählen Sie etwas aus, von dem Sie und Ihr Entwicklungsteam überzeugt sind, dass es nützlich und einfach zu entwickeln ist, und schaffen Sie eine Kultur des Wissens und der Verwendung der von Ihnen festgelegten Namenskonventionen. In unserem Fall umfasst dies die Codeüberprüfung für alle in einer Datenbank erstellten Objekte. Im Laufe der Zeit hat die Kombination aus dokumentierter Namenskonvention und Peer-Code-Überprüfung zu immer weniger Abweichungen von der Konvention geführt.
Ich hoffe, dass diese "Nicht-Antwort" irgendwie hilft.
quelle
Damit bin ich seit Jahren zufrieden
Wenn Sie ein günstiges Shared-Hosting-Paket haben, müssen Sie die Projektabkürzung vor allen Ihren Objekten verwenden, z. B. Datenbankadministrator-Site, da_users, da_questions
quelle
product_groupv
und nichtproduct_group_v
für Ansichten (wenn Sie auf dieser Unterscheidung von Ansichten und Tabellen bestehen)?