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

1. Instans (i PostgreSQL ofte benævnt »serveren«; indeholder flere databaser)
2. Database
3. Skema
4. Tabel
5. 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:

```postgresql
CREATE SCHEMA name;
```

Denne 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](https://www.ionos.com/da-dk/digitalguide/server/konfiguration/postgresql-create-table/) -kommandoen [CREATE TABLE](https://www.ionos.com/da-dk/digitalguide/server/konfiguration/postgresql-create-table/), kan du tilknytte dem til et skema. Syntaksen for dette ser således ud:

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

For at vise, hvordan det fungerer, skal vi først oprette et skema med navnet `customers`:

```postgresql
CREATE SCHEMA customers;
```

Opret derefter en ny tabel med navnet `customer_list_uk`, og tilføj den til skemaet `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 opretter en tom tabel i skemaet `customers`. Du kan nu udfylde denne tabel ved hjælp af [PostgreSQL](https://www.ionos.com/da-dk/digitalguide/server/konfiguration/postgresql-insert-into/) -kommandoen [INSERT INTO](https://www.ionos.com/da-dk/digitalguide/server/konfiguration/postgresql-insert-into/).

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

```postgresql
DROP SCHEMA customers;
```

For at slette et skema og alle objekterne i det skal du bruge `CASCADE`:

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

Denne kommando sletter skemaet og alle dets data permanent, så vær forsigtig, når du bruger den.


This is a markdown version of: [https://www.ionos.com/da-dk/digitalguide/server/konfiguration/postgresql-skema/](https://www.ionos.com/da-dk/digitalguide/server/konfiguration/postgresql-skema/) for AI/LLM consumption.