2003年 8月16日 作成 「理論編第5章 (関係の論理)」 を読む >> 目次に もどる
2006年 5月16日 更新  




 第5章の「関係の論理」は、拙著「論考」を執筆する最大の理由になった章である。

 本章では、「関係の論理」の数学的な通説をまとめている。
 本章をまとめながら、小生の頭のなかにあった論点は、以下の2点であった。

  (1) 関係の論理(aRb)を関数として扱わない。
  (2) タイプ(階の)理論を使わない。

 本稿では、(1)を論考の対象とする。(2)は、次回、論述する。

 
命題論理と主語間の論理関係

 T字形ER手法は、コード体系および自然言語を前提にして、データの認知規準として、命題論理を使っている。しかし、命題論理では、以下の論理を解析できない。

   S is on S.

 「主語-述語」という論理形式のほかに、主語の間に関係が成立する論理形式がある。

 
aRb と多項述語論理式

 2つの主語間の関係を「aRb」として記述する。「aRb」は以下のように読む。

  「aはbに対して関係Rにある。」 (Rは Relation の省略形である。)

 「aRb」は、2つの変項 (a と b) をもつ命題関数である。

 単項述語論理式 [ P(x) ] のなかの変項が2つになれば、P(x, y) として2項述語論理式になる。変項が2つ以上の命題関数を一括して多項命題関数(多項述語論理)という。2項述語論理式 [ P(x, y) ] の述語Pは、x と y との関係をあらわしているので、「x と y の関係の述語」、あるいは、単純に、x と y の「関係」ともいう。

 多項述語論理式は、集合論 (直積集合) を使って、関係の論理に転換できる。
 すなわち、関係の論理 [ aRb ] は、R (a, b) として考えて、2項述語論理式 [ P(x, y) ] と同値になる。

 
「関係=関数」は、事業のなかで使われているデータを対象にすれば、成立しない。

 P(x, y) は、2つの変項をもつ関数 f(x, y) である。つまり、「関係」とは「関数」のことである。

 「関係=関数」を前提にして、コッド氏 (Codd, E.F.) は、直積集合を使ってデータ正規形を提示した。
 しかし、事業のなかで使われているデータを関数の変項にしたときに、以下の2点を対応できなかった。

  (1) 順序対
  (2) null 値

 関数(あるいは、集合)では、順序(先行関係)が前提となる。
 たとえば、f(0, 1) と f(1, 0) は、変項として同じ数値を使っているが、並びを変えれば「意味」がちがう。
 事業のデータを対象にしたとき、f(出荷, 請求) と f(請求, 出荷) では、関数として順序対は成立する。つまり、データの並びが変われば、「意味」がちがう。f(出荷, 請求) は、出荷してから代金を回収することを「意味」しており、f(請求, 出荷) は、入金後に出荷することを「意味」している。これらのデータに対して、関数は成立する。いっぽう、f(部門, 従業員) と f(従業員, 部門) では、並びを変えても、「意味」は同じである。いずれも、「配属」という意味になる。

 数学では、変項に対して、アルファベットを使えば、「すべての」データを並べることができる。
 しかし、事業のなかで使われているデータには、「時系列 (正常営業循環あるいは事業過程) のなかで並べられるデータ (並びが「意味」を形成するデータ)--したがって、関数を適用できるデータ--」と「時系列 (並び) の枠外で、『関係』が意味を形成するデータ」の2つがある。

 そのために、コード体系を前提にして entity を認知するT字形ER手法では、関係の論理として関数を使わないで、事業のデータを「並べられるデータ」と「並べられないデータ (並びが論点にならない、という意味)」の2つに類別して、「推論ルール」を使うことにした。「推論ルール」については、後日、述べる。

 なお、null値については、後日、第6章「集合論」のなかで論点にする。

 



[ 補遺 ] (2006年 5月16日)

 本節で述べられている論点は、やや、舌足らずであった。というのは、コッド 関係 モデル が直積集合を使った対象は 「属性値集合」 であって 「主体集合」 ではない。コッド 関係 モデル では、「主体集合」 は、包摂関係として考えられている--包摂関係は、述語論理の 「仮言」 命題に翻訳できる。
 コッド 関係 モデル の直積集合を、TM は、主体集合間で適用している点を、まず、明記すべきだったと思う。

 さて、本節で論点にしたのは、「関係」 の対称性・非対称性である。
 関係の対称性とは、たとえば、2項関係を考えたときに、「恋人である」 という関係を示すことができる。たとえば、「a (佐藤正美) は b (山崎恵美子) の恋人である」 という文は、「b (山崎恵美子) は a (佐藤正美) の恋人である」 という文と同値 (同じ意味) である。つまり、項 (a と b) を入れ替えても、関係は変わらない。しかし、たとえば、「父親である」 という関係を考えたら、「a (佐藤正美) は b (佐藤敦、小生の長男) の父親である」 という文は 「真」 であるが、項 (a と b) を入れ替えた 「b (佐藤敦) は a (佐藤正美) の父親である」 という文は 「偽」 となって、「意味 (真理値)」 がちがう。

 事業過程の データ では、正常営業循環 (購買過程-生産過程-販売過程) のなかで、関係の非対称性を示す性質を帯びた entity と、関係の対称性を示す entity がある。TM では、関係の非対称性を示す entity を 「event」 として、関係の対称性を示す entity を 「resource」 としている。「event」 は、正常営業循環のなかで関係の対称性を示す性質として、「取引日 (できごとが起こった日)」 が帰属する。「resource」 には 「取引日」 は帰属しない。

 TM では、まず、個体が認知される--「合意された認知番号」 を付与された個体が認知される。言い換えれば、TM は、属性値集合を対象にして、関係 モデル を使って主体集合を作るのではなくて、まず、認知番号を付与された個体 (主体集合) を認知する。その個体の構成は、命題論理を前提にしている。
 そのために、関係 モデル を主体集合のあいだに適用することになる。その際に、関係 モデル を数学的な 「関係」 (「並べる」 ということ) として記述するかどうかを本節では論点にした。事業過程を対象にすれば、「並べる」 ということを、前述したように、一律の前提にすることはできない。

 また、TM は、個体 (主体集合) を最初に認知するので、認知できない null を 「個体の性質」 として記述する訳にはいかない。

 




  << もどる HOME すすむ >>
  「論理データベース論考」を読む