Sådan bruger du PostgreSQL-skemaer
Et skema i PostgreSQL giver dig mulighed for at samle flere tabeller, hvilket sikrer en bedre organisering og enklere administration af databaser. Du kan oprette et skema ved hjælp af kommandoen CREATE SCHEMA. Hvis du ikke længere har brug for et skema, kan du blot slette det med kommandoen DROP SCHEMA.
Hvad er et PostgreSQL-skema?
I PostgreSQL er et skema en samling af tabeller. Det kan også omfatte indekser, sekvenser, datatyper og funktioner, hvilket gør det sammenligneligt med en mappe. I modsætning til mapper kan skemaer dog ikke indlejres. Denne måde at organisere databaseobjekter på er især nyttig til administration af store databaser med mange tabeller.
Skemaer findes mellem databaseniveauet og de enkelte tabeller. Her er et overblik over den fulde hierarkiske struktur i det populære databasestyringssystem:
- Instans (i PostgreSQL ofte benævnt »serveren«; indeholder flere databaser)
- Database
- Skema
- Tabel
- Række
For at oprette et nyt skema i PostgreSQL kan du bruge kommandoen CREATE SCHEMA. For at slette et skema skal du bruge kommandoen DROP SCHEMA. Vi vil se nærmere på begge kommandoer nedenfor.
Hvordan ser syntaksen for PostgreSQL-skemaer ud?
Syntaksen til oprettelse af et skema i PostgreSQL er som følger:
CREATE SCHEMA name;postgresqlDenne kommando beder PostgreSQL om at oprette et skema i databasen. Efter selve kommandoen skal du give skemaet et unikt navn.
Sådan tilknyttes en ny tabel til et PostgreSQL-skema
Når du opretter nye tabeller ved hjælp af PostgreSQL -kommandoen CREATE TABLE, kan du tilknytte dem til et skema. Syntaksen for dette ser således ud:
CREATE TABLE your_schema.new_table (
…
);postgresqlFor at vise, hvordan det fungerer, skal vi først oprette et skema med navnet customers:
CREATE SCHEMA customers;postgresqlOpret derefter en ny tabel med navnet customer_list_uk, og tilføj den til skemaet customers:
CREATE TABLE customers.customer_list_uk (
id INT PRIMARY KEY NOT NULL,
name VARCHAR(50) NOT NULL,
country VARCHAR(50),
address VARCHAR(255)
);postgresqlDette opretter en tom tabel i skemaet customers. Du kan nu udfylde denne tabel ved hjælp af PostgreSQL -kommandoen INSERT INTO.
Hvis der ikke angives noget skema, placeres nye tabeller automatisk i standardskemaet (public).
Sådan slettes et skema med DROP SCHEMA
Du kan også slette et PostgreSQL-skema, hvis du ikke længere har brug for det. Hvis skemaet er tomt, kan du bruge følgende kommando:
DROP SCHEMA customers;postgresqlFor at slette et skema og alle objekterne i det skal du bruge CASCADE:
DROP SCHEMA customers CASCADE;postgresqlDenne kommando sletter skemaet og alle dets data permanent, så vær forsigtig, når du bruger den.