2005年 7月 1日 作成 「集合 オブジェクト」 と 「組 オブジェクト」 >> 目次 (テーマごと)
2009年 8月 1日 補遺  


 
 コッド 関係 モデルの正規形は、原子的値の定義域である。したがって、コッド 関係 モデル の観点からすれば、TM の対照表は、「非正規形」 となる。

 しかし、いっぽうで、コッド 関係 モデル は、「集合を組とする オブジェクト」 を記述することができない。たとえば、「再帰 (自己言及型)」 を考えてみればよい。(部品番号 (R)、部品番号 (R)、数量) という再帰は、属性値を記述するにしても、(部品番号 (R)、部品番号 (R)) の自己言及を、正規形として認める訳にはいかない。これは、あきらかに、「部品構成表」 を 「モノ」 (F-真) として考えて、それを 2項関係として記述した構成である。すなわち、「集合を組とする オブジェクト」 を考えている。

 実地の データ 設計では、原子的値の定義域のほかに、そういう「集合を組とする オブジェクト」 を、いくつか、導入しているはずである。「集合を組とする オブジェクト」 を、丁寧に定義するならば、以下のように再帰的に定義できる。

 (1) S1、S2、・・・、Snを オブジェクト (あるいは、セット の メンバー) とする。

 (2) オブジェクト の並びを論点にすれば、
   (S1、S2、・・・、Sn) は、「組 オブジェクト」 である。

 (3) オブジェクト の並びを論点にしないなら、
   {S1、S2、・・・、Sn} は、「集合 オブジェクト」 である。

 さて、以下の対照表を考えてみる。

  従業員
   {従業員番号、従業員名称、・・・}.

  部門
   {部門 コード、部門名称、・・・}.

  部門. 従業員. 対照表
   {部門 コード (R)、従業員番号 (R)}.

 
 この対照表は、「集合 オブジェクト」 (「配属」 という 「F-真」) である。
 以下の対応表を考えてみる。

  受注
   {受注番号、受注日、・・・}.

  請求
   {請求番号、請求日、・・・}.

  受注. 請求. 対応表
   {受注番号 (R)、請求番号 (R)}. <-- 正確には、(受注番号 (R)、請求番号 (R)).

 
 対応表は、「組 オブジェクト」 である。
 再帰表も、「組 オブジェクト」 である。

 TM (および、TM’) では、(entity 以外の テーブル として、)「...表」 というふうに記述されている データ 定義域は、「集合 オブジェクト」 か 「組 オブジェクト」 である。だから、TM では、単純定義域としての entity と、TM の文法に従って導出される複合定義域を切り離して、複合定義域には、「...表」 という言いかたを使っている点に注意されたい。

 



[ 補遺 ] (2009年 8月 1日)

 本 エッセー で、部品構成表上の 2項関係 ( 部品番号 (R)、部品番号 (R)、数量 ) を コッド 関係 モデル では云々と評していますが、コッド 関係 モデル で 集合 S 上の直積 S × S を考えれば、この 2項関係は妥当ですが、私が争点にしたかった点は、部品構成表を (「(導出的な) L-真」 たる構成物ではなくて、) 「(事実的な) F-真」 として考えられるかどうか、という点です。この点では、コッド 関係 モデル では、部品構成表を decompose して、2項関係として記述するのであって、現実的事態が たとえ 部品構成表として──すなわち、ひとつの テーブル (第一正規形) として──記述されても、最終正規形は、2項関係の形でしょう。

 さて、TM では、entity を集合として、関係文法を適用して、いくつかの 「表」──すなわち、対応表、対照表および再帰表──が構成されます。なお、entity であっても、event は、関係文法を適用して、resource が関与して 「構成されます」。そして、「構成された物」 は──および、resource は構成されないけれど、それらのなかの いくつかは──「T-文」 で テスト されて 「F-真」 を験証します。「T-文」 とは、以下の文です [ この文を、「真理条件」 とか 「規約 T」 とも謂います ]。

  言明 「p」 が真であるのは、時刻 t において、事態 p と一致するとき、そして、そのときに限る。

 対応表、対照表および再帰表は、文法に従って導出されるかぎりにおいて、つねに 「L-真」 です。ただし、対応表は 「全射」 を示す関数であって 「F-真」 ではない。対照表および再帰表は、「F-真」 の場合もあれば、そうでない場合もあります。
 オブジェクト という観点で謂えば、対応表および再帰表は 「組 オブジェクト (順序対)」 で、対照表は、基本的に 「集合 オブジェクト」 ですが 「組 オブジェクト」 になる場合もあります。たとえば、

 (1) 集合 オブジェクト の例  { 部門 コード (R)、従業員番号 (R) }.

 (2) 組 オブジェクト の例   ( 銀行 コード (R)、支店 コード (R)、口座番号 (R) ).





  << もどる ベーシックス すすむ >>
  データベースの基礎知識