Tabellen- und Spaltennamen: Namenskonventionen in PostgreSQL
In PostgreSQL unterliegen Tabellen- und Spaltennamen bestimmten Namenskonventionen. Eine solche Konvention besteht darin, dass diese Namen nicht mit numerischen Zeichen beginnen dürfen. Diese Einschränkung wird durch den SQL-92-Standard definiert (zugänglich unter http://en.wikipedia.org/wiki/SQL-92), der angibt, dass Bezeichner mit einfachen lateinischen Buchstaben beginnen sollten.
Während dieser Benennung Konventionen können von gängigen Praktiken in der Programmierung abweichen, es gibt mehrere Gründe für diese Designwahl.
Identifier Start Characteristics
In SQL-Bezeichner (einschließlich Tabellen- und Spaltennamen) werden als Zeichenfolgen mit bis zu 63 Zeichen definiert. Diese Zeichenfolgen müssen mit lateinischen Buchstaben oder Unterstrichen beginnen, wobei die nachfolgenden Zeichen Buchstaben, Ziffern oder Unterstriche sein müssen.
Syntaxmehrdeutigkeit
Wenn Tabellen- und Spaltennamen beginnen dürfen Bei numerischen Zeichen kann es beim Parsen zu Mehrdeutigkeiten kommen. Betrachten Sie die folgenden Beispiele:
SELECT 2e2 3.4 FROM ...
Bei dieser Abfrage wäre der Parser unsicher, ob 2e2 und 3.4 Spaltennamen oder numerische Ausdrücke darstellen. Wenn Bezeichner mit Buchstaben beginnen, wird die Mehrdeutigkeit beseitigt und der Parser kann die Ausdrücke schnell korrekt identifizieren.
Designkonsistenz
Durch Durchsetzung der Konvention, dass Bezeichner mit Buchstaben beginnen Der SQL-Standard sorgt für Konsistenz beim Parsen und Ausführen. Wenn numerische führende Zeichen zulässig wären, wären zusätzliche Regeln erforderlich, um zwischen Bezeichnern und numerischen Ausdrücken zu unterscheiden, was möglicherweise zu komplexen Parsing-Algorithmen und einer eingeschränkten Lesbarkeit führen würde.
Namen in doppelten Anführungszeichen
Obwohl numerische führende Zeichen standardmäßig nicht zulässig sind, können sie verwendet werden, indem der Name in doppelte Anführungszeichen gesetzt wird. Dadurch wird ein Bezeichner in Anführungszeichen erstellt, der die Standardbenennungskonvention außer Kraft setzt. Beispielsweise kann der Tabellenname 15909434_user mit doppelten Anführungszeichen erstellt werden:
CREATE TABLE "15909434_user" ( ... )
Die Verwendung von doppelten Anführungszeichen bietet Flexibilität und ermöglicht die Erstellung von Namen, die dies tun sich nicht an die Standardkonvention halten. Es ist jedoch wichtig zu beachten, dass zitierte Bezeichner nicht so gut lesbar sind und möglicherweise fehleranfälliger sind.
Das obige ist der detaillierte Inhalt vonWie vermeiden PostgreSQL-Konventionen zur Benennung von Tabellen und Spalten Parsing-Mehrdeutigkeiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!