200661

応用編-9 「組織表」 (対照表)

>> 目次に もどる

201151日 補遺

 



 本節は、前節 (「対照表」 と 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ページに示されている それぞれの対照表に対して、「概念的 スーパーセット」 として 「組織」 を記述すれば、上述した 「真理値表」 と同値にはなりますが。

 



[ 補遺 ] 201151日)

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

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

  (1{ , { , } }.

  (2{ { , }, }.

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







 

<< もどる

HOME

すすむ >>

 

「T字形ER データベース設計技法」を読む