Page History
[ |../../index.htm#lansa/lansa048_3240.htm]
Visual LANSA フレームワーク ガイド > フレームワーク・プログラミング > インスタンスリストとインスタンスリスト・マネージャー > 複数の種類のオブジェクトがあるインスタンスリスト > 親子リレーションの計画 (VLF-WIN の場合)
...
VLF-ONE プログラムに関する情報は、「子の追加 (VLF-ONE の場合)」を参照してください。
VLF-WIN で親子リレーションを表すキーの構成は、次のような表を作って考えると簡単です。 で親子リレーションを表すキーの構成は、次のような表を作って考えると簡単です。 ここでSECTIONには複数のEMPLOYEEが含まれている場合があります。
ここでSECTIONには複数のEMPLOYEEが含まれている場合があります。
またEMPLOYEEには複数のSKILLが含まれている場合があります。 またEMPLOYEEには複数のSKILLが含まれている場合があります。
またEMPLOYEEには関係するDOCUMENTが含まれている場合があります。
ビジネス・オブジェクト | 役割 | AKey1 | NKey1 | AKey2 | Nkey2 | AKey3 | Nkey3 | AKey4 | Nkey4 | AKey5 | Nkey5 |
|---|---|---|---|---|---|---|---|---|---|---|---|
SECTION | PARENT | #DEPTMENT | 暗黙のうちの親に使用されます。 | #SECTION | 子が自由に使用できます。 | 子が自由に使用できます。 | 子が自由に使用できます。 | 子が自由に使用できます。 | 子が自由に使用できます。 | 子が自由に使用できます。 | 子が自由に使用できます。 |
EMPLOYEE | ( SECTIONの)子 | #DEPARTMENT値が親と同じでなければなりません。 | 暗黙のうちに親に使用されます。ですから同じ省略値を持っていなければなりません。 | #SECTIONT 値が親と同じでなければなりません。 | 暗黙のうちに子に使用されます。 | #EMPNO - この子はDEPARTMENTとSECTION内で一意のものです。 | 子が自由に使用できます。 | 子が自由に使用できます。 | 子が自由に使用できます。 | 子が自由に使用できます。 | 子が自由に使用できます。 |
SKILL | (EMPLOYEE)の子 | #DEPARTMENT値が親と祖父母のものと同じでなければなりません。 | 暗黙のうちに親と祖父母に使用されます。ですから同じ省略値を持っていなければなりません。 | #SECTION値が親と祖父母のものと同じでなければなりません。 | 暗黙のうちに親に使用されます。ですから同じ省略値を持っていなければなりません。 | #EMPNO 値が親と同じでなければなりません。 | 暗黙のうちに子に使用されます。 | #SKILLCODE - この社員スキルは、DEPARTMENTのSECTIONのEMPLOYEEにとって一意のものです。 | 子が自由に使用できます。 | 子が自由に使用できます。 | 子が自由に使用できます。 |
DOCUMENT | (EMPLOYEE)の子 | #DEPARTMENT値が親と祖父母のものと同じでなければなりません。 | 暗黙のうちに親と祖父母に使用されます。ですから同じ省略値を持っていなければなりません。 | #SECTION値が親と祖父母のものと同じでなければなりません。 | 暗黙のうちに親に使用されます。ですから同じ省略値を持っていなければなりません。 | #EMPNO 値が親と同じでなければなりません。 | #DOCNUMBER - この社員ドキュメントは、DEPARTMENTのSECTIONのEMPLOYEEにとって一意のものです。 | 子が自由に使用できます。 | 子が自由に使用できます。 | 子が自由に使用できます。 | 子が自由に使用できます。 |
...
親子関係のルールは次の通りです:
- 子ビジネス・オブジェクトには、親とまったく同じキーにプラスして、それ自身を一意に識別するキーを追加する必要があります。
- 親が使っていない空きキーを使うことができます。キー構成を左から右に見ていき、親が最後に(実際にまたは暗黙的に)使用したキーの直後に当たるキーからしか割り当てることができません。
理論上の計画が終わったら、キー構造を凝縮できないか考えてみてみてください。これらのキーはプログラム上のもので、エンドユーザーには見えないものです。
例えば、上の表のAKey1として#DEPTMENT + "-" + #SECTIONを選択することで、左側に2列分だけ凝縮することができます。 こうすることである程度のキー・スペースを空けることが可能になります。
[ |../../index.htm#lansa/lansa048_3240.htm]- こうすることである程度のキー・スペースを空けることが可能になります。