resourceの数がデータベースの限界を決める


ウィトゲンシュタイン『論理哲学論考』を読む (ちくま学芸文庫) を読んで、T字形ER手法は 論理哲学論考 (岩波文庫)インスパイヤされて生まれた、ということの意味が分かってきた。
論考が世界を分析する道具立てが、やたらとRDBに似ているのだ。
論考というのは「我々にはいったいどれだけのことが考えられるのか」を明らかにしようとする本。そのために論理空間なる概念を出してくる。
論理空間は我々に理解可能な全ての事態の集合であり、その空間の外にあるものは人間には考えることはできない。だから、論理空間が思考の限界を示す。


論理空間の作り方は以下の通り。

  • 「対象」を列挙する。対象とは何なのかは哲学上の大問題なのだそうだが、そういうのには触らないことにして、例えば「論理哲学論考」という本とか、この猫とか、あの時計とか、そういうのが対象だと、知るのではなく感じていただきたい。
  • 対象はそれぞれ「どのような事態を構成できるか」の決まり=論理形式を持っている。猫という対象であれば「寝る」とか「ねずみを捕る」とか「トラである」とか「三毛である」とか。その論理形式に従って考えられる限りの「事態」を作る。
  • 全ての事態を集めたら論理空間ができる。

ここから、論理空間の広さは、対象の数で決まってくることが分かる。
これは当たり前の話で、

  • 猫というものを知らない人は猫が関わる一切の事態を想像できない。
  • 猫が何かを知ることによって、その人が考えられること・理解できることは増える。

という程度のこと。


で思ったのが、resouceに別のresourceまたはeventを掛け合わせて新たな対照表を生成する、というT字形ER手法の手続きが、上記の論理空間の構成手順みたいだということ。
論考とT字形の用語には、大体以下の対応があるように見える。

論考 T字形
対象 resource
事態 対照表(event)
論理形式 スキーマ

これが合ってたら、対象の数が思考の限界を決めるように、resourceの数がデータベースで表現できることの限界を決めているということになる。
ポイントはデータ項目数が同じでも、とにかくresourceをばらしていけば限界が広がっていくということ。
例えば普通の顧客マスタでは属性として扱われる「苗字」「メールアドレス」といったものをresourceとして分離すると、それらに関するeventを生成する可能性が開ける。まったく具体例が思いつかないけど。


対象はその論理形式によって参加できる事態が限定されている。だからresource同士を総当りで組み合わせてみたところで意味のある事態(event)はなかなか出てこない。
ましてビジネス上の意味のあるeventなんてなかなか発見できるものではない。苗字とメルアドの対照表を作ってみたところで「ドコモユーザには佐藤さんが多い」とか、どうでもいいことしか分からない。
が、データベースの可能性を最大にしておくためには、極力多くのものをresourceとして独立させなくてはならない。
T字形で「eventよりresourceが多いほうがよい」といわれるのはなぜか。みなしentityという「SEによって作図の異なるもの」がなぜ必要なのか。そういうことの理由がこの辺りにありそう。