PostgreSQL-Namenskonventionen
Die Benennung ist sehr wichtig, da sie anderen Entwicklern hilft, mit Ihrer Datenbank zu interagieren, damit sie die Datenbankkomponenten leicht lesen und verstehen können. In diesem Tutorial werden die Namenskonventionen erläutert, die wir verwenden können, um Datenbanken
, Tabellen
, Sequenzen
, Primärschlüssel
, Einschränkungen
und Indizes
zu benennen.
PostgreSQL-Namenskonventionen
Laut PostgreSQL-Dokumentation gibt es keinen definierten Standard für die Namenskonvention, aber solange Sie mit den Benennungsregeln für Bezeichner vertraut sind, können Sie jeden Namensansatz verwenden, den Sie für geeignet halten.
Verwenden Sie den folgenden Befehl, um sich bei Ihrem PostgreSQL-Server anzumelden.
david@david-HP-ProBook-6470b:~$ psql -U postgres
Erstellen Sie eine Datenbank, die wir verwenden, um die Namenskonventionen zu testen.
postgres=# create database NAMING_CONVENTION_DB;
CREATE DATABASE
Beachten Sie, dass, obwohl wir Großbuchstaben zum Benennen der Datenbank verwendet haben, der Datenbankname standardmäßig in Kleinbuchstaben umgewandelt wird. Um dies zu überprüfen, verwenden Sie den Befehl \l
, um die Datenbanken auf dem PostgreSQL-Server aufzulisten.
postgres=# \l
Ausgang:
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
----------------------+----------+----------+-------------+-------------+-----------------------
naming_convention_db | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(4 rows)
Die zurückgegebene Tabelle zeigt die verschiedenen auf dem PostgreSQL-Server erstellten Datenbanken und ihre Benutzer. Die soeben erstellte Datenbank heißt naming_convention_db
.
Verwenden Sie den folgenden Befehl, um eine Verbindung zur Datenbank naming_convention_db
herzustellen, wodurch sichergestellt wird, dass unsere Abfragen in der richtigen Datenbank ausgeführt werden.
postgres=# \c naming_convention_db;
You are now connected to database "naming_convention_db" as user "postgres".
Die Namenskonvention UPPER_CASE
ist die beliebteste Methode, die von Entwicklern verwendet wird, um keywords
zu benennen.
naming_convention_db=# CREATE TABLE employee(
naming_convention_db(# id SERIAL,
naming_convention_db(# first_name VARCHAR(30),
naming_convention_db(# last_name VARCHAR(30),
naming_convention_db(# email VARCHAR(50),
naming_convention_db(# PRIMARY KEY(id));
CREATE TABLE
Im obigen Beispiel haben wir die folgenden Schlüsselwörter: CREATE
, TABLE
, SERIAL
, VARCHAR
und PRIMARY KEY
. Beachten Sie, dass die Wörter großgeschrieben werden, da sie Schlüsselwörter für eine bestimmte Funktion im Datenbankverwaltungssystem bezeichnen.
Die Namenskonvention Kleinbuchstaben_mit_Unterstrich
ist die beliebteste Methode, die von Entwicklern verwendet wird, um Bezeichner
zu benennen.
naming_convention_db=# CREATE SEQUENCE employee_sequence
naming_convention_db-# INCREMENT 5
naming_convention_db-# START 10;
CREATE SEQUENCE
Wir haben eine Kennung für eine SEQUENCE
mit Kleinbuchstaben und einem Unterstrich erstellt, der im obigen Beispiel durch employee_underscore
gekennzeichnet ist. Wenn Sie möchten, dass Ihre Bezeichner case-sensitiv
sind, können Sie bei der Benennung der Bezeichner doppelte Anführungszeichen verwenden.
naming_convention_db=# CREATE TABLE "EMPLOYEE"(
naming_convention_db(# first_name VARCHAR(30),
naming_convention_db(# last_name VARCHAR(30),
naming_convention_db(# email VARCHAR(50),
naming_convention_db(# id SERIAL,
naming_convention_db(# PRIMARY KEY(id));
CREATE TABLE
Das obige Beispiel erstellt eine weitere Mitarbeitertabelle in unserer Datenbank mit einem großgeschriebenen Bezeichner namens MITARBEITER
.
Verwenden Sie den folgenden Befehl, um alle Tabellen in unserer Datenbank anzuzeigen.
naming_convention_db=# \dt
Ausgang:
List of relations
Schema | Name | Type | Owner
--------+----------+-------+----------
public | EMPLOYEE | table | postgres
public | employee | table | postgres
(2 rows)
Wenn Sie eine Kennung nicht angeben, wird sie standardmäßig in Kleinbuchstaben gespeichert. Daher sind die Namen Mitarbeiter
, MITARBEITER
und MITARBEITER
gleich.
Das bedeutet, dass bei den Bezeichnern die Groß-/Kleinschreibung nicht beachtet wird, wenn sie nicht in Anführungszeichen gesetzt werden. Wir sollten auch die Verwendung von Bezeichnern in Anführungszeichen mit demselben Namen wie Schlüsselwörter vermeiden, um sicherzustellen, dass keine syntaktischen Fehler auftreten.
Beispielsweise sollte die folgende Datendefinitionssprache vermieden werden, da sie zu Anomalien in unseren Abfragen führen kann.
naming_convention_db=# CREATE SEQUENCE "serial"
naming_convention_db-# INCREMENT 5
naming_convention_db-# START 10;
SERIAL
ist ein Schlüsselwort, das eine andere Funktionalität in der Datenbank interpretiert, und die Verwendung von Bezeichnern in Anführungszeichen zum Erstellen einer anderen seriellen Eigenschaft könnte potenzielle Fehler verursachen.
David is a back end developer with a major in computer science. He loves to solve problems using technology, learning new things, and making new friends. David is currently a technical writer who enjoys making hard concepts easier for other developers to understand and his work has been published on multiple sites.
LinkedIn GitHub