Frage

Welchen Standard sollte ich folgen, wenn ich Tische und Ansichten benennen soll? Ist es zum Beispiel eine gute Idee, am Anfang von Tabellennamen so etwas wie TBL_ zu setzen? Sollte ich Code/Lookup -Tabellen in irgendeiner Weise wie CT_, LUT_ oder codes_ festlegen? Gibt es noch andere Do/Don'ts?

Ich verwende 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.

War es hilfreich?

Lösung

Ok, stelle TBL zuerst nie vor den Namen eines Tisches. Es ist ein Tisch, das jetzt schon. Das nennt man ungarische Notation, und die Leute haben das vor mehr als 5 Jahren aufgehört.

Rufen Sie einfach das Objekt anhand dessen an, was es ist. Wenn in einer Tabelle Mitarbeiterdaten enthält, rufen Sie sie "Mitarbeiter" an. Wenn Informationen zu Computern enthalten sind, nennen Sie es "Computer". Wenn es Computer den Mitarbeitern ordnet, nennen es "Arbeitnehmer" oder "computerarbeiterin" (persönlich mag ich "Arbeitnehmer" besser).

Es gibt keine wirkliche richtige Namenskonvention zu verwenden (abgesehen davon, dass sie keine ungarische Notation verwenden). Solange die Objektnamen sinnvoll sind, dass es wichtig ist.

Andere Tipps

Wir verwenden Schemata (denken Sie sie vielleicht als Namespaces in SQL) sowohl für Berechtigungen als auch für die Gruppierung. Also statt "TBL" usw. haben wir

  • Daten.Thing
  • Data.ThingHistory
  • Daten.Stuff

Kein Code geht in das Datenschema ein. Keine Tabellen leben außerhalb des Datenschemas. Dies kann natürlich erweitert werden, um ein Such- oder Staging -Schema zu haben, wenn Sie dies wünschen.

Für Ansichten, die wir verwenden vw Dies sollte sie jedoch von Tabellen in SQL Server 2000 unterscheiden, und es ist jetzt ein bisschen Vermächtnis

Persönlich bin ich ein großer Fan der Fanö Bedingung, Dies bedeutet hier, dass nicht der Name der Beginn eines anderen gültigen Namens sein darf.

Und zweitens ist der Hamming -Abstand zwischen zwei Namen besser als ein anderer Buchstaben.

Ja, das sind die Regel aus den prädigitalen Zeiten, aber sie erleichtern das Leben.

Und dritte Namen müssen ausgesprochen sein, oder Sie werden verrückt, wenn die Spracherkennung wahr wird.

Ich weiß nicht, dass es da draußen wirklich eine "beste" Namenskonvention gibt, da sie wirklich auf persönliche Präferenz und Leichtigkeit der Entwicklung hinausgeht. Mein Rat ist, eine Namenskonvention auszuwählen und sich daran zu halten. Wenn Sie Wörter mit einem Unterstrich trennen möchten, tun Sie dies in allen Ihren Datenbankobjekten. Wenn Sie Camelcase verwenden möchten, tun Sie dies in allen Ihren Datenbankobjekten.

In meinem Geschäft halten wir uns an die folgenden Regeln:

Wir trennen Wörter mit Unterstrichen und verwenden alle Buchstaben mit niedrigeren Fällen.
Unsere Tabellennamen beschreiben, was sie sind: dbo.person, dbo.invoice.
Unsere vielen zu viele Tabellennamen beschreiben auch, was sie sind (mit der Hinzufügung von mm Um anzuzeigen, dass viele bis viele Beziehunge zugeordnet werden: dbo.person_mm_address. Unsere benutzerdefinierten gespeicherten Prozeduren beschreiben sowohl das Objekt als auch die ausführte 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 der Reihenfolge) und ein Hinweis auf Clustered/Nichtklustered: ix_person_last_name_first_name_nc

Nur weil wir dies in meinem Geschäft verwenden, heißt das nicht, dass diese Regeln für Sie geeignet sind. Wählen Sie etwas aus, von dem Sie und Ihr Entwicklungsteam einverstanden sind, dass Sie nützlich und leicht zu entwickeln sind, und erstellen Sie eine Kultur des Wissens und Verwendens der Namenskonvention, über die Sie sich entscheiden. In unserem Fall umfasst dies die Codeüberprüfung für alle in einer Datenbank erstellten Objekte. Im Laufe der Zeit hat die Kombination einer dokumentierten Namenskonvention und Peer -Code -Überprüfung zu immer weniger Abweichungen vom Konvention geführt.

Ich hoffe, dass dieser "Nicht-Antworten" irgendwie hilft.

Ich bin damit zufrieden mit diesen vor Jahren

  • Tischnamen: kleine Kappen und Unterstriche, Singular {Kunden, Produkt}
  • Tabellennamen für viele zu vielen Beziehungen: tableName1_tableName2: {customer_product}
  • Ansichten: Kleine Kappen fügte V zum Ende {Customerv, productv, product_groupv} hinzu.
  • Speicherte Prokuduren: Tabellenname und Funktion {Customer_Select, Customer_insert, Customer_Delete, Customer_Update}

Wenn Sie ein günstiges gemeinsam genutztes Hosting -Paket haben, müssen Sie die Projektabkürzung vor allen Ihren Objekten verwenden, z.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit dba.stackexchange
scroll top