SQL:Oracle:スキーマ、シノニムとは何か?
SQL (37 items)
2004年08月27日
以下、Oracle9iデータベース概要より、抜粋・加工しました。
>Oracleドキュメントダウンロードサイト
>Oracleドキュメントダウンロードサイト
<スポンサードリンク>
○スキーマ
データの論理構造の集合であり、スキーマ・オブジェクトと言う。
スキーマはデータベース・ユーザーによって所有され、そのユーザーと同じ名前を持つ。
各ユーザーは単一のスキーマを所有し、SQLで作成や操作が出来る。
スキーマには以下のものが存在する。
■クラスタ
■データベース・リンク
■データベース・トリガー
■ディメンション
■外部プロシージャ・ライブラリ
■索引および索引タイプ
■Javaクラス、Javaリソース、Javaソース
■マテリアライズド・ビュー、マテリアライズド・ビュー・ログ
■オブジェクト表、オブジェクト型、オブジェクトビュー
■演算子
■順序
■ストアドファンクション、プロシージャ、パッケージ
■シノニム
■テーブル(表)及び索引構成表
■ビュー
○シノニム
テーブル・ビュー・プロシージャ・ファンクション・パッケージなどに対する別名。
単なる別名だけのものである。
シノニムには、パブリックシノニムとプライベートシノニムがある。
→パブリックシノニム
PUBLICユーザーが所有し、全てのユーザーがアクセスできる。
→プライベートシノニム
特定ユーザーのスキーマに含まれ、そのユーザーが他ユーザーに対する
シノニムの使用許可を制限する。
シノニムは、セキュリティと便利さの為に使用される。
例えば、あるシノニムの元となるテーブルが、
テーブル名の変更やテーブルを別環境に移動するような場合、
シノニムのみを再定義すれば、そのシノニムを参照しているアプリケーションの変更の必要が無い。
(例)
・ユーザー”RES”が所有するスキーマ内に、テーブル”t_SALES_DATA”が存在。
・”t_SALES_DATA”に対するSELECT権限がPUBLICに付与されている。
通常、このテーブルを参照するには、テーブルを含むスキーマとテーブル名の両方が必要。
ここで、下記のSQLでパブリックシノニムを作成。
こうすることで、ユーザーはより単純なSQLでテーブル”t_SALES_DATA”を参照できる。
これにより、パブリックシノニム”SALE”は、
テーブル名”t_SALES_DATA”とスキーマ名”RES”を隠せている事に注意する。
データの論理構造の集合であり、スキーマ・オブジェクトと言う。
スキーマはデータベース・ユーザーによって所有され、そのユーザーと同じ名前を持つ。
各ユーザーは単一のスキーマを所有し、SQLで作成や操作が出来る。
スキーマには以下のものが存在する。
■クラスタ
■データベース・リンク
■データベース・トリガー
■ディメンション
■外部プロシージャ・ライブラリ
■索引および索引タイプ
■Javaクラス、Javaリソース、Javaソース
■マテリアライズド・ビュー、マテリアライズド・ビュー・ログ
■オブジェクト表、オブジェクト型、オブジェクトビュー
■演算子
■順序
■ストアドファンクション、プロシージャ、パッケージ
■シノニム
■テーブル(表)及び索引構成表
■ビュー
○シノニム
テーブル・ビュー・プロシージャ・ファンクション・パッケージなどに対する別名。
単なる別名だけのものである。
シノニムには、パブリックシノニムとプライベートシノニムがある。
→パブリックシノニム
PUBLICユーザーが所有し、全てのユーザーがアクセスできる。
→プライベートシノニム
特定ユーザーのスキーマに含まれ、そのユーザーが他ユーザーに対する
シノニムの使用許可を制限する。
シノニムは、セキュリティと便利さの為に使用される。
例えば、あるシノニムの元となるテーブルが、
テーブル名の変更やテーブルを別環境に移動するような場合、
シノニムのみを再定義すれば、そのシノニムを参照しているアプリケーションの変更の必要が無い。
(例)
・ユーザー”RES”が所有するスキーマ内に、テーブル”t_SALES_DATA”が存在。
・”t_SALES_DATA”に対するSELECT権限がPUBLICに付与されている。
通常、このテーブルを参照するには、テーブルを含むスキーマとテーブル名の両方が必要。
SELECT * FROM RES.t_SALES_DATA;
ここで、下記のSQLでパブリックシノニムを作成。
CREATE PUBLIC SYNONYM SALE FOR RES.t_SALES_DATA;
こうすることで、ユーザーはより単純なSQLでテーブル”t_SALES_DATA”を参照できる。
SELECT * FROM SALE;
これにより、パブリックシノニム”SALE”は、
テーブル名”t_SALES_DATA”とスキーマ名”RES”を隠せている事に注意する。
<スポンサードリンク>
前の記事 次の記事