2023年 6月15日 「2.13 個体指定子が付与されていない...」 を読む >> 目次に もどる


 本節では、個体指定子がない モノ を個体として扱う悪弊を述べています。TM では、個体指定子が付与されていない モノ を個体とは認めていない。
 モデル は 「現実的事態を写像した形式的構造」 です。モデル は実例・模型であって、事業を対象にして モデル をつくるというのは、事業構造を写像した論理構造をつくるということに他ならない。旧来の データベース (階層型、ネットワーク型) の物理的束縛 (ポインター、チェーン) を断ち切って、数学 (集合論と第 1階述語論理) を基底にした データベース 構造を コッド氏が 1970年代に提示して以後、コッド 氏の論文を基礎にして リレーショナル・データベース が誕生して 1980年代以降は世界中で リレーショナル・データベース が使われるようになりました。コッド 論文は、データベース の新たな世界を切り開きましたが、旧来の データベース 技術とは断絶を生じて、それがために、リレーショナル・データベース 導入の過度期には様々な混乱が生じました。それらの混乱のなかで一番悪質だったは、集合論を前提にした セット・アット・ア・タイム 法が レコード・アット・ア・タイム 法のように扱われてしまうと事態でした。その混乱を生んだ最大の原因が primary-key だったと私は思っています。旧来の技術に慣れ親しんだ システム・エンジニア や プログラマ のなかには、primary-key を マスター・キー (index-key のなかの unique-key) と勘違いする人たちが多かった。セット・アット・ア・タイム 法 (集合論演算) では、勿論、index-key などない。

 しかも、当初、コッド 論文を忠実に プロダクト 化すれば、旧来の データベース の物理的束縛から解放されて 「論理 view」 を実現できる長所があるいっぽうで、資源を多大に消費して、パフォーマンス が悪いという弊害が起こった。そこで、リレーショナル・データベース の製造元は、パフォーマンス を改善するために、primary-key を unique-key とみなすように index-key を搭載しました。そして、1990年代末には、SQL の国際基準が分岐や配列を認めました。ここに至って プロダクト の リレーショナル・データベース は コッド 論文とは大きく乖離しました。私は、コッド 論文から乖離した リレーショナル・データベース の プロダクト が悪いと言っているのではなくて──実際、index-key を逆手にとった 「INDEX-only」 を私は 1980年代から使っていたので──、レコード・アット・ア・タイム 法のほうが システム・エンジニア や プログラマ には扱いやすいのは確かでしょうし、コッド 氏が力説していた 4値論理は実務的に使いにくい。

 コッド 論文から乖離した リレーショナル・データベース の プロダクト に慣れ親しんでいると、うっかりすれば データ・モデル には キー (index-key) が必須であるというような勘違いをしてしまう。実際、TM に対しての非難のなかで、「TM には キー (index-key) がないので、実務では使えない」 という非難があったそうです (苦笑)──ただし、その非難は、私が直接に聞いたのではなくて、又聞きなので、正確な引用ではないことを断っておきます。TM で使っている個体指定子は、コッド 正規形の primary-key と ほぼ同じですが、原帳票などに実際に使われている ××番号/○○コード のことを指しています (したがって、index-key ではない)。それがゆえに、本節では、あえて太字で次の文を綴ったしだいです──

    事業分析のモデルをつくるためには、「キー(index-key)」 という考えをまず捨ててください。

 モデル は そのまま実装することを私は勧めていますが、もし 実装するために ツール (フレームワーク など) を使っていて、その ツール が内部で個体に対して人為的に番号を付与して unique-key として使用していれば、私はそれを否定するつもりは 毛頭 ない。今どき、大規模な システム をつくるときに プログラム を すべて プログラマ が コーディング するなどというのは生産性も悪いし プログラマ の力量しだいで プログラム の品質にも バラツキ が生じるでしょう。生産性の高い、品質の良い システム をつくるのであれば、フレームワーク などの ツール を使っていることが多いのではないかしら。「キー (index-key) を捨てろ」 というのは、あくまで 事業構造を写像する モデル のなかでの話ですので、念のため。 □

 




  << もどる HOME すすむ >>
  目次にもどる