ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • ヘルプ
  • Sign Out
ArcGIS Desktop

ArcGIS Online

組織のマッピング プラットフォーム

ArcGIS Desktop

完全なプロ仕様の GIS

ArcGIS Enterprise

エンタープライズ GIS

ArcGIS for Developers

位置情報利用アプリの開発ツール

ArcGIS Solutions

各種業界向けの無料のテンプレート マップおよびテンプレート アプリケーション

ArcGIS Marketplace

組織で使えるアプリとデータを取得

  • ドキュメント
  • サポート
Esri
  • サイン イン
user
  • マイ プロフィール
  • サイン アウト

ArcMap

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • エクステンション

例: SQL を使用して Db2 でデータベース ビューを作成する

  • テーブルに関する権限の付与
  • ビューの作成
  • ビューに対する権限の付与
  • 権限のテスト
複雑度:
初級
データ要件:
独自データの使用

SQL を使用して、エンタープライズ ジオデータベース内のテーブルおよびフィーチャクラスのビューを作成できます。

このトピックの例では、IBM Db2 内に単純なビューを作成して、ユーザーからのアクセスを特定の列に制限します。この例は、以下の定義を持つテーブルに基づいています。

CREATE TABLE employees(emp_id integer not null, name varchar(32), 
department smallint not null, hire_date date not null);

テーブルに関する権限の付与

ビューを作成するユーザーがビューの基になるテーブルの所有者でない場合、テーブルの所有者はビューの作成者に少なくともテーブルの SELECT 権限を付与する必要があります。

この例では、ビューの基になるテーブル (employees) はユーザー gdb が所有しています。ビューを作成しているユーザーは、ユーザー rocket です。

db2 => connect to testdb user gdb using gdb.dbg
   Database Connection Information
 Database server        = DB2 10.5.5
 SQL authorization ID   = GDB
 Local database alias   = TESTDB
db2 => GRANT SELECT 
 ON employees 
 TO USER rocket;
DB20000I  The SQL command completed successfully.

ビューの作成

この例では、ユーザー rocket が employees テーブルを基にビューを作成し、部署番号が 201 のレコードのみにアクセスを制限しています。

db2 => connect to testdb user rocket using nopeeking
   Database Connection Information
 Database server        = DB2 10.5.5
 SQL authorization ID   = ROCKET
 Local database alias   = TESTDB
db2 => CREATE VIEW view_dept_201 
 AS SELECT emp_id, name, department, hire_date 
 FROM gdb.employees 
 WHERE department = 201;
DB20000I  The SQL command completed successfully.

ビューに対する権限の付与

ビューの権限を特定のユーザーに付与することができます。また、これらのユーザーにベース テーブル (employees) へのアクセスを許可する必要はありません。この例では、ユーザー mgr200 は ビュー view_dept_201 の SELECT 権限を付与されています。

db2 => connect to testdb user rocket using nopeeking
   Database Connection Information
 Database server        = DB2 10.5.5
 SQL authorization ID   = ROCKET
 Local database alias   = TESTDB
db2 => GRANT SELECT 
 ON view_dept_201 
 TO USER mgr200;
DB20000I  The SQL command completed successfully.

権限のテスト

mgr200 としてログインし、view_dept_201 のレコードを選択します。

db2 => connect to testdb user mgr200 using mgr200
   Database Connection Information
 Database server        = DB2 10.5.5
 SQL authorization ID   = MGR200
 Local database alias   = TESTDB
db2 => SELECT * FROM rocket.view_dept_201;
emp_id         name        dept      hire_date
112            LOLLI POP   201       06/30/2007
134            VAN CHIN    201       10/15/2007
150            DON GUN     201       03/01/2009

期待どおり、部署 201 の従業員のレコードだけが返されます。

ArcGIS Desktop

  • ホーム
  • ドキュメント
  • サポート

ArcGIS プラットフォーム

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Esri について

  • 会社概要
  • 採用情報
  • Esri ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
ご意見・ご感想をお寄せください。
Copyright © 2019 Esri. | プライバシー | リーガル