resourceの HDR-DTL は存在しないのか?(1)

基本中の基本で、分かっていないことがある。
resource:resourceの関係に、対照表を生成したくない、と思う時がある。
一方のresourceに、他方のidentifierを移送したくなるのだ。
そのようなデータ構造は、T字形では「従業員マスタに所属部門コードを入れるという愚行」といった強い言葉で否定されている。
この愚行をやりたくなるのは、2つのresourceが

  1. 1:Nの関係である
  2. N側のresourceは、1側のresourceとは独立に存在し得ない
  3. N側が関連づく1側のインスタンスは初期値から変更されないので、「配属」「割り当て」といったイベントが存在しない

という場合だ。


例えば「アルバム」と「収録曲」の関係なんてどうか。
これは私には「受注ヘッダ」と「受注明細」のような関係に見える。
また「従業員」と「部門」の関係とは異質に見える。
対照表を導入する理由が見えない。
導入した対照表は何のeventも表さないし、validation-ruleでもない。
では、この対照表は何なのだろう?


この問題を以下の3段で解くことを自分の課題とする。

  • T字形では、HDR-DTLはresourceには発生しない、ことになっているか確認する
  • 対照表の必要性=「従業員マスタに所属部門コードを入れる」ことが愚行である理由を整理する
    • 論理的にどうヘンなのか整理
    • 実装形で対照表が存在しないと、何が困るのか整理
  • resource「収録曲」に「アルバムコード」を移送したら、論理的にヘンで、かつ実務上困ったことになることを確認する