Ich arbeite in einem Datenbank-Supportteam mit drei DBAs und wir haben folgende Optionen in Betracht gezogen:
- Jede Benennungsnorm ist besser als keine Norm.
- Es gibt keinen "einzig wahren" Standard, wir alle haben unsere Vorlieben
- Wenn es bereits einen Standard gibt, sollten Sie ihn verwenden. Schaffen Sie keinen neuen Standard und verwässern Sie die bestehenden Standards nicht.
Wir verwenden Singularnamen für Tabellen. Den Tabellen wird in der Regel der Name des Systems (oder sein Akronym) vorangestellt. Dies ist nützlich, wenn das System komplex ist, da Sie das Präfix ändern können, um die Tabellen logisch zusammenzufassen (z. B. reg_customer, reg_booking und regadmin_limits).
Bei Feldern erwarten wir, dass die Feldnamen das Präfix/die Abkürzung der Tabelle enthalten (z. B. cust_address1), und wir bevorzugen auch die Verwendung eines Standardsatzes von Suffixen (_id für die PK, _cd für "Code", _nm für "Name", _nb für "Nummer", _dt für "Datum").
Der Name des Feldes "Fremdschlüssel" sollte derselbe sein wie der des Feldes "Primärschlüssel".
d.h.
SELECT cust_nm, cust_add1, booking_dt
FROM reg_customer
INNER JOIN reg_booking
ON reg_customer.cust_id = reg_booking.cust_id
Wenn Sie ein neues Projekt entwickeln, empfehle ich Ihnen, alle bevorzugten Entitätsnamen, Präfixe und Akronyme aufzuschreiben und dieses Dokument an Ihre Entwickler weiterzugeben. Wenn sie dann beschließen, eine neue Tabelle zu erstellen, können sie sich auf das Dokument beziehen, anstatt zu "raten", wie die Tabelle und die Felder heißen sollten.
8 Stimmen
Ich denke, wir sollten den Plural für Tabellen und den Singular für Spalten verwenden.
7 Stimmen
Ich sehe eine Tabelle als "Speicher" mit mehreren Elementen, nicht als einzelne "Entität", daher nenne ich sie im Plural. Wenn ich Tabellen in Objekte umwandeln würde, würde ich die Objekte im Singular benennen. Dies ist nur meine persönliche Meinung.
4 Stimmen
@Tryinko Die Verwendung von ID überall ist die Hölle auf Erden für jeden, der mehrere Tabellen verknüpft. Der kleine Vorteil, dass man weiß, dass es sich um die PK handelt, wiegt auf keinen Fall den unglaublichen Ärger auf, die verdammte ID-Spalte in jeder verdammten Abfrage immer und immer wieder neu zu kalibrieren. Wenn Sie eine Möglichkeit wollen, PK in einer Tabelle zu kennzeichnen, machen Sie sie zur ersten Spalte. Auch die Angabe von FKs in den Namen von Spalten ist meiner Meinung nach ein weiteres böses Anti-Pattern.
2 Stimmen
Werfen Sie einen Blick auf diese Antwort .
1 Stimmen
Was die Groß- und Kleinschreibung angeht, schlage ich snake_case vor, damit Sie sich nicht um die Großschreibung von Akronymen kümmern müssen, wie es bei PascalCase der Fall ist. Beispiel: PHPVersion oder PhpVersion? In snake case heißt es eindeutig php_version, usw.
1 Stimmen
sqlshack.com/learn-sql-naming-konventionen fand dies hilfreich