2004年 3月 1日 作成 「基準編第10章 (コード 体系方式)」 を読む >> 目次に もどる
2006年12月 1日 更新  




 コード 体系方式は、1つ 1つの データ 項目を対象にして、以下の 2点を判断しながら、T字形 ER図を作成する やりかた である。

 (1) 認知番号 (××コード、××番号)として使うことができる データ 項目
 (2) 認知番号以外の データ 項目

 認知番号なら、entity を生成して、認知番号以外なら、どれかの entity のなかに入れる。もし、データ の 「意味」 が判断できないなら、一時的に、「ラピュタ」 ファイル に収めておいて、後々、対応すればよい。

 
コード 体系方式は、「属性集合」を起点にして、タプル (a tuple) を組む コッド 正規形に対応している。

 DA たちは--「すべての DA は」と言って良いくらいに--、コード 体系方式を使っている。T字形 ER手法の原型を公にしたとき、作図方式は コード 体系方式だけであったという理由もあるが、T字形 ER手法が、そもそも、コッド 正規形を修正することを狙いにして提示されたので--コード 体系方式は、データ 項目を単位にして entity を生成するので--、(主体集合は記号化されている前提に立って--認知番号を primary-key にして、entity が成立していることを前提にして--、) 「属性集合」を単位として、タプル (a tuple) を組む コッド 正規形と対応しやすかったのかもしれない。

 コード 体系方式の具体的な手順は、拙著を参照していただくとして、本稿では、「entity」 に対して、命題論理の考えかたと述語論理の考えかたを検討しておきたい。

 
[ 理論的には、] 述語のなかに、null は あり得ない。

 T字形 ER手法は、命題論理を前提にして 「構造」 を記述するので、「entity」 は、「S-P (主語-述語)」 を 1つの単位として認知されている。つまり、1つの T 勘定 (T-account) のなかでは、左側に、主語 (subject) が記述され、右側に、述語 (predicate) の連言が記述される。しかも、述語の連言は、すべてが 「真」 でなければならない (--言い換えれば、述語のなかには、「null」 はない)。もし、述語のなかに、null が起これば、述語群を相違の サブセット として扱うか、あるいは、null の述語を VE として扱う。

 命題論理を使って生成された 「entity」 は、述語論理 (および、集合論) の観点から検証することができる。つまり、「S-P」 形式を、「P (s)」 形式を使って検証できる。言い換えれば、「すべての」 述語 (性質) が 「真」 であれば、1つの集合を措定 (そてい) できる。逆に言えば、述語論理の観点から判断しても、述語 (性質) のなかに null があれば、集合を定立することはできない。
 したがって、1つの主語と 1つ以上の述語から構成される 「entity」 は、かならず、述語の値は充填されていなければならない、ということである。

 
[ 現実には、] 認知番号を使って entity を定立しても、述語のない事態が起こることもある。

 しかしながら、述語そのものがない事態が起こることもある。
 たとえば、地域 コード を認知番号にして、「地域」 entity (resource) を定立しても、述語がないことがある。 resource であれば、述語として、「名称」 くらいは記述されていると想像できるが、そうでないこともある。というのは、地域番号が店番号と組まれて、「地域番号 + 店番号」 を マスター・キー にして、地域ごとに、地域に帰属するすべての店の集計を演算するための キー に過ぎない、という使われかたがされていた。おそらく、「地域名称」 は、プログラム のなかで記述されているのかもしれない。

 「entity の定立」 と 「entity の記述」 は、切り離して考えたほうがよい。「主語-述語」 形式において、主語があっても、述語ない、という現象は、認知番号を付与して、entity を定立しても、entity の性質を記述しない、ということである。
 T字形 ER図を作成して、もし、T 勘定の右側のなかに、述語 (性質) が 1つもないなら、どうして、そういう事態が起こっているのか、という点を検討しなければならない。entity を認知しても、性質を記述しない、という現象は、entity が単なる 「指示 (that)」 にしかならないので、管理対象にはならない。事業のなかで公に伝達される情報として、単なる 「指示語」 が、多数の人たちの間で やり取りされるはずがない。

 
述語が 5つ以上あれば、 entity が正規形になっているかどうか、という点を再検証したほうがよい。

 また、述語が 5つ以上になれば、それらの述語が、主語に対して、正当に対応するかどうか、という点を検討したほうが良い。というのは、resource であれ、 event であれ、1つの entity のなかに帰属する性質は、多くないはずである。 resource なら、「名称」 とか 「長さ」 とか 「重さ」 という性質くらいしか帰属しないし--「色」 は、物体色であれ構造色であれ、「カラー・コード」 を付与されて、1つの entity として定立されているかもしれない--、 event なら、「日付」 とか 「数量」 とか 「貨幣的測量値」 などの性質しか帰属しない。もし、述語が 5つ以上であれば、以下のいずれかの状態にある。

 (1) VE 生成の対象となる性質が多い。
 (2) サブセット 生成の対象となる コード が多い。

 
[ 結論 ] 命題論理を使って定立された entity は、述語論理 (集合論) を使って、正規形を検証できる。

 以上、述べてきたように、命題論理を使って措定された entity は、述語論理 (および、集合論) を使って検証することができる。 entity が正規形 (標準形、一般形) であるかどうか、という点を検証する際、以下の 2点を注意したほうがよい。

 (1) 述語が 1つもない。
 (2) 述語が 5つ以上ある。

 



[ 補遺 ] (2006年12月 1日)

 TM (T字形 ER手法) が使っている T 勘定 (T-account) は、以下に示すように、実体主義の観点からも関係主義の観点からも読めるようになっている。すなわち、実体主義の観点に立って、個体を認知してから述語 (性質) を記述することもできるし、関係主義の観点に立って、述語を使って集合 (個体) を作ることもできる形式になっている。

                 実体主義、命題論理式
                  ┌───────┐
                  │       ↓
             ┌────┴────────────┐
             │       entity       │
             ├────────┬────────┤
             │ 主語     │ 述語     │
             │        │        │
             │        │        │
             └────────┴───┬────┘
                  ↑       │
                  └───────┘
                 関係主義、述語論理式

 実体主義の観点に立って、まず、認知番号を使って個体を定立して、個体に帰属する述語をあつめて、「S-P (主語-述語)」 を単位にして、同一主語に関して述語の連言を作る やりかた が、TM 上、情報仕訳法 (かつて、命題論理方式と云っていた やりかた) である。いっぽう、TM’ では、述語論理 (および集合論) の観点に立って、(個体は、すでに記号化されている前提で、) いくつかの述語をあつめて個体を措定したときに、現実的事態を指示しているかどうか--個体指示子を付与されていないので、「言及しているかどうか」 と云うほうが正確であるが、--を調べる。それが、TM’ では、「みなし entity」 として扱われる。
 いずれの やりかた であれ--情報仕訳法であれ、データ 転記法であれ--、(2値論理のなかで、) 「真」 とされる述語のみを対象としている。したがって、TM (および TM’) では、null を、一切、認めない。

 そして、T 勘定では、左側--個体の認知番号--が、関係の文法を適用される対象になっている。T 勘定を使った理由は、単に見やすさのためではない。T 勘定の記法は、「実体主義の認知」 および 「関係の文法」 と組なっている。T字形の記法を真似した データ 設計法があるそうだが、関係の文法を無視して使っているそうである。T字形の記法を真似しても--しかも、「もの」 とか 「こと」 などという ザッとした概念を使って個体を認知しているそうだが--、関係の文法を無視すれば、「骨抜き」 状態である (苦笑)。ただし、T字形の記法と 「関係の文法」 を真似すれば、盗用になるが (笑)。

 





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