PostgreSQL-Namenskonventionen

David Mbochi Njonge 20 Juni 2023
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 Mbochi Njonge avatar David Mbochi Njonge avatar

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