Met een schema in Post­greSQL kunt u meerdere tabellen groeperen, waardoor u databases beter kunt or­ga­ni­se­ren en beheren. U kunt een schema aanmaken met het commando CREATE SCHEMA. Als u een schema niet meer nodig hebt, kunt u het eenvoudig ver­wij­de­ren met het commando DROP SCHEMA.

Wat is een Post­greSQL-schema?

In Post­greSQL is een schema een ver­za­me­ling tabellen. Het kan ook indexen, reeksen, ge­ge­vens­ty­pen en functies bevatten, waardoor het ver­ge­lijk­baar is met een map. In te­gen­stel­ling tot mappen kunnen schema’s echter niet worden genest. Deze methode om da­ta­ba­se­ob­jec­ten te or­ga­ni­se­ren is vooral handig voor het beheer van grote databases met veel tabellen.

Schema’s bestaan tussen het da­ta­ba­se­ni­veau en de in­di­vi­du­e­le tabel. Hier volgt een overzicht van de volledige hi­ë­rar­chi­sche structuur van het populaire da­ta­ba­se­be­heer­sys­teem:

  1. Instance (in Post­greSQL vaak aangeduid als de server, bevat meerdere databases)
  2. Database
  3. Schema
  4. Tabel
  5. Rij

Om een nieuw schema in Post­greSQL aan te maken, kunt u het commando CREATE SCHEMA gebruiken. Om een schema te ver­wij­de­ren, gebruikt u het commando DROP SCHEMA. Hieronder gaan we beide commando’s in detail bekijken.

Wat is de syntaxis voor Post­greSQL-schema’s?

De syntaxis voor het maken van een schema in Post­greSQL is als volgt:

CREATE SCHEMA name;
post­gresql

Dit commando geeft Post­greSQL de opdracht om een schema in de database aan te maken. Na het commando zelf moet u een unieke naam aan het schema toekennen.

Hoe een nieuwe tabel toewijzen aan een Post­greSQL-schema

Wanneer u nieuwe tabellen aanmaakt met behulp van het Post­greSQL CREATE TABLE- commando, kunt u deze toewijzen aan een schema. De syntaxis hiervoor ziet er als volgt uit:

CREATE TABLE your_schema.new_table (
…
);
post­gresql

Om te laten zien hoe dit werkt, maken we eerst een schema met de naam customers:

CREATE SCHEMA customers;
post­gresql

Maak ver­vol­gens een nieuwe tabel met de naam customer_list_uk en voeg deze toe aan het schema customers:

CREATE TABLE customers.customer_list_uk (
id INT PRIMARY KEY NOT NULL,
name VARCHAR(50) NOT NULL,
country VARCHAR(50),
address VARCHAR(255)
);
post­gresql

Hierdoor wordt een lege tabel aan­ge­maakt in het schema customers. U kunt deze tabel nu vullen met behulp van het Post­greSQL -commando INSERT INTO.

Opmerking

Als er geen schema is opgegeven, worden nieuwe tabellen au­to­ma­tisch toe­ge­we­zen aan het stan­daard­sche­ma (public).

Hoe een schema met DROP SCHEMA ver­wij­de­ren

U kunt ook een Post­greSQL-schema ver­wij­de­ren als u het niet langer nodig hebt. Als het schema leeg is, kunt u de volgende opdracht gebruiken:

DROP SCHEMA customers;
post­gresql

Om een schema en alle objecten daarin te ver­wij­de­ren, gebruikt u CASCADE:

DROP SCHEMA customers CASCADE;
post­gresql

Dit commando ver­wij­dert het schema en alle bij­be­ho­ren­de gegevens de­fi­ni­tief, dus wees voor­zich­tig bij het gebruik ervan.

Ga naar hoofdmenu