LANSAは、アクセス経路を使用してデータベース内の各テーブル間の関係について説明します。データベースのマップあるいはスキーマに相当するものです。とは言っても、その実体は単なるテキスト記述であって、データベースの容量が大きく増えてしまうようなことはありません。
「アクセス経路」は、あるテーブルから別のテーブルに到る「経路」のことです。例えば、テーブルAのレコードをひとつ取り出したとき、これと関連するテーブルBのレコードをどのように検索するか、を表します。
ここでテーブルAは、現在着目している対象です。一方テーブルBは、LANSAシステムに定義されているどの物理/インデックスであってもかまいません。
テーブルAにはアクセス経路を複数設定できます。テーブルBに到る経路だけでなく、他のテーブルへの経路であってもかまいません。また、テーブルBからテーブルAへの経路も定義して、両方向の経路とすることも可能です。
ひとつのアクセス経路で定義できるのは、テーブルAからテーブルBという形の、片方向の経路だけです。しかしテーブルAは複数のアクセス経路を持つことができます。同様にしてテーブルAからテーブルCやテーブルDへの経路も追加することができます。
さらに、アクセス経路を連鎖させることも可能です。テーブルAからテーブルBの経路、テーブルBからテーブルCへの経路があれば、テーブルAから間接的に、テーブルCのレコードを検索することもできるのです。
アクセス経路は次のような点で、自動処理定義コンポーネントにとって非常に重要です。
- データベースの構成をユーザーが意識する必要はありません。出発点となるテーブルを指定すれば、自動的にアクセス経路をたどって関連するテーブルを見つけ出すことができます。
- 2つのテーブルに属するレコード間の関係は、「1対1」または「1対多」として定義しておけるようになっています。この定義を利用して、自動的に適切な形式で画面表示することができます。
アクセス経路には次のような使い方があります。
- LANSAアプリケーション・テンプレートに、関連テーブルを提示するために使う。
- 事前結合列で、関係するテーブルの個数とそのリンクを定義するために使う。
- LANSA Clientが、関連するテーブル、結合されたテーブルを提示するために使う。
警告
- アクセス経路で関連を定義できるのは、現在有効に使われているテーブルとの間に限ります。これは、最も新しくコンパイルされたテーブルであって、必ずしも最新のものであるとは限りません。逆に、新たに定義したテーブルとの間をアクセス経路で結ぶためには、これをコンパイルしておく必要があります。
ヒントとテクニック
- IBM iデータベースの「アクセス・パス」とは関係ないので、混同しないでください。
次のトピックも参照してください。