2005年 8月 1日 2つの 「event」 を、1つの 「event」 にしたい >> 目次 (テーマ ごと)
  ● QUESTION   先行・後続が入れ替わる (2つの) 「event」 を、1つの 「event」 として、実装したい。
  ▼ ANSWER   概念的 スーパーセット を実装すればよい。
2010年 8月16日 補遺  



 たとえば、以下を考えてみましょう。

 (1) 入庫番号を認知番号にして、「入庫」 entity が認知されている。
 (2) 検査番号を認知番号にして、「検査」 entity が認知されている。
 (3) 入庫してから検査することもあれば、検査してから入庫することもある。
 (4) 入庫してから検査する際、入庫と検査は、「複数-対-1」 の関連になる。
 (5) 検査してから入庫する際、検査と入庫は、「1-対-1」 の関連になる。
 (6) 入庫と検査は、事業過程のなかでは、いっしょになって、1つの 「手続き」 として考えられている。

 
 実装形として、2つの テーブル を 1つとして考えたい (あるいは、べつべつに切り離す 「意味」 がない) というのであれば、そもそも、概念的にも、切り離さなくてもよい、というふうに考えることができるでしょうね。
 とすれば、以下のように考えればよいのではないでしょうか。

 (1) 意味論的に、いちど、「入庫」 と 「検査」 を、「event」 として考える。
    というのは、「認知番号」 を付与されているから。

    {入庫番号、入庫日、・・・}.
    {検査番号、検査日、・・・}.

 
 (2) 意味論的に、「入庫」 と 「検査」 は、べつべつに切り離す 「意味」 がない、と判断されたなら、
    概念的 スーパーセット を作る。

    {入庫番号、・・・}.────┐
                   ├──{概念的な 「入庫, 検査」}.
    {検査番号、・・・}.────┘

 
 意味論的には、「入庫」 と 「検査」 は、それぞれ、個体指示子 (認知番号) を付与されているので──「F-真」 とされているので──、記号と事実との指示関係が示されているが、いっぽうでは、それらは、1つとして考えられているので、概念的 スーパーセット (それらが 1つであることを示している) を、「集合値を組にする オブジェクト」 として考えて、概念的 スーパーセット のなかに、それぞれの認知番号を複写する。

 (3) 概念的 スーパーセット のなかに、認知番号を複写する。

    {入庫番号、・・・}.────┐
                   ├──{入庫番号 (R), 検査番号 (R)}.
    {検査番号、・・・}.────┘

 
 T字形 ER手法は、あくまで、第 1階 (実 データ と、その集合) しか考えないので──というのは、実 データ に対して有限回の操作をして、アウトプット を出す、という考えかたをしているので──、クラス 概念のように高階の データ を、原則として、認めていませんが、「概念的 スーパーセット」 は、そういう高階の 「概念構成」 を示すために用意されています。

 したがって、もし、認知番号が、それぞれの個体に対して付与されていながら、それらを 1つの個体として考えたいなら、高階の概念のなかで──すなわち、下位の セット を、いくつか集めて、1つの クラス としたいなら──、概念的 スーパーセット のなかに、実 データ を収めることも、認めています。
 上述した例で言えば、{入庫番号 (R), 検査番号 (R)} は、「対応表」 (onto-mapping) に近い性質であって、「複数-対-1」 のなかで、「1-対-1」 の関連を吸収して、かつ、先行・後続の入れ替え (「入庫 → 検査」 および 「検査 → 入庫」) を、1つの 「手続き」 として対応しています。

 



[ 補遺 ] (2010年 8月16日)

 補足説明は取り立てて いらないでしょう。





  << もどる HOME すすむ >>
  データ解析に関するFAQ