対照表でないeventは存在するか
定義上、存在しません。
しないはずなのだが...
「eventではない対照表」というものは普通にある。よく出てくる例は在庫。
在庫は 倉庫x棚x商品 の対照表だが、identifierがない(「在庫コード」なんてものはない)ので、eventではない。
その逆の、「対照表ではないevent」というものがあるのかどうか分からなかったのだが、今日、研修資料に以下の記述を発見。
event は対照表のサブセット(部分集合)である。
対照表は event の変形ではない。
対照表として論理的に成立できる事象のなかから、identifierを附与された事象がevnetとして認知される。
すべてのeventは対照表でした。
しかし、お客さんの帳票をT字形ER図に書き下す過程で、(対照表を生成するための resource の片方がないために)「対照表ではないevent」というものが出てきてしまうことがある。
例:現行システムに顧客マスタがない。当然、顧客コードもない。 顧客情報は全部注文テーブルに書いてある +-----------------------------+ +-----------------------------+ | 商品 R | | 注文 E | +--------------+--------------+ +--------------+--------------+ | 商品コード | 商品名 | | 注文番号 | 注文数 | | | +---------+ 商品コード(R)| 注文日時 | | | | | | 顧客名 | <-- 顧客マスタがない! | | | | | 顧客住所 | | | | | | : | +--------------+--------------+ +--------------+--------------+
こういうのは、お客さんのコード体系がおかしいということなのだろう。
注文eventを作図するためには、resource「顧客」とそのidentifier「顧客コード」を新設するのが正しい措置なのだろう。
... でも、それやってしまうと「コード体系に表現されていないコードを勝手に使ってはいけない」ルールに反するのではないか?