アソシエーションクラスが表すオブジェクトクラスの関連には,同一のキープロパティでの関連と,異なるキープロパティでの関連の2種類があります。
また,アソシエーションクラスの属性として,主従関係(Weakアソシエーション)になるものがあります。
アソシエーションが表すオブジェクトクラスの関連,およびWeakアソシエーションについて説明します。
- 同一のキープロパティでの関連
例えば,「HardwareLink」というアソシエーションクラスは,資産情報「AssetInfo」とハードウェア資産情報「HardwareInfo」の関連を表しますが,どちらのオブジェクトクラスでも,キーとなるプロパティは「AssetID」です。
「AssetInfo」と「HardwareInfo」は常に1対1で関連づけられるため,二つのオブジェクトクラスは,「AssetID」によって関連を表すことができます。
そのため,資産管理データベース上には,「AssetInfo」と「HardwareInfo」の関連を定義した情報(アソシエーションクラスとしての情報)は作成されません。
「HardwareLink」の表すオブジェクトクラスの関連を次の図に示します。
図8-3 同一のキープロパティでの関連
- 異なるキープロパティでの関連
例えば,「ContractLeaseLink」というアソシエーションクラスは,契約情報「Contract」と資産情報「AssetInfo」の関連を表しますが,キーとなるプロパティは,それぞれ「ContractID」と「AssetID」で異なります。
これは,複数の機器をまとめて契約する場合,一つの「Contract」に複数の「AssetInfo」が関連づけられるためです。
そのため,資産管理データベース上には,異なるキープロパティを対応させて二つのオブジェクトクラスの関連を定義した情報(アソシエーションクラスとしての情報)が作成されます。
「ContractLeaseLink」の表すオブジェクトクラスの関連を次の図に示します。
図8-4 異なるキープロパティでの関連
- 主従関係(Weakアソシエーション)
あるクラスともう一方のクラスを,主従関係で表します。この関係では,主となるクラスを削除すると,従属するクラス(Weakクラス)も自動的に削除されます。
主従関係を表すアソシエーションクラスには,例えば「HardwareLink」クラスがあります。これは,資産としての情報「AssetInfo」クラスと,その資産がハードウェアであるとき,ハードウェア資産としての「HardwareInfo」クラスを関連づけています。つまり,まず資産がありその付加情報としてハードウェア資産情報があります。したがって,「AssetInfo」クラスが主となり,「HardwareInfo」クラスが従となるWeakアソシエーションの関係となります。
オブジェクトクラス同士の主従関係については,「13.1.3 クラス関連図」を参照してください。
All Rights Reserved. Copyright (C) 2006, 2008, Hitachi, Ltd.