100
CHAPITRE 4. LANGAGE SQL
4.9.4 Schémas (CREATE SCHEMA)
Description
Les schémas sont des espaces dans lesquels sont référencés des éléments (tables, vues, index...). La
notion de schéma est très liée à la notion d’utilisateur ou de groupe d’utilisateurs.
Syntaxe de définition
CREATE SCHEMA nom_schéma
CREATE SCHEMA crée un nouveau schéma dans la base de données en cours. Le nom du schéma doit
être distinct du nom des différents schémas existants dans la base de données en cours.
Le paramètre nom_schéma est le nom du schéma à créer.
Accès aux tables
Lorsqu’une table nom_table est dans un schéma nom_schema, pour la désigner, il faut faire précéder
son nom par le nom du schéma qui la contient de la manière suivante : nom_schema.nom_table. C’est ce
que l’on appel un nom qualifié.
Le Chemin de Recherche de Schéma
Les noms qualifiés sont pénibles à écrire et il est, de toute façon, préférable de ne pas coder un nomde
schéma dans une application. Donc, les tables sont souvent appelées par des noms non qualifiés (i.e. nom
de la table lui même). Le système détermine quelle table est appelée en suivant un chemin de recherche
qui est une liste de schémas à regarder. La première table correspondante est considérée comme la table
voulue. S’il n’y a pas de correspondance, une erreur est levée, même si des noms de table correspondants
existent dans d’autres schémas dans la base.
Le premier schémadans le cheminde recherche est appelé le schéma courant. Enplus d’être le premier
schéma parcouru, il est aussi le schéma dans lequel de nouvelles tables seront créées si la commande
CREATE TABLE ne précise pas de nom de schéma.
Pour voir le chemin de recherche courant, utilisez la commande suivante :
SHOW search_path;
Pour ajouter un nouveau schéma mon_schema dans le chemin tout en conservant dans ce chemin le
schéma par défaut (public), nous utilisons la commande :
SET search_path TO mon_schema,public;
Syntaxe de suppression
La commande DROP SCHEMA permet de supprimer des schémas de la base de données. La syntaxe de
la commande est l