Ein Schema wird in Post­greS­QL genutzt, um mehrere Tabellen zu grup­pie­ren und so die Datenbank über­sicht­li­cher zu gestalten. Für die Er­stel­lung wird der Befehl CREATE SCHEMA genutzt. Mit DROP SCHEMA lässt sich ein er­stell­tes Schema jederzeit wieder löschen.

Was ist ein Post­greS­QL-Schema?

Als Schema wird in Post­greS­QL eine Sammlung mehrerer Tabellen be­zeich­net. Ein Schema kann außerdem unter anderem Indizes, Sequenzen, Da­ten­ty­pen und Funk­tio­nen enthalten und ist damit ver­gleich­bar mit einem Ver­zeich­nis, wobei im Gegensatz dazu keine Ver­schach­te­lung möglich ist. Die Methode wird ins­be­son­de­re genutzt, um große Da­ten­ban­ken mit zahl­rei­chen Tabellen einfacher zu verwalten. In der Struktur des Da­ten­bank­ma­nage­ment­sys­tems befindet sich ein Post­greS­QL-Schema zwischen der Ebene der Datenbank und der der einzelnen Tabellen. Der gesamte hier­ar­chi­sche Aufbau sieht fol­gen­der­ma­ßen aus:

  1. Instanz (in Post­greS­QL häufig auch als „Server“ be­zeich­net, der mehrere Da­ten­ban­ken enthalten kann)
  2. Datenbank
  3. Schema
  4. Tabelle
  5. Zeile

Um ein neues Schema in Post­greS­QL zu erstellen, wird der Befehl CREATE SCHEMA genutzt. Mit DROP SCHEMA wird das Schema wieder entfernt. Beide An­wei­sun­gen stellen wir in diesem Artikel näher vor.

Dedicated Server
De­di­zier­te Server mit mo­derns­ten Pro­zes­so­ren
  • 100 % En­ter­pri­se-Hardware
  • Kon­fi­gu­rier­ba­re Hardware-Aus­stat­tung
  • ISO-zer­ti­fi­zier­te Re­chen­zen­tren

SCHEMA in Post­greS­QL: Grund­le­gen­de Syntax

Die Syntax von CREATE SCHEMA in Post­greS­QL ist diese:

CREATE SCHEMA name;
post­gres­ql

Damit weisen Sie die Er­stel­lung eines Schemas in Post­greS­QL an und geben diesem Schema einen eigenen, in der Datenbank ein­zig­ar­ti­gen Namen.

Neuen Tabellen ein Post­greS­QL-Schema zuweisen

Wenn Sie nun mit dem Befehl Post­greS­QL CREATE TABLE eine neue Tabelle erstellen, können Sie diese zu einem bereits exis­tie­ren­den Post­greS­QL-Schema hin­zu­fü­gen. Die ent­spre­chen­de Syntax sieht so aus:

CREATE TABLE ihrschema.neuetabelle (
…
);
post­gres­ql

Um diesen Vorgang zu ver­an­schau­li­chen, zeigen wir Ihnen hier, wie Sie zunächst ein Schema namens „Kunden“ erstellen. Dies ist der Code:

CREATE SCHEMA Kunden;
post­gres­ql

Im Anschluss daran er­schaf­fen Sie eine neue Tabelle namens „Kun­den­lis­te_Deutsch­land“, die Sie in das Post­greS­QL-Schema „Kunden“ einfügen. Dafür verwenden Sie diesen Code:

CREATE TABLE Kunden.Kundenliste_Deutschland(
ID INT PRIMARY KEY NOT NULL,
NAME VARCHAR(50) NOT NULL,
LAND VARCHAR(50),
ADRESSE VARCHAR(255)
);
post­gres­ql

Dadurch erhalten Sie eine neue leere Tabelle, die sich in dem an­ge­ge­be­nen Post­greS­QL-Schema „Kunden“ befindet. Diese können Sie jetzt mit Post­greS­QL INSERT INTO mit Werten befüllen.

Hinweis

Wird kein Schema spe­zi­fi­ziert, werden neue Tabellen au­to­ma­tisch dem Standard-Schema „public“ zu­ge­ord­net.

Schema entfernen mit DROP SCHEMA

Natürlich haben Sie auch die Mög­lich­keit, ein Post­greS­QL-Schema wieder zu löschen. Ist das Schema bereits leer und wird deswegen nicht mehr benötigt, verwenden Sie einfach den Befehl DROP SCHEMA. Für unser Beispiel von oben sieht dieser so aus:

DROP SCHEMA Kunden;
post­gres­ql

Möchten Sie in Post­greS­QL ein Schema und alle darin ent­hal­te­nen Objekte entfernen, ist dies der passende Befehl:

DROP SCHEMA Kunden CASCADE;
post­gres­ql

Diesen Befehl sollten Sie dem­entspre­chend nur mit Vorsicht anwenden, um keine wert­vol­len Daten zu verlieren.

Zum Hauptmenü