PostgreSQL - Schema

EIN schemaist eine benannte Sammlung von Tabellen. Ein Schema kann auch Ansichten, Indizes, Sequenzen, Datentypen, Operatoren und Funktionen enthalten. Schemas sind analog zu Verzeichnissen auf Betriebssystemebene, außer dass Schemas nicht verschachtelt werden können. PostgreSQL-Anweisung CREATE SCHEMA erstellt ein Schema.

Syntax

Die grundlegende Syntax von CREATE SCHEMA lautet wie folgt:

CREATE SCHEMA name;

Wobei name der Name des Schemas ist.

Syntax zum Erstellen einer Tabelle im Schema

Die grundlegende Syntax zum Erstellen einer Tabelle im Schema lautet wie folgt:

CREATE TABLE myschema.mytable (
...
);

Beispiel

Sehen wir uns ein Beispiel zum Erstellen eines Schemas an. Stellen Sie eine Verbindung zur Datenbank testdb her und erstellen Sie ein Schema- Myschema wie folgt:

testdb=# create schema myschema;
CREATE SCHEMA

Die Meldung "SCHEMA ERSTELLEN" zeigt an, dass das Schema erfolgreich erstellt wurde.

Lassen Sie uns nun eine Tabelle im obigen Schema wie folgt erstellen:

testdb=# create table myschema.company(
   ID   INT              NOT NULL,
   NAME VARCHAR (20)     NOT NULL,
   AGE  INT              NOT NULL,
   ADDRESS  CHAR (25),
   SALARY   DECIMAL (18, 2),
   PRIMARY KEY (ID)
);

Dadurch wird eine leere Tabelle erstellt. Sie können die mit dem folgenden Befehl erstellte Tabelle überprüfen -

testdb=# select * from myschema.company;

Dies würde das folgende Ergebnis erzeugen -

id | name | age | address | salary
----+------+-----+---------+--------
(0 rows)

Syntax zum Löschen des Schemas

Verwenden Sie den Befehl -, um ein Schema zu löschen, wenn es leer ist (alle darin enthaltenen Objekte wurden gelöscht).

DROP SCHEMA myschema;

Verwenden Sie den Befehl -, um ein Schema mit allen enthaltenen Objekten zu löschen.

DROP SCHEMA myschema CASCADE;

Vorteile der Verwendung eines Schemas

  • Es ermöglicht vielen Benutzern, eine Datenbank zu verwenden, ohne sich gegenseitig zu stören.

  • Es organisiert Datenbankobjekte in logischen Gruppen, um sie übersichtlicher zu gestalten.

  • Anwendungen von Drittanbietern können in separate Schemas eingefügt werden, damit sie nicht mit den Namen anderer Objekte kollidieren.