Wo finde ich ein detailliertes Handbuch zu PostgreSQL-Namenskonventionen? (Tabellennamen vs. Kamelfall, Sequenzen, Primärschlüssel, Einschränkungen, Indizes usw.)
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
UPDATE my_table SET name = 5;
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
oder PascalCase
(oder UPPER_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 .
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
und mytable
sind alle das Gleiche, aber "MYTABLE"
und "MyTable"
unterschiedlich sind;
Sofern nicht doppelt zitiert:
SQL-Bezeichner und Schlüsselwörter müssen mit einem Buchstaben (az, aber auch Buchstaben mit diakritischen Zeichen und nicht-lateinischen Buchstaben) oder einem Unterstrich (_) beginnen. Nachfolgende Zeichen in einem Bezeichner oder Schlüsselwort können Buchstaben, Unterstriche, Ziffern (0-9) oder Dollarzeichen ($) sein.
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.
lower_case_underscore_separated_identifiers
" ... vor kurzem hörte ich dies als "Schlangenfall" beschrieben