2001年12月 2日 | identifier が (R) にならない? | >> 目次 (テーマごと) |
● QUESTION | 「HDR-DTL」 は サブセット の例外措置か。 | |
▼ ANSWER | ちがう。 「関係 = モノ」 という現象である。 | |
2007年 1月 1日 補遺 |
「物が、そのまま、関係として成立している」 という特殊形である。 |
T字形ER手法では、「aRb」 を関数として解釈しないで、命題論理の観点から--物と関係は同一の レベル にある、という観点から--、以下のような推論規則を用意してある。 | ||
関係 | 1-対-1、または 1-対-複数 | 複数-対-1、または 複数-対-複数 |
---|---|---|
resource-対-resource | 対照表を生成する | |
resource-対-event | event に(resource の)認知番号を送る | 「HDR-DTL」 |
event-対-event | 時系列のおそいほうに認知番号を送る | 対応表を生成する |
「再帰」は、ここでは扱わないことにする。 |
「複数-対-1」 (あるいは、「複数-対-複数」) の関係が、(数学でいう) 「多価関数」である。
いわゆる 「HDR-DTL」 の形態をとる可能性が起こるのは、「resource-対-event」 の多価関数と 「event-対-event」 の多価関数である。[ 述語論理では、いわゆる 「HDR-DTL」 の問題点は起こらない。なぜなら、それらは 「従属関数」 として扱われるから。]
「event-対-event」 の多価関数 (複数-対-1) は、「対応表」 (mapping-list) を作成して一価関数に変換されていて、しかも、前方の複数の event が後方の1つの event にまとめられている形態なので、「対応表」 が 「明細行」 として機能する可能性はない。[「event-対-event」 の 「複数:複数」 の多価関数は、2つの個体間に成立する検証可能性 (traceability) を保証しずらいので、事実上、「HDR-DTL」 としては起こらない。] たとえば、以下を仮想する。
{顧客番号、顧客名称} 商品と受注との間に、「複数:複数」 の関係が成立しているとすれば、推論規則に従って記述すれば、以下のようになる。
{顧客番号、顧客名称} さて、ここで問題点となるのは、受注日 (しかも、同じ値の受注日) が、複数、起こる、という点である。しかしながら、受注された日は、事実として、1つの値である。 そこで、以下のような措置を取るとする。
{顧客番号、顧客名称} 以上のような措置を取れば、問題点となるのは、同じ認知番号 (identifier) を附与された べつべつの (2つ以上の) entity は成立できない (it cannot be)、という規則に抵触してしまう点である。言い換えれば、2つの受注番号のなかで、どちらかが、(R) でなければならない、ということである。 「event」 の定義から判断して--「DATE (取引日)」 が帰属する entity は 「event」 であるから--、「受注日」 が帰属する受注番号が (R) になることはあり得ない。とすれば、(受注数の帰属する) 受注番号が (R) ということになる。 ところが、以下の現象があれば、それは矛盾になる。たとえば、以下を仮想する。 {出荷番号、出荷日} そして、受注は明細単位に出荷される、とする。とすれば、受注明細は受注番号が (R) であるから、受注番号を出荷に送ることができない。
{顧客番号、顧客名称} 以上の措置では、出荷のなかに送られた明細行番号が、どの受注番号に附属する明細行であるか、という点を同定できない。これが、(命題論理の推論規則のなかに起こる) いわゆる 「HDR-DTL」 の問題点なのである。次回は、この点について解説する。□ |
[ 補遺 ] (2007年 1月 1日)
「関係が、そのまま、個体である」 ということは、個体のあいだに 「階」 があるということを示している。すなわち、命題論理風に言えば、「S は P1 である」 という文において、P1 (述語) が、さらに、「S は P2 である」 というふうに、「『関係』 の入れ子」 の構造になっている。
(1) S は P1 である。
こういう 「『関係』 の入れ子」 構造は、単純な命題論理形式すなわち 「単文の連言標準形」 では記述できない。こういう構造は、述語論理と クラス 概念 (具象 カテゴリー と ファンクター) を使わなければ記述できない。 |
<< もどる | HOME | すすむ >> | |
データ解析に関するFAQ |