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データベースの「アクセス・パス」とは関係ないので、混同しないでください。


次のトピックも参照してください。

アクセス経路の例

アクセス経路に関する検討事項

  • No labels