2004年 3月16日 作成 | データ 設計技法 (関係 モデル と DBTG 図) | >> 目次 (テーマ ごと) |
2008年 4月16日 補遺 |
いっぽう、複数の属性値の集まりを 1つの 「レコード (a record)」 とみなして、複数の レコード の集まりとして、1つの主体集合を構成する やりかた もある。レコード 集合間の構造を記述した ネットワーク・モデル として、バックマン (Backman)・ダイアグラム がある──バックマン (Backman, C.) 氏が提示した やりかた である。レコード を単位とする データ・アクセス のことを、「レコード・アット・ア・タイム (record-at-a-time)」 法という。ネットワーク・データベース (NDB) は、レコード・アット・ア・タイム 法を前提にしている。 データシステムズ 言語協議会 (CODASYL)(注 1) の データベース 作業 グループ (DBTG)(注 2)は、1969年、データベース 作成基準を提案し、いわゆる DBTG 図が提示された。DBTG 図は、バックマン・ダイアグラム を、ほぼ、そのまま転用している──バックマン 氏が、DBTG 委員会の議長であった。
当時から ほぼ 30年の歴史が流れ、以上の 3つの手法の関係は、およそ、それらの手法の目的・前提から離れた使いかたをされて、(プロダクト としては、NDB に比べて、RDB のほうが多く使われてはいるが、) コッド 正規形の描画手法として チェン ER図が使われ、セット・アット・ア・タイム 法が レコード・アット・ア・タイム 法として使われている、という奇妙な (整合的ではない) 状態になっている。
整合的でない使いかたをすれば、概念設計と論理設計と物理設計の間には、SDLC のなかに生じている 「溝」 が、そのまま写像されて、概念設計の アウトプット を論理設計として変換する作業は、システム・エンジニア の力量に任され、およそ、データベース 設計が、単なるファイル 設計に成り下がってしまうし、RDB の高 パフォーマンス を実現することができない。
小生が、その間違いに気づいたのは、1990年代初期であった。(注 3)
(注 1)
(注 2)
(注 3)
幸いだったのが、「CASE ツール」 (1989年) と 「リポジトリ 入門解説」 (1991年) のなかで、SDLC の断層を意識していた、という点である。この意識が、DBTG 図 (レコード系)・コッド 正規形 (セット 系)・チェン ER図 (意味論) のそれぞれの着想を融合する動因となった。 |
[ 補遺 ] (2008年 4月16日)
私は、当時 (RDB を日本に導入した 1980年代)、いまだ、「数学基礎論」 を体系だって学習していなくて、「モデル (論理的意味論)」 という考えかたを持っていませんでした。したがって、当時の私は、「モデル」 を、事実上、「記述的意味論」 であると思っていました──記述的意味論の 「典型」 が チェン ER手法でしょうね。 DBTG 図は、当時、私の恩師 Eric Vesely から習いました。当時、私の頭のなかでは、コッド 正規形、DBTG 図、チェン ER図が、なんら、脈絡のないまま──言い換えれば、それぞれの底辺を作っている思想を理解しないまま──、べつべつに立っていました。それらの べつべつに立っていた やりかた を 「強引に」 接続して、「コッド正規形 → チェン ER図 → DBTG 図」 という妙な体系を作ってしまいました (反省)。当時、コッド 正規形を (今はやりの ことば で言えば、) 「見える化」 (give visibility) するために チェン ER図 (および、DBTG 図) を借用した、と言っていいでしょうね。こういう やりかた は、「工夫」 ではなくて、「誤用」 です。
ただ、幸いにも、本 エッセー のなかで述べたように、当時から、「コッド 正規形 vs. チェン ER手法」 と 「コッド 正規形 vs. DBTG 図」 を意識していました。そして、私が 当時 争点にしたのは、「『分析と設計』 の乖離」 と 「entity 捕捉の恣意性」 でした。そういう意識を抱いていたので、私には、論理的意味論に移る下地があった、ということです。論理的意味論は、「『分析と設計』 の乖離」 に対する ソリューション を示してくれましたが、「entity 捕捉の恣意性」 に対して ソリューション を示してくれなかった。「entity 捕捉の恣意性」 を除去するために、私がとった やりかた は、「合意された認知」 という概念でした。事業過程のなかで伝達される 「情報 (画面・帳票・レポート など)」 で示されている コード (個体指示子) を 「合意された認知番号」 として使うことにしました。したがって、「数学基礎論」 の モデル 理論 (論理的意味論) を基底にして、変項に対して 「(コード [ 個体指示子 ] を使った) 認知」 という 「解釈」 を導入しました。言い換えれば、コッド 関係 モデル に対して、意味論を 「強く」 適用して モデル を整えました──それが、TM (T字形 ER手法の改良版) です。 |
<< もどる | ベーシックス | すすむ >> | |
▼ データベースの基礎知識 |