# 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:

1. Instans (ofte kalt «server» i PostgreSQL, inneholder flere databaser)
2. Database
3. Skjema
4. Tabell
5. 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:

```postgresql
CREATE SCHEMA name;
```

Denne 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](https://www.ionos.com/nb-no/digitalguide/server/konfigurasjon/postgresql-create-table/) -kommandoen [CREATE TABLE](https://www.ionos.com/nb-no/digitalguide/server/konfigurasjon/postgresql-create-table/), kan du tilordne dem til et skjema. Syntaksen for dette ser slik ut:

```postgresql
CREATE TABLE your_schema.new_table (
…
);
```

For å vise hvordan dette fungerer, skal vi først opprette et skjema med navnet `customers`:

```postgresql
CREATE SCHEMA customers;
```

Deretter oppretter du en ny tabell med navnet `customer_list_uk` og legger den til i skjemaet `customers`:

```postgresql
CREATE TABLE customers.customer_list_uk (
id INT PRIMARY KEY NOT NULL,
name VARCHAR(50) NOT NULL,
country VARCHAR(50),
address VARCHAR(255)
);
```

Dette oppretter en tom tabell i skjemaet `customers`. Du kan nå fylle denne tabellen ved hjelp av [PostgreSQL](https://www.ionos.com/nb-no/digitalguide/server/konfigurasjon/postgresql-insert-into/) -kommandoen [INSERT INTO](https://www.ionos.com/nb-no/digitalguide/server/konfigurasjon/postgresql-insert-into/).

Note 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:

```postgresql
DROP SCHEMA customers;
```

For å slette et skjema og alle objektene i det, bruk `CASCADE`:

```postgresql
DROP SCHEMA customers CASCADE;
```

Denne kommandoen sletter skjemaet og alle dataene i det permanent, så vær forsiktig når du bruker den.


This is a markdown version of: [https://www.ionos.com/nb-no/digitalguide/server/konfigurasjon/postgresql-skjema/](https://www.ionos.com/nb-no/digitalguide/server/konfigurasjon/postgresql-skjema/) for AI/LLM consumption.