論理関係の例
下記の関係図は、キー FREMANTLE を持つ SUBURB セグメントの論理関係が抽出される方法を示しています。
DJ3E DJ2E DJ1E
─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─┐ ┌─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─
│ (2)↓ ↓(4) │
┌─────────┐ ┌─────────┐ ┌─────────┐
│ │ STREET │◄ ─ ─ ┐ │ SUBURB │ ┌ ─ ─ ►│ SHIRE │ │
└────┬────┘ └────┬────┘ └────┬────┘
│ │ │ │ │ │ │
│ ┌──────┴──────┐ │
│ │ (1)│ │ │ │(3) │ │
┌────┴────┐ ┌────┴────┐ ┌────┴────┐ ┌────┴────┐
└─│ INSUB │ │ LINKSTR │ │ INSHIRE │ │ LINKSUB │─┘
└─────────┘ └─────────┘ └─────────┘ └─────────┘通常は抽出処理では、論理関係は基本データベース中のすべてのデータベース・レコードが 処理された後で追跡されます。次の例では、SUBURB FREMANTLE とそのすべての従属セグメントだけを抽出します。前のページの関係基準を使用します。
最初に、SUBURB FREMANTLE のルート・セグメントが選択されて、LINKSTR および INSHIRE セグメントが抽出ファイルに書き込まれます。
INSHIRE と SHIRE 間の論理関係については、1 つのセグメントだけを追跡します。 したがって、FREMANTLE の SHIRE が追跡されます。すなわち、
- FREMANTLE の SHIRE ルート・セグメントとそのすべての従属セグメントが抽出ファイルに書き込まれ ます。
- LINKSUB と SUBURB の間の最初の論理関係が追跡されます。この LINKSUB セグメントには BEACONSFIELD の論理親があります。この SUBURB セグメ ントは前に抽出されていないので、BEACONSFIELD のデータベース・レコードが抽出されま す。
- BEACONSFIELD の INSHIRE と SHIRE 間の論理関係については、1 つのセグメントだけを追跡します。 したがって、FREMANTLE の SHIRE が追跡されます。FREMANTLE の SHIRE セグメントはすでに抽出されているので、さらなる追跡は必要ありません。
BEACONSFIELD の LINKSTR と STREET 間の論理関係については、2 つのセグメントだけを追跡します。 したがって、AGNES ST と ANNIE ST の STREET (Beaconsfield の中の英字順の最初の 2 つの番地) が追跡されます。
- AGNES ST の STREET ルート・セグメントとそのすべての従属セグメントが抽出ファイルに書き込まれます。
- INSUB と SUBURB 間の最初の論理関係が変更されます。この LINKSUB セグメントには BEACONSFIELD の論理親があり、これは抽出されているので、AGNES ST についてさらに追跡する必要はありません。
- ANNIE ST の STREET ルート・セグメントとそのすべての従属セグメントが抽出ファイルに書き込まれます。
- INSUB と SUBURB 間の最初の論理関係が変更されます。この LINKSUB セグメントには BEACONSFIELD の論理親があります。このデータベース・レコードは抽出されているので、ANNIE ST についてさらに追跡する必要はありません。
キー値 FREMANTLE を持つ INSHIRE および SHIRE セグメントについては、論理関係はすべて追跡されています。
INSHIRE 論理関係の追跡が完了した後で、LINKSTR と STREET の間の論理関係が追跡されます。この関係については、FM/IMS は LINKSTR セグメントの最初の 2 つのオカレンスを追跡します。したがって、以下の番地が処理されます。
- ADELAIDE ST
- ALMA ST
ADELAIDE ST については、次の処理が行われます。
- ADELAIDE ST の STREET ルート・セグメントとそのすべての従属セグメントが、抽出ファイルに書き込まれます。
- INSUB と SUBURB 間の最初の論理関係が変更されます。この LINKSUB セグメントには ESPERANCE の論理親があります。この DJ2E データベース・レコードは処理されていないので、抽出ファイルに書き込まれます。
- キーが ESPERANCE である INSHIRE および SHIRE 間の論理関係については、1 つのオカレンスだけが追跡されます。したがって、キー ESPERANCE を持つ SHIRE セグメントが追跡されます。これは処理されていないので、DJ1E データベース・レコードが抽出されます。
- キーが ESPERANCE である LINKSUB および SUBURB 間の論理関係については、1 つのオカレンスだけが追跡されます。したがって、キー CASCADE を持つ SUBURB セグメントが追跡されます。これは処理されていないので、DJ2E データベース・レコードが抽出されます。
- キーが CASCADE である INSHIRE および SHIRE 間の論理関係については、1 つのオカレンスだけが追跡されます。したがって、キー ESPERANCE を持つ SHIRE セグメントが追跡されます。これは処理されているので、DJ1E データベース・レコードは抽出されません。
- CASCADE の SUBURB に対する LINKSTR および STREET 間の論理関係については、1 つのオカレンスだけが追跡されます。したがって、キー ASHA CT を持つ STREET セグメントが追跡されます。これは処理されていないので、DJ3E データベース・レコードが抽出されます。
- INSUB と SUBURB 間の最初の論理関係が変更されます。この LINKSUB セグメントには ESPERANCE の論理親があります。これは処理されているので、DJ2E データベース・レコードは抽出されません。
- キー ESPERANCE を持つ SUBURB に対する LINKSTR および STREET 間の論理関係については、1 つのオカレンスだけが追跡されます。したがって、キー ADDINGTON CRO を持つ STREET セグメントが追跡されます。これは処理されていないので、DJ3E データベース・レコードが抽出されます。
- INSUB と SUBURB 間の最初の論理関係が変更されます。この LINKSUB セグメントには ESPERANCE の論理親があります。これは処理されているので、DJ2E データベース・レコードは抽出されません。
抽出処理は FREMANTLE の SUBURB について論理関係の追跡を続行します。ALMA ST については、次の処理が行われます。
- ALMA ST の STREET ルート・セグメントとそのすべての従属セグメントが、抽出ファイルに書き込まれます。
- INSUB と SUBURB 間の最初の論理関係が変更されます。この LINKSUB セグメントには FREMANTLE の論理親があります。この DJ2E データベース・レコードは処理されているので、抽出ファイルには書き込まれません。
- これ以上追跡する論理関係がないので、抽出処理は終了します。
関連トピック