4.3 二面性ビューの更新操作に必要なデータベース権限

アプリケーションが特定の二面性ビューのデータに対して実行できる操作の種類は、ビュー所有者と、アプリケーションがデータベースに接続する際に使用するデータベース・ユーザー(データベース・スキーマ)に付与されたデータベース権限によって異なります。

これにより、関連する権限をユーザーに付与することで、どのアプリケーション/ユーザーがどの二面性ビューでどのアクションを実行できるかを制御できます。

アプリケーションは、特定のデータベース・ユーザーとしてデータベース操作を起動します。ただし、二面性ビューでの更新操作(挿入と削除を含む)は、ビューの所有者として実行されます。

二面性ビューのデータに対して様々な種類の操作を実行するには、ユーザー(またはユーザーとして接続されているアプリケーション)にビューに対する次の権限を付与する必要があります。

  • データを問い合せるには: 権限SELECT WITH GRANT OPTION

  • ドキュメント(行)を挿入するには: 権限INSERT WITH GRANT OPTION

  • ドキュメント(行)を削除するには: 権限DELETE WITH GRANT OPTION

  • ドキュメント(行)を更新するには: 権限UPDATE WITH GRANT OPTION

また、ビューの所有者は、関連する各のそれぞれに対して、つまり、対応するキーワードで注釈付けされたすべての表に対して、同じ権限が必要です。たとえば、挿入の場合、ビュー所有者は、INSERTを使用してビュー定義で注釈が付けられているすべての表に対する権限INSERT WITH GRANT OPTIONが必要です。

二面性ビューに対して操作が実行されると、ビューにアクセスして操作を要求しているユーザーまたはアプリケーションに関係なく、ビューの基礎となる表に必要な操作がビュー所有者として実行されます。このため、ビューにアクセスするユーザー自身には、基礎となる表に対する権限が不要です。

ルール1の更新に関する項も参照してください。