2003年12月16日 | 「event の並び」 の例外 | >> 目次 (作成日順) |
● QUESTION | 「event の並び」 のなかで例外が起こるが、どのように扱えばよいか。 | |
▼ ANSWER | それぞれの事象を記述して、概念的 スーパーセット を使えばよい。 | |
2009年 1月 1日 補遺 |
● 事業の前提
正常営業循環として、出荷してから請求する、という事業形態である。
商品
出荷
請求 ただし、この構造では、「請求 → 出荷」 を扱うことができない。
商品
出荷
請求
請求
出荷
そして、出荷および請求に対して、それぞれ、概念的 スーパーセット (クラス) を生成すればよい。 |
[ 補遺 ] (2009年 1月 1日)
概念的 スーパーセット (クラス) を使うということは、逆に言えば、相違の サブセット として扱うこともできるということです──ただし、概念的 スーパーセット が、かならずしも、相違の サブセット として翻訳できない現象もある点に注意して下さい (たとえば、「one-header-many-details」 構成のような 「合成関数」 のとき)。ここでは、相違の サブセット として翻訳することもできるでしょうね。たとえば、以下のように。ただし、作図において、「event」 の並びには配慮して下さい。
出荷 { 出荷番号、商品番号 (R)、出荷日、出荷数、... }──────────────────┐ ┼ │ 請求 ┼ │ { 請求書番号、出荷番号 (R)、請求日、請求金額、... }─┐ │ ├×─ 請求 ├×─ 出荷 請求 ┘null (出荷番号、商品番号) │null (請求番号、商品番号) { 請求書番号、商品番号(R)、請求日、請求金額、... } │ ┼ │ 出荷 ┼ │ { 出荷番号、請求番号 (R)、出荷日、出荷数、... }──────────────────┘ 以上が正しい記述ですが、この記述が煩瑣であると思われるなら、「対応表」 を使ってもいいでしょう。たとえば、以下のように。 出荷 { 出荷番号、商品番号 (R)、出荷日、出荷数、... } ┼ │ ○─── 出荷. 請求. 対応表 { 出荷番号 (R)、請求番号 (R)} │ 請求 ┼ { 請求書番号、出荷番号 (R)、請求日、請求金額、... } 対応表は、ふつうなら 「組 オブジェクト」 なのですが──すなわち、構成員は全順序として記述されるのですが [ 出荷が先行して、請求が後続するのですが ]──、ここでは 「集合 オブジェクト」 として扱えばいいでしょう。すなわち、「出荷」 と 「請求」 の並びを問わないで、ふたつの event が成立していればいいというふうに扱えばいいでしょうね。したがって、「出荷」 か 「請求」 のいずれかしか起こっていない状態であれば、対応表のなかには記述されないということです。たとえば、「請求」 が先行して、「出荷」 が まだおこなわれていない状態であれば、「請求」 entity のなかに instance が存在しても、対応表のなかには、それに対応する原像 (すなわち、「出荷」)──あるいは、順序を (請求、出荷) として考えるならば、写像集合 「出荷」── は存在しないということです。 |
[ 追記 ] (2018年 7月26日)
「補遺」 のなかで記述している 「対応表」 は明かな間違いです、申し訳ない。 我ながら アホ としか言いようがない (情けないです)。 |
<< もどる | HOME | すすむ >> | |
▼ データ解析に関するFAQ |