スキーマとシノニムの違いがいまいちよくわからない。
シノニムを作成することで、別のユーザーが作ったテーブルを参照できるらしいが、解説を読んでいくうちに、スキーマとシノニムが頭のなかでごっちゃになってしまった。改めて調べ直す。
シノニムとは
「テーブルの別名」
スキーマとは
「テーブルの管理者」
説明を端折り過ぎな上に誤解を生む表現だが、大体はこの認識で問題無い。
通常、他ユーザーが管理するテーブルを使うときは「スキーマ名.テーブル名」でテーブルを指定をしなければいけない。ここで
「create synonym シノニム名 for テーブル名」
と打つことで
「テーブルの管理者.テーブル名」
と指定したところがシンプルに
「シノニム名」
と指定ができる。さらにシノニムは「使用者」が作成するか「全体のデータベース管理者」が作成するかで「効果範囲」が変わる。データベース管理者がシノニムを作成する時に
「create public synonym シノニム名 for テーブル名」
と「public」を付加することにより、そのデータベースにログインできるユーザー全体に、作成したシノニムの使用を許可することができる。
と、とりあえずこういった認識で概要を把握した。細かいところは問題集を解いて詰めようかなぁ、と思う。
0 件のコメント:
コメントを投稿