スキーマを使用すると、論理的にまとまりのあるデータベースオブジェクトをグループ化することができます。データベースオブジェクトは、1 つのスキーマにのみ属することができます。
スキーマは、以下のような状況で登録されます。
● 新しいデータベースユーザを登録するときに、データベースシステムによってデータベースユーザの名称を持つスキーマが登録されます。
新しいデータベースインスタンスを登録するときに、データベースシステムによってデータベースシステム管理者 (SYSDBA ユーザ) が登録され、同じ名称のスキーマが暗黙的に登録されます。データベースシステム管理者には、データベースシステムによって以下のスキーマも登録されます。SYS、DOMAIN、および SYSINFO。
● データベース管理者は、明示的にスキーマを登録することができます。
新しいデータベースオブジェクトは、以下のようにスキーマに割り当てられます。
● データベースオブジェクトを登録するデータベースユーザは、データベースオブジェクトをスキーマに明示的に割り当てることができます。
データベースユーザ BORIS がテーブル person を登録し、それをスキーマ OFFICE に割り当てます。
CREATE TABLE OFFICE.person
(pno FIXED(6),
name CHAR(20),
city CHAR(20))
● データベースユーザがデータベースオブジェクトを登録するときにスキーマを入力しない場合は、データベースオブジェクトはデータベースシステムによって現在ログオンしているデータベースユーザのスキーマに自動的に割り当てられます。
データベースユーザ BORIS がテーブル person を登録します。この場合、テーブルはデータベースシステムによってスキーマ BORIS に割り当てられます。
CREATE TABLE person
(pno FIXED(6),
name CHAR(20),
city CHAR(20))
参照:
SQL 参照マニュアル、スキーマ名 (schema_name)