2013年9月30日月曜日

スキーマとシノニムについて

スキーマとシノニムの違いがいまいちよくわからない。

シノニムを作成することで、別のユーザーが作ったテーブルを参照できるらしいが、解説を読んでいくうちに、スキーマとシノニムが頭のなかでごっちゃになってしまった。改めて調べ直す。

シノニムとは
「テーブルの別名」

スキーマとは
「テーブルの管理者」

説明を端折り過ぎな上に誤解を生む表現だが、大体はこの認識で問題無い。
通常、他ユーザーが管理するテーブルを使うときは「スキーマ名.テーブル名」でテーブルを指定をしなければいけない。ここで

「create synonym シノニム名 for テーブル名」

と打つことで

「テーブルの管理者.テーブル名」

と指定したところがシンプルに

「シノニム名」

と指定ができる。さらにシノニムは「使用者」が作成するか「全体のデータベース管理者」が作成するかで「効果範囲」が変わる。データベース管理者がシノニムを作成する時に

「create public synonym シノニム名 for テーブル名」

と「public」を付加することにより、そのデータベースにログインできるユーザー全体に、作成したシノニムの使用を許可することができる。

と、とりあえずこういった認識で概要を把握した。細かいところは問題集を解いて詰めようかなぁ、と思う。

0 件のコメント:

コメントを投稿