シノニム とは、データベース・オブジェクトのエイリアス(別名)です。シノニムを使用することにより、長いオブジェクト名を短い別名で指定したり、スキーマ名でオブジェクト名を修飾しなければならないところをスキーマ名を省くことができるようになります。
シノニムは、次に示す2種類に分類される。
| シノニムの種類 | 説明 |
|---|---|
| プライベート・シノニム | シノニムの所有者のみが使えるスキーマ・オブジェクト |
| パブリック・シノニム | すべてのユーザが使える非スキーマ・オブジェクト |
パブリック・シノニムの使用例を以下に示す。
SQL> CREATE PUBLIC SYNONYM emp FOR human_resources.employee;
SQL> SELECT * FROM emp;
シノニムを操作するSQL文の一覧を以下に示す。
| SQL文 | 説明 |
|---|---|
| CREATE SYNONYM | シノニムを作成する。 |
| ALTER SYNONYM | シノニムを変更する。 |
| DROP SYNONYM | シノニムを削除する。 |
シノニムに関するシステム権限の一覧を以下に示す。
| システム権限 | 説明 |
|---|---|
| CREATE SYNONYM | 自分のスキーマにプライベート・シノニムを作成できる。 |
| CREATE ANY SYNONYM | 任意のスキーマにプライベート・シノニムを作成できる。 |
| CREATE PUBLIC SYNONYM | パブリック・シノニムを作成できる。 |
| DROP ANY SYNONYM | 任意のスキーマにあるプライベート・シノニムを削除できる。 |
| DROP PUBLIC SYNONYM | パブリック・シノニムを削除できる。 |
シノニムを参照するのに権限は必要ない。ただし、シノニムは他のオブジェクトへのエイリアス(別名)であるため、そのオブジェクトを参照する権限が別途必要である。
シノニムに関するデータ・ディクショナリ・ビューの一覧を以下に示す。
| データディクショナリビュー | 説明 |
|---|---|
| ALL_OBJECTS | 現在のユーザがアクセスできるオブジェクト |
| ALL_SYNONYMS | 現在のユーザがアクセスできるシノニム |
| DBA_OBJECTS | すべてのオブジェクト |
| DBA_SYNONYMS | すべてのシノニム |
| USER_OBJECTS | 現在のユーザが所有するオブジェクト |
| USER_SYNONYMS | プライベート・シノニム |
シノニムに関するSQL*Plusコマンドの一覧を以下に示す。
| コマンド | 説明 |
|---|---|
| DESCRIBE | シノニムの定義を表示する。 |
シノニムの定義を表示する例を以下に示す。
SQL> DESCRIBE example;