6.7 オブジェクト・ビューに対するオブジェクト識別子
オブジェクト・ビューの中で、行オブジェクトを指すポインタ(REF
)を作成できます。ビューのデータは永続的に格納されるわけではないため、オブジェクト識別子として使用される個々の値を指定する必要があります。オブジェクト識別子を使用すると、オブジェクト・ビューにおけるオブジェクトを、オブジェクト・キャッシュ上で参照し、確保することができます。
このビューがオブジェクト表またはオブジェクト・ビューに基づいている場合には、すでに各行に対応付けられたオブジェクト識別子があり、これを再利用できます。このためには、WITH
OBJECT
IDENTIFIER
句を省略するか、またはWITH
OBJECT
IDENTIFIER
DEFAULT
を指定します。
ただし、行オブジェクトをリレーショナル・データから合成する場合は、他の値セットを選択する必要があります。
主キーに基づいたオブジェクト識別子を指定できます。この場合、行オブジェクトを識別する一意のキーの集合が、そのオブジェクトの識別子になります。値が重複すると、オブジェクト参照時に問題が発生することもあるため、これらの値はビューから選択された行内で一意である必要があります。
-
WITH
OBJECT
IDENTIFIER
句を使用して作成されたオブジェクト・ビューWITH
OBJECT
IDENTIFIER
句を使用して作成されたオブジェクト・ビューは、主キーから導出されたオブジェクト識別子を持ちます。たとえば、「オブジェクト・ビューのシングルレベル・コレクション」で説明したオブジェクト型
dept_t
およびオブジェクト・ビューdept_view
の定義について考えます。基礎となるリレーショナル表に
deptno
が主キーとして入っているため、各部門行は一意の部門番号を持ちます。このビューでは、deptno
列がオブジェクト型のdeptno
属性になります。ビュー・オブジェクト内でdeptno
が一意であることがわかれば、これをオブジェクト識別子として指定できます。 -
WITH
OBJECT
IDENTIFIER
DEFAULT
句を使用して作成されたオブジェクト・ビューWITH
OBJECT
IDENTIFIER
DEFAULT
句を指定した場合、オブジェクト識別子は、基礎となる表またはビュー定義に応じてはシステム生成または主キー・ベースになります。
関連項目:
-
主キー・ベースのオブジェクト識別子とシステム生成のオブジェクト識別子の詳細は、「行オブジェクトの識別に使用されるオブジェクト識別子」を参照してください
-
「オブジェクト識別子(OID)の記憶域上の考慮点」を参照してください。