この記事ではスキーマとは何かについて解説します。
スキーマとは
スキーマとは各ユーザが所有する表などのオブジェクトを格納する箱のようなものを指します。
スキーマはユーザが作成されたタイミングで自動的に作成されます。
作成されるスキーマ名はユーザ名と同じになります。
スキーマオブジェクト
ユーザが所有する(=スキーマに格納される)オブジェクトをスキーマオブジェクトといいます。
表や索引、シノニムなどがスキーマオブジェクトに該当します。
非スキーマオブジェクト
スキーマオブジェクトではないオブジェクトを非スキーマオブジェクトといいます。
ユーザやロールなどユーザ所有でないオブジェクトが該当します。
スキーマの役割
スキーマの役割は大きく2つあります。
①オブジェクトへの権限の管理
オブジェクトへのアクセス権限はスキーマ単位で行われます。
自分のスキーマには自分自身のユーザと権限を与えられたユーザのみがアクセスできます。
②ネームスペースとしての役割
Oracle Databaseにおいてネームスペースはスキーマ単位でグループ化されています。
ネームスペース内において同じ名前のオブジェクトは作成できません。
例えば、同一スキーマ内で同じ名前の表を2つ作成することはできません。
しかし、異なるスキーマであれば同じ名前の表を作成することができます。
他のスキーマのオブジェクトを指定するときは「スキーマ名.オブジェクト名」のように記載して区別します。