resourceの HDR-DTL は存在しないのか?(1)
基本中の基本で、分かっていないことがある。
resource:resourceの関係に、対照表を生成したくない、と思う時がある。
一方のresourceに、他方のidentifierを移送したくなるのだ。
そのようなデータ構造は、T字形では「従業員マスタに所属部門コードを入れるという愚行」といった強い言葉で否定されている。
この愚行をやりたくなるのは、2つのresourceが
- 1:Nの関係である
- N側のresourceは、1側のresourceとは独立に存在し得ない
- N側が関連づく1側のインスタンスは初期値から変更されないので、「配属」「割り当て」といったイベントが存在しない
という場合だ。
例えば「アルバム」と「収録曲」の関係なんてどうか。
これは私には「受注ヘッダ」と「受注明細」のような関係に見える。
また「従業員」と「部門」の関係とは異質に見える。
対照表を導入する理由が見えない。
導入した対照表は何のeventも表さないし、validation-ruleでもない。
では、この対照表は何なのだろう?
この問題を以下の3段で解くことを自分の課題とする。
- T字形では、HDR-DTLはresourceには発生しない、ことになっているか確認する
- 対照表の必要性=「従業員マスタに所属部門コードを入れる」ことが愚行である理由を整理する
- 論理的にどうヘンなのか整理
- 実装形で対照表が存在しないと、何が困るのか整理
- resource「収録曲」に「アルバムコード」を移送したら、論理的にヘンで、かつ実務上困ったことになることを確認する