Hoe PostgreSQL-schema's te gebruiken
Met een schema in PostgreSQL kunt u meerdere tabellen groeperen, waardoor u databases beter kunt organiseren en beheren. U kunt een schema aanmaken met het commando CREATE SCHEMA. Als u een schema niet meer nodig hebt, kunt u het eenvoudig verwijderen met het commando DROP SCHEMA.
Wat is een PostgreSQL-schema?
In PostgreSQL is een schema een verzameling tabellen. Het kan ook indexen, reeksen, gegevenstypen en functies bevatten, waardoor het vergelijkbaar is met een map. In tegenstelling tot mappen kunnen schema’s echter niet worden genest. Deze methode om databaseobjecten te organiseren is vooral handig voor het beheer van grote databases met veel tabellen.
Schema’s bestaan tussen het databaseniveau en de individuele tabel. 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 in PostgreSQL aan te maken, kunt u het commando CREATE SCHEMA gebruiken. Om een schema te verwijderen, gebruikt u het commando DROP SCHEMA. Hieronder gaan we beide commando’s in detail bekijken.
Wat is de syntaxis voor PostgreSQL-schema’s?
De syntaxis voor het maken van een schema in PostgreSQL is als volgt:
CREATE SCHEMA name;postgresqlDit commando geeft PostgreSQL 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 PostgreSQL-schema
Wanneer u nieuwe tabellen aanmaakt met behulp van het PostgreSQL CREATE TABLE- commando, kunt u deze toewijzen aan een schema. 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 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)
);postgresqlHierdoor wordt een lege tabel aangemaakt in het schema customers. U 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 een schema met DROP SCHEMA verwijderen
U kunt ook een PostgreSQL-schema verwijderen als u het niet langer nodig hebt. Als het schema leeg is, kunt u de volgende opdracht gebruiken:
DROP SCHEMA customers;postgresqlOm een schema en alle objecten daarin te verwijderen, gebruikt u CASCADE:
DROP SCHEMA customers CASCADE;postgresqlDit commando verwijdert het schema en alle bijbehorende gegevens definitief, dus wees voorzichtig bij het gebruik ervan.