Obwohl die Daten bereits in Tabellen organisiert sind, kann es durchaus sinnvoll sein, Tabellen (und andere zugehörige Objekte) zusammen zu gruppieren. Dies kann durch Definieren eines Schemas mit Hilfe der Anweisung CREATE SCHEMA geschehen. Informationen zu dem Schema werden in den Systemkatalogtabellen der Datenbank gespeichert, mit der sie verbunden sind. Wenn andere Objekte erstellt werden, können sie in dieses Schema gestellt werden.
Eine detaillierte Beschreibung der Syntax der Anweisung CREATE SCHEMA finden Sie im Handbuch SQL Reference. Das neue Schema darf nicht bereits in den Systemkatalogen vorhanden sein und darf nicht mit der Zeichenfolge "SYS" beginnen.
Wenn ein Benutzer die Berechtigung SYSADM oder DBADM hat, kann er ein Schema mit einem beliebigen gültigen Namen erstellen. Bei der Erstellung einer Datenbank wird die Berechtigung IMPLICIT_SCHEMA der Gruppe PUBLIC (d. h. allen Benutzern) erteilt.
Die Person, die Objekte definiert, die als Teil der Anweisung CREATE SCHEMA erstellt wurden, ist der Schemeneigner. Dieser Eigner kann Zugriffsrechte auf Schemata anderen Benutzern erteilen (GRANT) und entziehen (REVOKE).
Zur Ausführung dieser Anweisung benötigt der Benutzer die Berechtigung DBADM.
Schemata können auch implizit erstellt werden, wenn ein Benutzer die Berechtigung IMPLICIT_SCHEMA hat. Mit dieser Berechtigung erstellen Benutzer implizit ein Schema, wenn sie ein Objekt mit einen Schemennamen erstellen, der nicht bereits existiert.
Wenn Benutzer nicht über die Berechtigung IMPLICIT_SCHEMA verfügen, können sie nur das Schema erstellen, das den gleichen Namen hat wie ihre eigene Berechtigungs-ID.
Gehen Sie wie folgt vor, um mit der Steuerzentrale ein Schema zu
erstellen:
|
Geben Sie in der Befehlszeile folgendes ein, um ein Schema zu erstellen:
CREATE SCHEMA <name> AUTHORIZATION <name>
Das folgende Beispiel zeigt eine Anweisung CREATE SCHEMA, mit der ein Schema für einen einzelnen Benutzer mit der Berechtigungs-ID "joe" erstellt wird:
CREATE SCHEMA joeschma AUTHORIZATION joe
Es kann sinnvoll sein, ein Standardschema einzurichten, das für nicht qualifizierte Objektverweise in dynamischen SQL-Anweisungen verwendet wird, die innerhalb einer bestimmten DB2-Verbindung abgesetzt werden. Dies kann durch Einstellen des Sonderregisters CURRENT SCHEMA auf das Schema geschehen, das Sie als Standardschema verwenden wollen. Dieses Sonderregister kann von jedem beliebigen Benutzer eingestellt werden. Es ist keine Berechtigung erforderlich.
Eine detaillierte Beschreibung der Syntax der Anweisung SET SCHEMA finden Sie im Handbuch SQL Reference.
Das folgende Beispiel zeigt, wie das Sonderregister CURRENT SCHEMA eingestellt wird:
SET CURRENT SCHEMA = 'SCHEMA01'
Diese Anweisung kann innerhalb eines Anwendungsprogramms oder interaktiv abgesetzt werden. Wenn das Sonderregister CURRENT SCHEMA eingestellt ist, wird sein Wert als Qualifikationsmerkmal (Schema) für alle Objektverweise ohne Qualifikationsmerkmal in dynamischen SQL-Anweisungen (außer der Anweisung CREATE SCHEMA) verwendet, in denen ein Verweis ohne Qualifikationsmerkmal auf ein Datenbankobjekt vorhanden ist.
Der Anfangswert des Sonderregisters CURRENT SCHEMA entspricht der Berechtigungs-ID des Benutzers der aktuellen Sitzung.