メインコンテンツまでスキップ
バージョン: v20 R4 BETA

ORDA

ORDA とは オブジェクト・リレーショナル・データアクセス (Object Relational Data Access) の意味です。 これは、オブジェクトを介してデータベースのモデルとデータにアクセスできるようにする革新的なテクノロジーです。

この概念には、レイジーローディング と合わせてリレーションが暗示的に織り込まれており、デベロッパーはありがちなデータセレクションや転送の煩わしさから解放されます。

ORDA では、データストア と呼ばれる抽象化レイヤーを通してデータにアクセスします。 データストアとは、データベースモデルとデータへの、オブジェクトやクラスを介したインターフェースを提供するオブジェクトです。 たとえば、テーブルは データクラス オブジェクトにマップされ、フィールドはデータクラスの 属性で、レコードは エンティティ および エンティティセレクション を介してアクセスされます。

ORDAを使う理由

テーブル、フィールド、レコードとして情報を表示する代わりに、ORDA では、より正確に現実世界の概念にデータをマップする、別のアプローチを使用します。

効率に影響することなく、リレーショナルストラクチャーを非正規化する能力を想像してみてください。 リレーショナルなストラクチャーを完全に理解する必要がなく、単純かつ分かりやすくデータを使用できるよう、アプリケーション内のすべてのビジネスオブジェクトを定義することを想像してみてください。

ORDA のデータモデルでは、単一のデータクラスだけで旧来のリレーショナルデータベーステーブルを構成していた要素のすべてを取り込むことができるうえに、リレートされた親エンティティの値や、リレートされたエンティティとエンティティセレクションへの直接参照も含めることができます。

クエリは、エンティティセレクションと呼ばれるエンティティのリストを返し、これは SQL のクエリの行セットの役割を果たします。 違いは、各エンティティは自身がどこに所属するかを "知っている" うえ、他のすべてのエンティティとのリレーションを "理解している" ということです。 これはつまり、クエリ内において様々な情報の断片をどのようにリレートさせたらいいか、あるいは、変更された値をリレーショナルストラクチャーに書き込む際にどのようにそれを更新したらいいかを、デベロッパーは説明する必要がないということです。

これに加えて、エンティティセレクションあるいはエンティティなどの ORDA オブジェクトは、リストボックスや変数などのユーザーインターフェース (UI) オブジェクトに簡単に割り当てることができます。 ThisForm コマンドといった強力な機能と組み合わせることで、オブジェクトやコレクションに基づいた、モダンでモジュラーなインターフェースをビルドすることができるようになります。

ORDAの使い方

原則として、ORDA はオブジェクト型を扱います。 ORDA では、データストア自身を含めすべての主要な概念は、オブジェクトを通して利用可能です。 4D では、データストアは自動的に 4D ストラクチャーにマッピングされます

ORDA のオブジェクトは 4D の標準オブジェクトと同様に扱えますが、どれだけでなく特定のプロパティおよびメソッドの恩恵を自動的に享受することができます。

ORDA オブジェクトは 4D メソッドによって必要なときに作成・インスタンス化されます (別途作成する必要はありません)。 また、ORDA データモデルオブジェクトは、カスタム関数が追加可能なクラス とも関連づけられます。