Met een schema in Post­greSQL kunt u meerdere tabellen groeperen, waardoor databases beter ge­or­ga­ni­seerd en een­vou­di­ger te beheren zijn. U kunt een schema aanmaken met het CREATE SCHEMA. Als u een schema niet langer nodig hebt, kunt u het eenvoudig ver­wij­de­ren met het 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, datatypen 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 genest worden. Deze manier om da­ta­ba­se­ob­jec­ten te ordenen is vooral handig voor het beheer van grote databases met veel tabellen.

Er bestaan schema’s tussen het da­ta­ba­se­ni­veau en de af­zon­der­lij­ke tabellen. 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 aan te maken in Post­greSQL, kun je het CREATE SCHEMA gebruiken. Om een schema te ver­wij­de­ren, gebruik je het DROP SCHEMA. Hieronder zullen we beide commando’s in detail bekijken.

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

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

CREATE SCHEMA name;
post­gresql

Met dit commando geef je Post­greSQL de opdracht om een schema in de database aan te maken. Na het commando zelf moet je een unieke naam aan het schema toekennen.

Hoe wijs je een nieuwe tabel toe aan een Post­greSQL-schema?

Wanneer je nieuwe tabellen aanmaakt met het [Post­greSQL-commando CREATE TABLE](t3://page?uid=37089), kun je deze aan een schema toewijzen. 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 aan 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

Hiermee wordt een lege tabel aan­ge­maakt in het schema customers. Je 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 verwijder je een schema met DROP SCHEMA

Je kunt een Post­greSQL-schema ook ver­wij­de­ren als je het niet meer nodig hebt. Als het schema leeg is, kun je de volgende opdracht gebruiken:

DROP SCHEMA customers;
post­gresql

Gebruik CASCADE om een schema en alle objecten daarin te ver­wij­de­ren:

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