Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - データベース管理 » データベースの設定 » ユーザ ID、権限、パーミッションの管理 » グループの管理

 

グループが所有するテーブルの参照

データベース中のテーブルとプロシージャを検索するのにグループを使うことができます。すべてのユーザがグループ PUBLIC に属し、グループ PUBLIC が SYSGROUPS ビューを所有する SYS グループに属するため、次に示すクエリは常にビュー SYS.SYSGROUPS を検索します。

SELECT * FROM SYSGROUPS;

SYSGROUPS ビューには、データベース内のグループ・メンバシップを示す group-namemember-name のペアのリストが含まれています。

テーブル employees がユーザ ID personnel によって所有されており、M_Haneef が personnel グループのメンバである場合、M_Haneef は SQL 文で単に employees と指定することでテーブル employees を参照できます。personnel グループのメンバでないユーザは、「修飾された」名前 personnel.employees を使用する必要があります。

テーブルを所有するグループの作成

名前を修飾しないでテーブルにアクセスできるように、テーブルを所有することだけが目的のグループを作成することをおすすめします。このグループには何のパーミッションも与えませんが、すべてのユーザをこのグループのメンバにします。次にパーミッション・グループを作成し、ユーザを適宜それらのパーミッション・グループのメンバにします。

ユーザがグループ所有のテーブルと同じ名前のテーブルを所有している場合、修飾されていないテーブル名は、グループが所有するテーブルではなくユーザが所有するテーブルを表します。同様に、ユーザが同じ名前のテーブルを所有する複数のグループに属している場合、そのユーザはテーブル名を修飾する必要があります。

データベース・オブジェクトの名前とプレフィクスを参照してください。