Un schéma est une collection d'objets comme des tables ou des vues, associée à un nom d'utilisateur de la base de données.
Dans la pratique, tout utilisateur créant un objet dans une base de données, engendre systématiquement un schéma, et partant, le nom de l'utilisateur devient le propriétaire de sa prôpre réalisation.
L'accés aux objets d'un schéma par un utilisateur quelconque, s'effectue par l'intermédiaire du nom du propriétaire associé à celui de l'objet.
nom_utilisateur.nom_objet JJ_DUPUIS.TBL_Reference
Le propriétaire du schéma peut accéder à l'un de ses objets en l'appelant directement par son nom car le SGBDR recherche l'objet en priorité dans le schéma appartenant à l'utilisateur.
Chaque objet dans une base de données créé par leur utilisateur est ainsi clairement identifié par le couple propriétaire.objet, évitant d'une part d'éventuelles noms doubles et d'autre part des problèmes de sécurité.
En outre, il est possible de créer explicitement un schéma à l'aide de la commande CREATE SCHEMA.
CREATE SCHEMA AUTHORIZATION nom_schéma { instruction_CREATE_TABLE | instruction_CREATE_VIEW | instruction_GRANT } [ instructionN_CREATE_TABLE | instructionN_CREATE_VIEW | instructionN_GRANT ];
La commande CREATE SCHEMA propose un moyen de créer des tables, des vues et d'accorder des privilèges pour les objets à partir d'une unique instruction.
ExempleCREATE SCHEMA AUTHORIZATION sh_personnel CREATE TABLE ma_table (identificateur INTEGER PRIMARY KEY, nom VARCHAR(25), prenom VARCHAR(25)) CREATE VIEW ma_vue AS SELECT nom ||, prenom FROM ma_table WHERE identificateur >= 120356 GRANT select ON ma_vue TO util; |