ビュー定義は、カラム、テーブル、他のビューなど、その他のオブジェクトを参照することがあります。ビューが別のオブジェクトを参照している場合、そのビューは「参照元のオブジェクト」、ビューが参照しているオブジェクトは「参照先のオブジェクト」と呼ばれます。また、参照元のオブジェクトは、参照先のオブジェクトに「依存している」と見なされます。
あるビューの参照先オブジェクトのセットには、そのビューが直接的または間接的に参照するすべてのオブジェクトが含まれます。たとえば、ビューはあるテーブルを参照する別のビューを参照することにより、間接的にそのテーブルを参照できます。
次のテーブルとビューのセットを考えてみます。
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 に依存しています。
データベースサーバーは指定されたビューが参照するカラム、テーブル、ビューを追跡します。データベースサーバーではこの依存性情報を使用して、参照先オブジェクトのスキーマ変更が使用できない状態で参照元ビューに残らないようにします。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |