Laden...

SQL Naming Conventions

Erstellt von dein.Tod vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.112 Views
D
dein.Tod Themenstarter:in
69 Beiträge seit 2008
vor 14 Jahren
SQL Naming Conventions

verwendetes Datenbanksystem: <MS SQL Server 2008>

Hallo,

ich bin schon länger auf der suche nach irgent einem leitfaden wie ich denn meine Tabellen, Views, Stored Proceders etc benennen soll, im web findet man zig verschiedene conventionen und microsoft gibt auch keinen einheitlichen standard vor (z.B. Microsoft CRM - alles lowercase grusel) bisher habe ich ein an .NET angelehntes naming, vermischt mit Microsoft Conventionen - jetzt würde ich gerne mal wissen welche naming conventions ihr verwendet.

Meine Bisherigen

Tabellen: PascalCase, Singular
Views: Siehe Tabellen
Stored Proceders: Leading "sp_" danach PascalCase

Columns: Pascal Case
PK Column: nur Id, kein <Tabellenname>Id
Index: IX_<TabelName>_<ColumnName> (wie management studio das vorgibt)

Bei Risiken oder Nebenwirkungen fressen sie die Packungsbeilage oder schlagen sie ihren Arzt mit ihrem Apoteker.

C
2.121 Beiträge seit 2010
vor 14 Jahren

Ich benenne Tabellen je nach dem Eindruck.
Eigentlich sind ja immer mehrere von irgendwas in einer Tabelle, dann wär ein Name wie "Rechnungen" sinnvoll. Aber zum Beispiel "Konfigurationen" für eine Tabelle mit Einstellungen (da dann doch wieder Mehrzahl 😉 ) klingt einfah blöd.
Bei Spalten ists auch so ne Sache. IDs schreib ich grundsätzlich klein, den Rest groß und mit Großbuchstaben als Worttrenner, sonst erkennt man ja gar nichts mehr.

T
94 Beiträge seit 2007
vor 14 Jahren

Zitat msdn

Es wird nachdrücklich empfohlen, das Präfix sp_ nicht im Prozedurnamen zu verwenden. Dieses Präfix wird von SQL Server verwendet, um gespeicherte Systemprozeduren zu bestimmen.

D
dein.Tod Themenstarter:in
69 Beiträge seit 2008
vor 14 Jahren

Zitat msdn

Es wird nachdrücklich empfohlen, das Präfix sp_ nicht im Prozedurnamen zu verwenden. Dieses Präfix wird von SQL Server verwendet, um gespeicherte Systemprozeduren zu bestimmen.

ok wusst ich nicht - hab ich mir auch erst vor kurzem angewönt, weil ich eben gesehen hab das es der sql server so macht ^^. Naja was anderes suchen.

Bei Risiken oder Nebenwirkungen fressen sie die Packungsbeilage oder schlagen sie ihren Arzt mit ihrem Apoteker.

M
198 Beiträge seit 2007
vor 14 Jahren

Afaik ist im .Net / SqlServer Bereich folgendes vermehrt anzutreffen:

Entity - Tabellen (Englisch, PascalCase, Plural)
Customers
Orders

M:N Tabellen
Einen "vernünftigen" neuen Begriff für diese Relation erstellen oder aber aus den teilnehmenden Tabellen zusammengesetzt:
CustomersAddresses
UsersRoles
oder
CustomersToAddresses
UsersToRoles
oder
CustomerAddresses
UserRoles
oder
Customers_Addresses
Users_Roles

Spalten (PascalCase, Singular)
FirstName
LastName

**Primary Key Spalte **
Id
oder
CustomerId (Tabellenname + Id)

Foreign Key Spalte
CustomerId
FKCustomerId
Customer