Hvordan bruke PostgreSQL-skjemaer
Et skjema i PostgreSQL lar deg gruppere flere tabeller sammen, noe som gir bedre organisering og enklere administrasjon av databaser. Du kan opprette et skjema ved hjelp av kommandoen CREATE SCHEMA. Hvis du ikke lenger trenger et skjema, kan du ganske enkelt fjerne det med kommandoen DROP SCHEMA.
Hva er et PostgreSQL-skjema?
I PostgreSQL er et skjema en samling av tabeller. Det kan også omfatte indekser, sekvenser, datatyper og funksjoner, noe som gjør det likt en katalog. I motsetning til kataloger kan skjemaer imidlertid ikke være nestet. Denne måten å organisere databaseobjekter på er spesielt nyttig for å administrere store databaser med mange tabeller.
Skjemaer finnes mellom databasenivået og de enkelte tabellene. Her er en oversikt over den fullstendige hierarkiske strukturen i det populære databasestyringssystemet:
- Instans (ofte kalt «server» i PostgreSQL, inneholder flere databaser)
- Database
- Skjema
- Tabell
- Rad
For å opprette et nytt skjema i PostgreSQL kan du bruke kommandoen CREATE SCHEMA. For å slette et skjema bruker du kommandoen DROP SCHEMA. Vi skal se nærmere på begge kommandoene nedenfor.
Hva er syntaksen for PostgreSQL-skjemaer?
Syntaksen for å opprette et skjema i PostgreSQL er som følger:
CREATE SCHEMA name;postgresqlDenne kommandoen gir PostgreSQL beskjed om å opprette et skjema i databasen. Etter selve kommandoen må du gi skjemaet et unikt navn.
Slik tilordner du en ny tabell til et PostgreSQL-skjema
Når du oppretter nye tabeller ved hjelp av PostgreSQL -kommandoen CREATE TABLE, kan du tilordne dem til et skjema. Syntaksen for dette ser slik ut:
CREATE TABLE your_schema.new_table (
…
);postgresqlFor å vise hvordan dette fungerer, skal vi først opprette et skjema med navnet customers:
CREATE SCHEMA customers;postgresqlDeretter oppretter du en ny tabell med navnet customer_list_uk og legger den til i skjemaet 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 oppretter en tom tabell i skjemaet customers. Du kan nå fylle denne tabellen ved hjelp av PostgreSQL -kommandoen INSERT INTO.
Hvis det ikke er angitt noe skjema, blir nye tabeller automatisk tilordnet standardskjemaet (public).
Slik sletter du et skjema med DROP SCHEMA
Du kan også slette et PostgreSQL-skjema hvis du ikke lenger trenger det. Hvis skjemaet er tomt, kan du bruke følgende kommando:
DROP SCHEMA customers;postgresqlFor å slette et skjema og alle objektene i det, bruk CASCADE:
DROP SCHEMA customers CASCADE;postgresqlDenne kommandoen sletter skjemaet og alle dataene i det permanent, så vær forsiktig når du bruker den.