Hoe PostgreSQL-schema’s te gebruiken
Met een schema in PostgreSQL kunt u meerdere tabellen groeperen, waardoor databases beter georganiseerd en eenvoudiger te beheren zijn. U kunt een schema aanmaken met het CREATE SCHEMA. Als u een schema niet langer nodig hebt, kunt u het eenvoudig verwijderen met het DROP SCHEMA.
Wat is een PostgreSQL-schema?
In PostgreSQL is een schema een verzameling tabellen. Het kan ook indexen, reeksen, datatypen en functies bevatten, waardoor het vergelijkbaar is met een map. In tegenstelling tot mappen kunnen schema’s echter niet genest worden. Deze manier om databaseobjecten te ordenen is vooral handig voor het beheer van grote databases met veel tabellen.
Er bestaan schema’s tussen het databaseniveau en de afzonderlijke tabellen. Hier volgt een overzicht van de volledige hiërarchische structuur van het populaire databasebeheersysteem:
- Instance (in PostgreSQL vaak aangeduid als de server; bevat meerdere databases)
- Database
- Schema
- Tabel
- Rij
Om een nieuw schema aan te maken in PostgreSQL, kun je het CREATE SCHEMA gebruiken. Om een schema te verwijderen, gebruik je het DROP SCHEMA. Hieronder zullen we beide commando’s in detail bekijken.
Wat is de syntaxis voor PostgreSQL-schema’s?
De syntaxis voor het aanmaken van een schema in PostgreSQL is als volgt:
CREATE SCHEMA name;postgresqlMet dit commando geef je PostgreSQL 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 PostgreSQL-schema?
Wanneer je nieuwe tabellen aanmaakt met het [PostgreSQL-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 (
…
);postgresqlOm te laten zien hoe dit werkt, maken we eerst een schema met de naam customers:
CREATE SCHEMA customers;postgresqlMaak vervolgens 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)
);postgresqlHiermee wordt een lege tabel aangemaakt in het schema customers. Je kunt deze tabel nu vullen met behulp van het PostgreSQL-commando INSERT INTO.
Als er geen schema is opgegeven, worden nieuwe tabellen automatisch toegewezen aan het standaardschema (public).
Hoe verwijder je een schema met DROP SCHEMA
Je kunt een PostgreSQL-schema ook verwijderen als je het niet meer nodig hebt. Als het schema leeg is, kun je de volgende opdracht gebruiken:
DROP SCHEMA customers;postgresqlGebruik CASCADE om een schema en alle objecten daarin te verwijderen:
DROP SCHEMA customers CASCADE;postgresqlDit commando verwijdert het schema en alle bijbehorende gegevens definitief, dus wees voorzichtig bij het gebruik ervan.