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 サーバ - SQL の使用法 » データベースの作成 » データベース・オブジェクトの使用 » マテリアライズド・ビューの操作

 

マテリアライズド・ビューの暗号化と復号化

セキュリティを高めるために、マテリアライズド・ビューを暗号化できます。たとえば、基本となるテーブルで暗号化されていたデータがマテリアライズド・ビューに含まれる場合、そのマテリアライズド・ビューも暗号化する状況も考えられます。マテリアライズド・ビューを暗号化するには、データベースでテーブルの暗号化をあらかじめ有効にしておく必要があります。データベースの作成時に指定した暗号化アルゴリズムとキーを使用して、マテリアライズド・ビューを暗号化します。テーブル暗号化が有効であるかどうかなど、暗号化設定がデータベースで有効であることを確認するには、次のように DB_PROPERTY 関数を使用して Encryption データベース・プロパティの値を取得します。

SELECT DB_PROPERTY( 'Encryption' );

テーブルの暗号化と同様に、マテリアライズド・ビューを暗号化するとパフォーマンスに影響がある可能性があります。データベース・サーバがビューから取得したデータを復号化する必要があるためです。

♦  マテリアライズド・ビューを暗号化するには、次の手順に従います (Sybase Central の場合)。
  1. ビューの所有者として、または DBA 権限のあるユーザとして、データベースに接続します。

  2. 左ウィンドウ枠で、[ビュー] をダブルクリックします。

  3. マテリアライズド・ビューを右クリックして、[プロパティ] を選択します。

  4. [その他] タブをクリックします。

  5. [マテリアライズド・ビューのデータは暗号化済み] チェック・ボックスをオンにします。

  6. [OK] をクリックします。

♦  マテリアライズド・ビューを暗号化するには、次の手順に従います (SQL の場合)。
  1. DBA 権限のあるユーザとして、またはマテリアライズド・ビューの所有者として、データベースに接続します。

  2. ENCRYPTED 句を使用して ALTER MATERIALIZED VIEW 文を実行します。

次の文は、マテリアライズド・ビュー EmployeeConfid44 を作成し、初期化して、暗号化します。この文が動作するためには、暗号化されたテーブルを許可するようにデータベースが設定されている必要があります。

CREATE MATERIALIZED VIEW EmployeeConfid44 AS
   SELECT EmployeeID, Employees.DepartmentID, SocialSecurityNumber, Salary, ManagerID,
      Departments.DepartmentName, Departments.DepartmentHeadID
   FROM Employees, Departments
   WHERE Employees.DepartmentID=Departments.DepartmentID;
REFRESH MATERIALIZED VIEW EmployeeConfid44;
ALTER MATERIALIZED VIEW GROUPO.EmployeeConfid44 ENCRYPTED;
警告

この例を実行し終わったら、作成したマテリアライズド・ビューを削除してください。そうしないと、他の例を試すときに、基本となるテーブル Employees および Departments に対するスキーマ変更ができなくなります。有効化されている従属マテリアライズド・ビューを持つテーブルのスキーマは変更できません。マテリアライズド・ビューの削除を参照してください。

♦  マテリアライズド・ビューを復号化するには、次の手順に従います (Sybase Central の場合)。
  1. ビューの所有者として、または DBA 権限のあるユーザとして、データベースに接続します。

  2. 左ウィンドウ枠で、[ビュー] をダブルクリックします。

  3. マテリアライズド・ビューを右クリックして、[プロパティ] を選択します。

  4. [その他] タブをクリックします。

  5. [マテリアライズド・ビューのデータは暗号化済み] チェック・ボックスをオフにします。

  6. [OK] をクリックします。

♦  マテリアライズド・ビューを復号化するには、次の手順に従います (SQL の場合)。
  1. DBA 権限のあるユーザとして、またはマテリアライズド・ビューの所有者として、データベースに接続します。

  2. NOT ENCRYPTED 句を使用して ALTER MATERIALIZED VIEW 文を実行します。

次の文は、マテリアライズド・ビュー EmployeeConfid44 を復号化します。

ALTER MATERIALIZED VIEW GROUPO.EmployeeConfid44 NOT ENCRYPTED;
参照