Sommaire

Les schémas

Les schémas, aussi appelés espaces de noms, existent implicitement dans toutes les bases de données. Il s’agit d’une notion purement logique qui permet de regrouper par nom les objets comme les tables, les vues, les fonctions, définissant ainsi un chemin d’accès.

De cette façon, dans une même base de données, plusieurs objets peuvent avoir le même nom mais être distincts physiquement. Le nom du schéma préfixant le nom de l’objet, la distinction entre les objets est claire.

L’analogie peut être faite avec la notion de package ou de namespace dans différents langages de programmation. Des objets avec des noms identiques (attributs, méthodes...), mais avec une implémentation différente peuvent être distingués par le nom du package. Dans PostgreSQL, la notion est identique, en considérant le fait qu’une classe corresponde à une table et l’implémentation aux données. Le package correspond donc à un schéma. Malgré cette analogie, il est à noter une différence importante : il n’existe qu’un seul niveau de profondeur avec les schémas. Dans PostgreSQL, il n’est pas possible de créer des schémas dans un schéma.

Plusieurs schémas existent initialement dans une base de données :

  • Le schéma pg_catalog contient des tables et vues système permettant à ...