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 の使用法 » データベースの作成 » データベース・オブジェクトの使用 » ビューの操作

 

ビューの依存性

ビュー定義は、カラム、テーブル、他のビューなど、その他のオブジェクトを参照することがあります。ビューが別のオブジェクトを参照している場合、そのビューは「参照元のオブジェクト」、ビューが参照しているオブジェクトは「参照先のオブジェクト」と呼ばれます。また、参照元のオブジェクトは、参照先のオブジェクトに「依存している」と見なされます。

あるビューの参照先オブジェクトのセットには、そのビューが直接的または間接的に参照するすべてのオブジェクトが含まれます。たとえば、ビューはあるテーブルを参照する別のビューを参照することにより、間接的にそのテーブルを参照できます。

次のテーブルとビューのセットを考えてみます。

CREATE TABLE t1 ( c1 INT, c2 INT );
CREATE TABLE t2( c3 INT, c4 INT );
CREATE VIEW v1 AS SELECT * FROM t1;
CREATE VIEW v2 AS SELECT c3 FROM t2;
CREATE VIEW v3 AS SELECT c1, c3 FROM v1, v2;

次のビューの依存性は、上記の定義から特定できます。

  • ビュー v1 は t1 の各カラムと t1 自体に依存しています。

  • ビュー v2 は、t2.c3 と t2 自体に依存しています。

  • ビュー v3 はカラム t1.c1 と t2.c3、テーブル t1 と t2、ビュー v1 と v2 に依存しています。

データベース・サーバは指定されたビューが参照するカラム、テーブル、ビューを追跡します。データベース・サーバではこの依存性情報を使用して、参照先オブジェクトのスキーマ変更が使用できない状態で参照元ビューに残らないようにします。次の表では、ビューの依存性が通常のビューとマテリアライズド・ビューに与える影響について説明します。


依存性とスキーマ変更
カタログ内のビューの依存性情報