Wo finde ich ein detailliertes Handbuch zu PostgreSQL-Namenskonventionen? (Tabellennamen vs. Kamelfall, Sequenzen, Primärschlüssel, Einschränkungen, Indizes usw.)
191
Wo finde ich ein detailliertes Handbuch zu PostgreSQL-Namenskonventionen? (Tabellennamen vs. Kamelfall, Sequenzen, Primärschlüssel, Einschränkungen, Indizes usw.)
Antworten:
In Bezug auf Tabellennamen, Groß- und Kleinschreibung usw. gilt folgende Konvention:
UPPER CASE
lower_case_with_underscores
Zum Beispiel :
Dies ist nicht in Stein gemeißelt, aber das bisschen über Bezeichner in Kleinbuchstaben wird dringend empfohlen, IMO. Postgresql behandelt Bezeichner in Groß- und Kleinschreibung, wenn sie nicht in Anführungszeichen gesetzt werden (es faltet sie tatsächlich intern in Kleinbuchstaben) und in Groß- und Kleinschreibung, wenn sie in Anführungszeichen gesetzt werden. Viele Menschen sind sich dieser Eigenart nicht bewusst. Wenn Sie immer Kleinbuchstaben verwenden, sind Sie sicher. Wie auch immer, es ist akzeptabel,
camelCase
oderPascalCase
(oderUPPER_CASE
) zu verwenden, solange Sie konsistent sind: entweder immer oder nie Anführungszeichen (und dies schließt die Schemaerstellung ein!).Viele weitere Konventionen oder Styleguides sind mir nicht bekannt. Ersatzschlüssel werden normalerweise aus einer Sequenz erstellt (normalerweise mit dem
serial
Makro). Es ist praktisch, diese Benennung für diese Sequenzen beizubehalten, wenn Sie sie von Hand erstellen (tablename_colname_seq
).Siehe auch einige Diskussionen hier , hier und (für allgemeines SQL) hier , alle mit mehreren verwandten Links.
Hinweis: In Postgresql 10 wurden
identity
Spalten als SQL-kompatibler Ersatz für serielle Dateien eingeführt .quelle
Es gibt nicht wirklich ein formelles Handbuch, weil es keinen einzigen Stil oder Standard gibt.
Solange Sie die Regeln für die Benennung von Bezeichnern verstehen , können Sie alles verwenden, was Sie möchten.
In der Praxis finde ich es einfacher zu bedienen,
lower_case_underscore_separated_identifiers
weil es nicht"Double Quote"
überall notwendig ist, Gehäuse, Räume usw. zu bewahren.Wenn Sie Ihre Tabellen und Funktionen benennen möchten, können
"@MyAṕṕ! ""betty"" Shard$42"
Sie dies tun, obwohl es mühsam wäre, überall zu tippen.Die wichtigsten Dinge zu verstehen sind:
Es sei denn , in doppelten Anführungszeichen, Bezeichner sind case-gefaltet in Kleinbuchstaben, so
MyTable
,MYTABLE
undmytable
sind alle das Gleiche, aber"MYTABLE"
und"MyTable"
unterschiedlich sind;Sofern nicht doppelt zitiert:
Sie müssen Schlüsselwörter in doppelte Anführungszeichen setzen, wenn Sie sie als Bezeichner verwenden möchten.
In der Praxis empfehle ich dringend , dass Sie nicht verwenden Schlüsselwörter als Bezeichner. Vermeiden Sie zumindest reservierte Wörter. Nur weil Sie eine Tabelle benennen können,
"with"
heißt das nicht, dass Sie es sollten.quelle
lower_case_underscore_separated_identifiers
" ... vor kurzem hörte ich dies als "Schlangenfall" beschrieben