2004年 10月 1日 「HDR-DTL」 と参照整合制約 >> 目次 (作成日順)
  ● QUESTION   T字形 ER手法では、「HDR-DTL」 には、参照整合制約を記述しないのか。
  ▼ ANSWER   しない。
2009年10月16日 補遺  



 T字形 ER手法では、「生成規則」 のなかで、「再利用された」 認知番号を、(R) として、記述する。
 したがって、(R) は、実装形では、参照整合として扱っても良い。
 ただ、「HDR-DTL」 では、HDR と DTL のあいだには、(R) がないので、参照整合を示していない。ただ、概念的 スーパーセット が、HDR と DTL との関係 (「相違の サブセット 間の リレーションシップ」) を コントロール している。
 つまり、HDR と DTL とのあいだには、「或る関係がある」 ことを記述している。

 「HDR-DTL」 は、HDR と DTL が 「揃って」、1つの entity を構成するので、1つの entity のなかには、「自己言及するための」 参照整合はない、というのがT字形 ER手法の考えかたである──「自己言及型」 の 「再帰」 は、entity ではない点に注意されたい。
 1つの entity は、自らを言及するための (R) をもつことはできない。

 
 コッド 関係 モデル のように、セット 概念と第一階述語論理 (個体と集合) を前提にすれば、「HDR-DTL」は、従属性を判断規準にして扱うことができるが、T字形 ER手法は、述語論理を使わないで、命題論理を使い──「S-P 形式」 の主選言標準形を正規形としたので--、従属性(関数従属性・多値従属性・結合従属性)を使うことができない。
 したがって、「関係が、そのまま、モノ になる」 という事象は、命題論理では、直接の記述方法がない(!)

 実は、「相違の サブセット 間の リレーションシップ」 と 「概念的 スーパーセット」 を使って、「HDR-DTL」 を記述することは、理論的な検証をする前に、すでに、実地に使っていた──ただ、どうも、その記述が、納得いかなかった。でも、実地に使っていて、破綻はしなかった。

 理論的に検証する際、まず、私が考えた点は、(セット 概念のなかで、) たとえば、受注 「HDR-DTL」 を例にすれば、受注という 1つの entity が、受注 HDR と受注 DTL という 2つの サブセット から構成される、という点であった。

 サブセット には、「排他的 OR」 関係が成立する。でも、HDR と DTL は、「排他的」 ではなくて、「並立」 である。しかも、サブセット のあいだに、関係 (関数) が成立する。この 「関係」 が、「受注」 entity を 「意味している」。

 (HDR-DTL の関係を示す) リレーションシップ の アトリビュート として、商品 コード (R) とか受注日とか受注数などを記述することはできない。それらの データ 項目は、やはり、HDR や DTL のなかに記述される項目である。

 しかも、HDR も DTL も、「現象的には」、それぞれ、独立した entity として作用することが 「できる」──本来であれば、HDR と DTL が 「揃って」 はじめて、1つの entity になるのだが(──したがって、HDR と DTL は、1つの entity を構成する メンバー にすぎないので、それぞれが、単独の entity ではないが──)、HDR も DTL も、ほかの 後続 event に対して、認知番号を複写する (re-used) ことができる。

 とすれば、HDR と DTL を、セット 概念のなかで、サブセット として考えていたのだけれど、観点を変えて、それぞれを 「集合 (性質)」 として、タイプ 1 (個体に対する集合) と見なして、「(HDR-DTL の) 関係」 が 「受注」 entity (性質) を 「意味している」 のだから、「受注」 entity は、HDR と DTL に対して上位の階にある 「性質の性質」 (タイプ 2) である、と考えれば良いのではないか、と考えた。
 ただし、「受注」 entity と「HDR-DTL」 は、数学的に正確に言うなら、具象 カテゴリー である。

 具象カ テゴリー は、或る数学的構造をもつ集合 (HDR および DTL) を集めた 1つの クラス と、そのような集合間に成立する関数の クラス (「受注」 entity) との コンビネーション をいう。そして、この関数の クラス を ファンクター という。つまり、(HDR-DTL の関係を示す) 「受注」 entity は ファンクター であり、クラス である。

 具象 カテゴリー を、(数学的な正確性を、やや、犠牲にして、) タイプ 理論ふうに──タイプ 2 として──読み替えた、と云ってよい。

 そのために、T字形 ER手法では、「概念的 スーパーセット を使って、相違の サブセット 間の リレーションシップ を記述する」 という説明になった。それを正当に説明すれば、「具象 カテゴリー と ファンクター」 「タイプ 理論」 (クラス 概念と階の理論) ふうに説明している、という次第です。

 ちなみに、ゲーデル 氏の 「不完全性定理」 は、タイプ 理論を使っているが、現代では、具象 カテゴリー ふうに証明することができる──拙著 「論考」 の 136ページ を参照されたい。
 したがって、タイプ 理論と具象 カテゴリー は、翻訳できる。

 



[ 補遺 ] (2009年10月16日)

 本 エッセー では、「HDR-DTL (one-header-many-details)」 について、具象 カテゴリー・ファンクター とか タイプ とか難しいことを謂っていますが、単純に言えば、(「HDR-DTL」 は) 「合成関数」 と考えていいでしょう。すなわち、   z = g { f (x) }.

         g          f
 z (顧客) ←── y (受注) ←── x (商品).

 言い換えれば、「商品」 と 「受注 (DTL)」 とのあいだに写像 f があって、「顧客」 と 「受注 (HDR)」 とのあいだに写像 g があって、さらに、「受注 (HDR)」 と 「受注 (DTL)」 とのあいだに写像 f・g がある、ということ。「受注 HDR」 と 「受注 DTL」 とのあいだの写像が、「関係が そのまま モノ になる」 ということです。
 この写像関係を TM (T字形 ER手法の改良版) では以下のように記述しています。

              合成関数 f・g のこと       
             ┌─────────────────┐
             │       受注      MA│
             ├────────┬────────┤
             │受注番号    │        │
             │        │        │
             │        │        │
             └────────┼────────┘
                      |
                      × 概念的スーパーセット
                      ↓
          ┌───────────┴───────────┐
  写像 g のこと  |               写像 f のこと  |
 ┌────────┴────────┐     ┌────────┴────────┐
 │      受注HDR      │     │      受注DTL      │
 ├────────┬────────┤     ├────────┬────────┤
 │受注番号    │受注日     │ f・g  │受注番号    │受注数     │
 │顧客番号 (R)  |        ├┼───<│明細行番号   │        │
 │        │        │     │商品番号(R)   │        │
 │        │        │     │        │        │
 │        │        │     │         │        │
 └────────┴────────┘     └────────┴────────┘

 「DTL」 は、多値 (many-value) が 「共時的 (同時に)」 に成立する 「AND 関係」 なので、TM では、「MA (Many-value And)」 (あるいは、MAND) と云っています。したがって、TM では、「DTL」 のなかの受注番号には、(R) を付与しない。

 なお、MA の簡便的な記述として、以下の表記も認めています。

 ┌─────────────────┐     ┌─────────────────┐
 │      受注HDR     E│     │      受注DTL    MA│
 ├────────┬────────┤     ├────────┬────────┤
 │受注番号    │受注日     │     │受注番号    │受注数     │
 │顧客番号 (R)  |        ├┼───<│明細行番号   │        │
 │        │        │     │商品番号(R)   │        │
 │        │        │     │        │        │
 │        │        │     │         │        │
 └────────┴────────┘     └────────┴────────┘

 というのは、MA 構成が多いときに、概念的 スーパーセット を いちいち 記述するのが煩瑣になるし、TMD が見難くなるので。





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