13 Stimmen

Benennung von Primärschlüsseln "id" vs. "something_id" in SQL

Ich frage mich, was die beste Praxis für die Benennung von Primär-/Einzelschlüsseln in einer Datenbank mit vielen Tabellen ist. Sollten Sie immer nur den Primärschlüssel jeder Tabelle nennen id oder ist es in Ordnung, keine zu haben id Feld in jeder Tabelle und benennen Sie einfach jedes davon something1_id , something2_id usw.

17voto

KM. Punkte 98297

Was auch immer Sie tun, entscheiden Sie sich für das eine oder das andere und halten Sie sich an diesen Standard. Jede hat ihre Vor- und Nachteile.

Ich bevorzuge SomethingID aber andere Leute bevorzugen nur ID . In dem System, mit dem ich arbeite, gibt es weit über tausend Tabellen, und wenn PK und FK exakt die gleichen Namen haben, ist es einfacher.

14voto

Brendan Punkte 3375

Das ist eine persönliche Vorliebe. Letzten Endes macht es absolut keinen Unterschied. Ich persönlich bevorzuge die Verwendung von nur Id da ich finde, dass die Bezugnahme auf das Feld (z.B. Customer Tisch und Id Feld) Customer.CustomerId umständlich zu sein, wobei Customer.Id scheint mehr Sinn zu machen.

6voto

Jonathan Wood Punkte 61798

Es est eine Frage der Vorliebe; allerdings hat die Verwendung von (something)ID den Vorteil, dass die Spaltennamen weniger mehrdeutig werden, wenn Sie Joins zwischen Tabellen durchführen.

1voto

Jon Friskics Punkte 292

id ist nur eine praktische Konvention - Sie können das Feld beliebig nennen, solange Sie es als Schlüsselfeld deklarieren.

Das Voranstellen der ID mit einem relevanten Kontext kann beim Lesen und Schreiben Ihres Codes hilfreich sein und verbessert insbesondere die Lesbarkeit, wenn Sie Daten aus mehreren Tabellen und Fremdschlüsseln verbinden.

-3voto

Angelo Fuchs Punkte 9547

Ich würde vorschlagen, dass Sie eine Abkürzung für lange Namen verwenden und (etwas) Id (wie user_id ) für reguläre Tabellen. Also für die Tabelle customer_company_relation_metadata verwenden. ccm_id . Aber es ist in Ordnung zu verwenden id außerdem

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X