Schemata enthalten Metadaten, die den formalen Aufbau von Basistabellen, Indizes, Views und Routinen beschreiben, sowie Metadaten, die die Privilegien beschreiben.
Schema erstellen
Mit der SQL-Anweisung GRANT vergibt der Datenbankverwalter das Sonder-Privileg CREATE SCHEMA an einen SQL-Benutzer. Er ist dann berechtigt, ein Schema und damit Objekte für dieses Schema zu erstellen (siehe Abschnitt „Sonder-Privilegien“). Der so berechtigte Benutzer erstellt ein Schema mit der SQL-Anweisung CREATE SCHEMA.
Der CREATE SCHEMA-Berechtigte kann bereits beim Erstellen des Schemas SQL-Objekte (Basistabellen, Views, Indizes, Routinen) definieren sowie Tabellen- und EXECUTE-Privilegien vergeben, indem er innerhalb von CREATE SCHEMA die SQL-Anweisungen CREATE TABLE, CREATE VIEW, CREATE INDEX, GRANT, CREATE PROCEDURE und CREATE FUNCTION angibt.
Mit der SQL-Anweisung GRANT kann der Schema-Eigentümer Tabellen- und EXECUTE-Privilegien für Objekte seines Schemas an andere Benutzer weitergeben (siehe Abschnitt „Tabellen-Privilegien“).
Schema ändern
Der Eigentümer des Schemas kann es an die aktuellen Erfordernisse anpassen:
Basistabellen erzeugen, ändern oder löschen.
Basistabellen erzeugt der Schema-Eigentümer mit der SQL-Anweisung CREATE TABLE, bestehende Basistabellen ändert bzw. löscht er mit den SQL-Anweisungen ALTER TABLE bzw. DROP TABLE. Näheres zum Erzeugen, Ändern und Löschen von Basistabellen ist im Abschnitt „Basistabelle“ beschrieben.Views erzeugen oder löschen.
Views erzeugt der Schema-Eigentümer mit der SQL-Anweisung CREATE VIEW, bestehende Views löscht er mit der SQL-Anweisung DROP VIEW. Näheres zum Erzeugen und Löschen von Views ist im Abschnitt „View“ beschrieben.Indizes erzeugen oder löschen.
Indizes erzeugt der Schema-Eigentümer mit der SQL-Anweisung CREATE INDEX, bestehende Indizes löscht er mit der SQL-Anweisung DROP INDEX. Näheres zum Erzeugen und Löschen von Indizes ist im Abschnitt „Index“ auf Seite 98 beschrieben.Routinen erzeugen oder löschen.
Routinen erzeugt der Schema-Eigentümer mit den SQL-Anweisungen CREATE PRO-CEDURE und CREATE FUNCTION, bestehende Routinen löscht er mit den Anweisungen DROP PROCEDURE und DROP FUNCTION. Näheres zum Erzeugen und Löschen von Prozeduren ist im Abschnitt „Routine“ beschrieben.Tabellen- und EXECUTE-Privilegien erteilen oder entziehen.
Privilegien für Tabellen und Routinen seines Schemas erteilt der Schema-Eigentümer mit der SQL-Anweisung GRANT. Entzogen werden Privilegien mit der SQL-Anweisung REVOKE. Näheres zum Erteilen und Entziehen von Privilegien ist im Abschnitt „Zugriffsschutz in SQL durch Privilegien“ beschrieben.
Schema löschen
Mit der SQL-Anweisung DROP SCHEMA kann der Schema-Eigentümer ein Schema löschen.