2.7 オブジェクトとデータベースの関係

クラスライブラリで操作するオブジェクトとデータベースの関係について説明します。クラスライブラリのオブジェクトは複数のDMAオブジェクトから構成されています。ここでは,クラスライブラリのオブジェクトとDMAオブジェクト,および対応するデータベース構成について説明します。

クラスライブラリのオブジェクトは,メモリ上に存在するオブジェクトです。データベースはDMAのオブジェクトモデルと対応して構成されています。通常,クラスライブラリのオブジェクトに対してメソッドを発行すると,複数のDMAオブジェクトへのメソッドとして配置され,該当するデータベースの表が操作されます。

クラスライブラリのメソッドと,それによって操作されるデータベースの関係を表す例を次の図に示します。なお,この例で使用するCdbrDocumentオブジェクトの構成は,次のとおりです。

CdbrDocumentオブジェクト(クラスライブラリのオブジェクト)
次のDMAのオブジェクトを包含しています。
  • DocVersionオブジェクト(dmaClass_DocVersionクラスのオブジェクト)
  • Renditionオブジェクト(dmaClass_Renditionクラスのオブジェクト)
  • ContentTransferオブジェクト(dmaClass_ContentTransferクラスのオブジェクト)

    図2-7 クラスライブラリのオブジェクト,DMAのオブジェクトおよびHiRDBの表の例

    [図データ]

オブジェクトを生成するDMAのクラスは,それぞれがHiRDBの一つの表と対応します。オブジェクトは各表の行(レコード)に相当します。各DMAクラスが持つプロパティのうち,永続プロパティは各表の列(カラム)に相当します。

DMAオブジェクト同士の関連は,各オブジェクトが属性として保持する参照先のOIIDによって表現されます。この場合,DocVersionオブジェクトは,ContentTransferオブジェクトのOIID(302:実際とは異なる値です)を保持することで,参照先のRenditionオブジェクトを特定します。

注※
ただし,一つのDocVersionオブジェクトに対応するRenditionオブジェクトが一つしか存在しない場合,Renditionオブジェクトは,dmaClass_DocVersionクラスの表に含まれます。このため,図2-7ではRenditionオブジェクトはDocVersionオブジェクトと同じ表に含まれています。

DMAオブジェクトとデータベースの関係の詳細については,マニュアル「DocumentBroker Version 3 システム導入・運用ガイド」を参照してください。