親子関係の計画
親子関係を表すキー構成は、次のような表を作って考えるとよいでしょう。
ここでSECTIONには複数のEMPLOYEEが含まれている場合があります。
またEMPLOYEEには複数のSKILLが含まれている場合があります。
またEMPLOYEEには関係するDOCUMENTが含まれている場合があります。
BO |
ROLE |
AKey1 |
NKey1 |
AKey2 |
NKey2 |
AKey3 |
NKey3 |
AKey4 |
NKey4 |
AKey5 |
NKey5 |
SECTION |
親 |
#DEPTMENT |
暗黙のうちに親に使用されます。 |
#SECTION |
子が自由に使用できます。 |
子が自由に使用できます。 |
子が自由に使用できます。 |
子が自由に使用できます。 |
子が自由に使用できます。 |
子が自由に使用できます。 |
子が自由に使用できます。 |
EMPLOYEE |
( SECTIONの)子 |
#DEPARTMENT値が親と同じでなければなりません。 |
暗黙のうちに親に使用されます。ですから同じ省略値を持っていなければなりません。
|
#SECTIONT値が親と同じでなければなりません。 |
暗黙のうちに子に使用されます。 |
#EMPNO -
この子はDEPARTMENTとSECTION内で一意のものです。 |
子が自由に使用できます。 |
子が自由に使用できます。 |
子が自由に使用できます。 |
子が自由に使用できます。 |
子が自由に使用できます。 |
SKILL |
(EMPLOYEE)の子
( SECTIONの)孫 |
#DEPARTMENT値が親と祖父母のものと同じでなければなりません。
|
暗黙のうちに親と祖父母に使用されます。ですから同じ省略値を持っていなければなりません。 |
#SECTION値が親と祖父母のものと同じでなければなりません。 |
暗黙のうちに親に使用されます。ですから同じ省略値を持っていなければなりません。
|
#EMPNO値が親と同じでなければなりません。 |
暗黙のうちにこの子に使用されます。 |
#SKILLCODE -
この従業員スキルは、DEPARTMENTのSECTIONのEMPLOYEEにとって一意のものです。 |
子が自由に使用できます。 |
子が自由に使用できます。 |
子が自由に使用できます。 |
DOCUMENT |
(EMPLOYEE)の子
( SECTIONの)孫 |
#DEPARTMENT値が親と祖父母のものと同じでなければなりません。
|
暗黙のうちに親と祖父母に使用されます。ですから同じ省略値を持っていなければなりません。 |
#SECTION値が親と祖父母のものと同じでなければなりません。 |
暗黙のうちに親に使用されます。ですから同じ省略値を持っていなければなりません。
|
#EMPNO値が親と同じでなければなりません。 |
#DOCNUMBER -
この従業員ドキュメントは、DEPARTMENTのSECTIONのEMPLOYEEにとって一意のものです。 |
子が自由に使用できます。 |
子が自由に使用できます。 |
子が自由に使用できます。 |
子が自由に使用できます。 |
|
親子関係のルールは次の通りです:
- 子ビジネス・オブジェクトには、親とまったく同じキーにプラスして、それ自身を一意に識別するキーを追加する必要があります。
- 親が使っていない空きキーを使うことができます。
キー構成を左から右に見ていき、親が最後に(実際にまたは暗黙的に)使用したキーの直後に当たるキーからしか割り当てることができません。
理論上の計画が終わったら、キー構造を凝縮できないか考えてみてみてください。これらのキーはプログラム上のもので、エンド・ユーザーには見えないものです。
例えば、上の表のAKey1として#DEPTMENT + "-" +
#SECTIONを選択することで、左側に2列分だけ凝縮することができます。- こうすることである程度のキー・スペースを空けることが可能になります。