2006年 6月 1日 応用編-9 「組織表」 (対照表) >> 目次に もどる
2011年 5月 1日 補遺  


 本節は、前節 (「対照表」 と DOA) に対応して記述されている。
 前節では、「view」 を論点にしたので、それに対応するように──「view」 と 「データ 構造」 の違いを示すように──、本節は、「組織表」 を作成しているが、「エレガント な」 やりかたではないと思う (苦笑)。

 対照表が 「真理値表」 であり、TM (T字形 ER手法) が 2値のなかで、null を認めないという文法を使っていることを鑑みれば、以下のように、単純に (「エレガントに」) 対応したほうが良いでしょうね。

  {部コード、...}
  {課コード、...}
  {係コード、...}

  {部コード (R)、課コード (R)}
  {課コード (R)、係コード (R)}

  {部コード (R)、課コード (R)、係コード (R)}
      |
      × null
      |
      ├ {部コード (R)、課コード (R)、係コード (R)}
      |
      ├ {部コード (R)、課コード (R)}
      |
      ├ {部コード (R)、係コード (R)}
      |
      └ {課コード (R)、係コード (R)}

 
 もっとも、「黒本」 73ページに示されている それぞれの対照表に対して、「概念的 スーパーセット」 として 「組織」 を記述すれば、上述した 「真理値表」 と同値にはなりますが。

 



[ 補遺 ] (2011年 5月 1日)

 本 エッセー では、ひとつの 「対照表」 において entity の生起する可能性を判断して 「場合分け」 する やりかた を 「エレガントな」 やりかたとして説明していますが、ことは そう簡単ではないかもしれない。

 本 エッセー で説明した やりかた は、「命題論理」 風な やりかた だと思う。寧ろ、「黒本」 のなかで記述してある やりかた (セット 理論風) のほうが──すなわち、それぞれの entity のあいだで確実に生起する関係を構成して、それらの構成に対して 「概念的 スーパーセット」 (クラス) を生成するほうが──正攻法です。ただ、その やりかた をとったときに、以下の どちら の構成法 [ 関係を構成する順序 ] が 「真」 なのかを明らかにできない場合が多いと思う。

  (1) { 部, { 課, 係 } }.

  (2) { { 部, 課 }, 係 }.

 いずれの構成順であるのか がわからないのであれば、「命題論理」 風な やりかた をするしかないでしょうね。







  << もどる HOME すすむ >>
  「T字形ER データベース設計技法」を読む