# Combiner plusieurs tables avec un schéma dans PostgreSQL

Dans PostgreSQL, un schéma permet de regrouper plusieurs tables afin d’améliorer la lisibilité et l’organisation de la base de données Pour le créer, on utilise la commande `CREATE SCHEMA`. La commande `DROP SCHEMA` permet de supprimer à tout moment un schéma créé.

## Qu’est-ce qu’un schéma PostgreSQL ?

Dans PostgreSQL, un schéma est un **regroupement logique de plusieurs tables**. Il peut également contenir des index, des séquences, des types de données, des vues et des fonctions. Ainsi, il peut être comparé à un répertoire, mais contrairement à ce dernier, un schéma ne peut pas contenir d’autres schémas imbriqués. Cette méthode est notamment utilisée pour **faciliter la gestion de grandes bases de données contenant de nombreuses tables**. Dans la structure du système de gestion de base de données (SGBD), un schéma PostgreSQL se trouve entre le niveau de la base de données et celui des tables individuelles. L’ensemble de la structure hiérarchique se présente de la manière suivante :

1. Instance (souvent appelée « serveur » dans PostgreSQL, pouvant contenir plusieurs bases de données)
2. Base de données
3. Schéma
4. Table
5. Ligne

Pour **créer un nouveau schéma** dans PostgreSQL, on utilise la commande `CREATE SCHEMA`. La commande `DROP SCHEMA` permet de supprimer le schéma. Vous trouverez ci-dessous une explication plus détaillée de ces deux commandes.

## `CREATE SCHEMA` dans PostgreSQL : syntaxe de base

La syntaxe de `CREATE SCHEMA` dans PostgreSQL est la suivante :

```postgresql
CREATE SCHEMA nom_du_schéma;
```

Cette commande crée un nouveau schéma dans PostgreSQL avec un nom unique au sein de la base de données.

## Affecter un schéma PostgreSQL à de nouvelles tables

Si vous créez maintenant une nouvelle table avec la commande [PostgreSQL `CREATE TABLE`](https://www.ionos.com/fr-be/digitalguide/serveur/configuration/postgresql-create-table/), vous pouvez l’ajouter à un schéma PostgreSQL déjà existant. La syntaxe correspondante ressemble à ceci :

```postgresql
CREATE TABLE nom_du_schéma.nom_de_la_table (
...
);
```

Pour illustrer ce processus, nous vous montrons ici comment créer un schéma appelé « Clients ». Voici le code :

```postgresql
CREATE SCHEMA Clients;
```

Ensuite, vous créez une nouvelle table appelée « Liste\_Clients\_France » que vous insérez dans le schéma PostgreSQL « Clients ». Pour cela, utilisez ce code :

```postgresql
CREATE TABLE Clients.Liste_Clients_France (
    ID SERIAL PRIMARY KEY,
    Nom VARCHAR(50) NOT NULL,
    Pays VARCHAR(50),
    Adresse VARCHAR(255)
);
```

Vous obtenez ainsi une nouvelle table vide qui se trouve dans le schéma PostgreSQL nommé « Clients ». Vous pouvez maintenant la remplir avec des valeurs en utilisant [PostgreSQL `INSERT INTO`](https://www.ionos.com/fr-be/digitalguide/serveur/configuration/postgresql-insert-into/).

Note Si aucun schéma n’est spécifié, les nouvelles tables seront automatiquement affectées au schéma par défaut « public ».

## Supprimer un schéma avec `DROP SCHEMA`

Vous pouvez aussi **supprimer un schéma PostgreSQL**. Si le schéma est déjà vide et n’est plus nécessaire, utilisez simplement la commande `DROP SCHEMA`. Pour notre exemple ci-dessus, cela ressemble à ceci :

```postgresql
DROP SCHEMA Clients;
```

Si vous souhaitez supprimer un schéma et tous les objets qu’il contient dans PostgreSQL, voici la commande appropriée :

```postgresql
DROP SCHEMA Clients CASCADE;
```

Cette commande doit donc être utilisée avec précaution pour ne pas perdre de précieuses données.


This is a markdown version of: [https://www.ionos.com/fr-be/digitalguide/serveur/configuration/postgresql-schema/](https://www.ionos.com/fr-be/digitalguide/serveur/configuration/postgresql-schema/) for AI/LLM consumption.