2004年 6月 1日 作成 「基準編第11章 (対照表 + resource)」 を読む >> 目次に もどる
2007年 3月 1日 更新  




 [ 注意 ]
 本 エッセー に綴られている所見は間違いです。本 エッセー の最後に、訂正理由を記述しました。ただ、間違いであっても、かつての思考を遺すために、本 エッセー を削除しないで、そのままにしておきます。この間違いは、「赤本」 [ 「データベース 設計論--T字形 ER (関係 モデル と オブジェクト 指向の統合をめざして)」 (2005年出版) にも継承されています (170ページ、171ページ)。小生 (佐藤正美) が、この間違いに気づいたのは、2006年になってからでした。間違いを訂正するとともに、深くお詫び申し上げます。

 
● 対照表は 「event の原型」 である。
  したがって、推論 ルール では、event の ルール を適用するのが正論である。

 対照表は、「event の原型」 である (前回 [ 5月16日 ] の記述を参照されたい)。したがって、(関連を記述するための) 推論 ルール では、対照表は、「event」 としての ルール が適用される。

 「event 対 resource」 の推論 ルール では、resource の認知番号を event のほうに複写する。
 たとえば、以下を考える。

 (1) 「生地 (resource)」{生地コード、生地名称、...}.
 (2) 「サイズ (resource)」{サイズ・コード、サイズ名称、...}.
 (3) 「生地. サイズ. 対照表」{生地コード(R)、サイズ・コード(R)、(裁断日)...}.
 (4) 「カラー (resource)」{カラー・コード、カラー名称、...}.

 「生地. サイズ. 対照表」は、「裁断 (event)」 の原型である。
 したがって、もし、対照表と 「カラー (resource)」 のあいだに リレーションシップ を接続するのであれば、「event 対 resource」 の推論 ルール が適用されて、「生地. サイズ. 対照表」 は、以下の構成となる。

  {生地 コード(R)、サイズ・コード(R)、カラー・コード(R)、...}.

 いっぽう、対照表は、「真理値表」 としての性質もあるので、上述した対照表は、以下の 2つの事態を記述することになる。なお、文中、「真」 は値があることを示し、「偽」 は null を示している。

 (1) 生地コード (真)、サイズ・コード (真)、カラー・コード (偽)
 (2) 生地コード (真)、サイズ・コード (真)、カラー・コード (真)

 カラー・コード が null になる時点が起こるので、上述の対照表は、以下の 2つの サブセット が成立する。

  生地. サイズ. カラー. 対照表
        │
        × null [ カラー・コード ]
        │
        ├裁断 {生地コード(R)、サイズ・コード(R)、...}
        │
        └洗い {生地コード(R)、サイズ・コード(R)、カラー・コード、...}

 以上の推論が、「正しい」 推論である (正しい記述である)。

 
● [ 便法その 1 ] 対照表と resource を結んだら、新しい対照表を作る。

 しかし、実地の作図では、「正しい」 推論ではなくて、以下の 「便法」 を指導している。

   「対照表と resource を結んだら、新しい対照表を作る。」

 たとえば、前述の例を使えば、「便法」 では、以下の作図となる。

 (1) 「生地 (resource)」{生地コード、生地名称、...}.
 (2) 「サイズ (resource)」{サイズ・コード、サイズ名称、...}.
 (3) 「生地. サイズ. 対照表」{生地コード(R)、サイズ・コード(R)、(裁断日)...}.
 (4) 「カラー (resource)」{カラー・コード、カラー名称、...}.
 (5) 「生地. サイズ. カラー. 対照表」{生地コード(R)、サイズ・コード(R)、カラー・コード(R)、(洗い日)...}.

 当然、「4つの推論 ルール」 どおりに作図するのが正しいやりかたである。しかし、「便法」 を指導している理由は、腕の立つ DA ですら、認知番号の null に対して、無関心であることが多いので、--そもそも、T字形 ER手法は、コッド 関係 モデル が null を認めていることに対して反対の観点に立って提示したのだから--、null を見過ごされては、T字形 ER手法の前提を破ることになってしまう (T字形 ER手法が無意味になってしまう)。

 「4つの推論 ルール」 を使って、null を判断して、サブセット を作るやりかたと、「便法 (対照表 + resource = 新・対照表)」 は、アウトプット が同じになる。とすれば、DA が意識しないでも、null を回避するために、「便法」 を指導している次第である。

 
● [ 便法その 2 ] 対照表と対照表を結んだら、新しい対照表を作る。

 「event 対 event」 の推論 ルール を、「対照表 対 対照表」 に対して適用しても、同じ null の問題点が生じる。たとえば、以下を例にする。

 (1) 「生地 (resource)」{生地コード、生地名称、...}.
 (2) 「サイズ (resource)」{サイズ・コード、サイズ名称、...}.
 (3) 「生地. サイズ. 対照表」{生地コード(R)、サイズ・コード(R)、(裁断日)...}.
 (4) 「倉庫 (resource)」{倉庫コード、...}.
 (5) 「棚 (resource)」{棚番号、...}.
 (6) 「倉庫. 棚. 対照表」{倉庫コード(R)、棚番号(R)、(設置日)...}.

 裁断した生地を棚に保管することを考えてみる。
 時系列では、「倉庫. 棚. 対照表」 (棚の設置) のほうが、「生地. サイズ. 対照表」 (裁断) に比べて、早いとする。したがって、「倉庫. 棚. 対照表」 の認知番号 (R) を「生地. サイズ. 対照表」のなかに複写することになる。

   {生地コード(R)、サイズ・コード(R)、倉庫コード(R)、棚番号(R)、(裁断日)...}.

 この対照表は、「保管」 という event を記述することになる。したがって、帰属する性質として、「保管日」 を考えることができる。とすれば、上述の対照表は、以下の 2つの event が混ざることになる--そもそも、「裁断日」 を考えることのできる event のなかに、倉庫コード(R) と棚番号(R) を複写すること自体が矛盾している。

  生地. サイズ. 倉庫. 棚. 対照表
        │
        × null [ 倉庫コード、棚番号 ]
        │
        ├裁断 {生地コード(R)、サイズ・コード(R)、(裁断日)...}
        │
        └保管 {生地コード(R)、サイズ・コード(R)、倉庫コード(R)、棚番号(R)、(保管日)...}

 以上の推論が、「正しい」 推論である (正しい記述である)。
 しかし、実地の作図では、「正しい」 推論ではなくて、以下の 「便法」 を指導している。

   「対照表と対照表を結んだら、新しい対照表を作る。」

 すなわち、(null を回避して、) 以下のような記述となる。

 「生地. サイズ. 対照表」
   {生地コード(R)、サイズ・コード(R)、(裁断日)...}.
 「倉庫. 棚. 対照表」
   {倉庫コード(R)、棚番号(R)、(設置日)...}.
 「生地. サイズ. 倉庫. 棚. 対照表」
   {生地コード(R)、サイズ・コード(R)、倉庫コード(R)、棚番号(R)、(保管日)...}.

 
■ 便法は、T字形 ER手法の前提 (null の回避) を守るために導入された。

 以上に述べた「対照表の推論便法」は、例外事態に対応するために場当たり的に導入したのではなくて、公理系の前提 (null ) を守るために、周到に用意したことをご理解いただきたい。 □

 



[ 補遺 ] (2007年 3月 1日)

 本 エッセー で述べられている所見は、(本 ホームページ のほかの エッセー 「反 コンピュータ 的断章」 で、すでに、綴ってきたが) 間違っているので、訂正したい。

 本 エッセー では、構文論と意味論を ごっちゃにしてしまっている。そのために、「対照表と resource と接続したら、新たに、対照表を作る」 構造を 「便法」 としてしまった。この規則は、「便法」 ではなくて、正論である。対照表に関しては、以下の規則を適用するのが正しい。

 (1) 構文論的には--生成規則として--、resource の文法を適用する。
 (2) 意味論的には--指示規則として--、event を言及する。

 対照表は、resource の 「組」 なのだから、文法 (生成規則) として、resource の文法を適用するのが正しい。そして、そのように構成された 「組」 が、意味論上 (指示規則として)、「event」 を言及するといふうに解釈するのが正しい。したがって、「対照表と resource を結んだら、新たな対照表を作る」 という演算は、「便法」 ではなくて、正規法である。

 





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