ID リゾルバーは、システムによって生成された ID の付いたテーブルの解決を担当します。 これには、すべてのテーブルと、 KEYS テーブルまたは SUBKEYS テーブルに登録された列が含まれます。 この解決は、次の 2 つのコンポーネントで実現されます。
このような解決のベースになるのは、 固有索引解決またはプロパティー・ファイル指定を使用するエレメント用の XML データの内容です。
これは、関連テーブルの外部キー属性内の解決仕様を使って行われます。
MEMBER テーブルは、ORGENTITY、MBRGRP、および USER の各テーブルの「スーパー・クラス」として使われます。 それによって "is-a" パターンが作成されますが、これは、 MEMBER テーブルのサブタイプに対する外部キー制約がテーブルで設定されている場合に参照保全を維持するのに役立ちます。 ただしどの MEMBER サブタイプも、共通の基本タイプを使用するので、 その ID はサブタイプすべてを通して固有でなければなりません。 つまり ORGENTITY_ID は、MBRGRP_ID および USER_ID セット内で固有でなければならないということです。 そのような固有性を確保するために KEYS テーブルは、ORGENTITY、MBRGRP、および USER の各テーブルのみを参照し、 それぞれの ID として互いに排他的な範囲を指定します。 サブタイプはいずれも 1 次キーをもっていますが、その 1 次キーはそれぞれ、 MEMBER テーブルの 1 次キーに対する外部キーも兼ねます。
MEMBER とそのサブタイプの間には制約があるため、MEMBER とサブタイプが ID を同期することはできません。 ローダー・パッケージを使って ORGENTITY、MBRGRP、および USER の各テーブルをシステムにロードするには、 ID リゾルバーによって "is-a" パターンが認識され、正しく処理されなければなりません。 以下に、ID リゾルバーの XML 構文を示します。
<ORGENTITY ORGENTITY_ID="@orgAlias" ORGENTITYNAME="Test Org" ORGENTITYTYPE="O"> <ISA> <MEMBER TYPE="O" STATE="1" /> </ISA> </ORGENTITY>
上記は以下を生成します。
<MEMBER MEMBER_ID="12345" TYPE="O" STATE="1" /> <ORGENTITY ORGENTITY_ID="12345" メンバー・エレメントと同期する ORGENTITYNAME="Test Org" ORGENTITYTYPE="O" />
このようにして ID リゾルバーは、<isa> サブエレメントを処理して、同期 ID を作成します。
![]() |