2005年10月 1日 基準編-14 サブセット の検証 >> 目次にもどる
2010年 9月16日 補遺  

 

 サブセット が 「正しい」 かどうか、という検証法として、以下の 2点を述べている。

  (1) 「is (...である)」 (サブセット と セット とのあいだ)
  (2) 「排他的 OR (あるいは)」 (サブセット のあいだ)

 
 そして、サブセット のあいだで、「交わり (AND)」 が起こる現象は、妥当な構造でないことにも言及している。
 サブセット の検証法として、十中八九、それらを使えばよいのだが、もう少し、丁寧に記述するのであれば、「論理の 『OR』 は、算術の 『+』 である」 ということにも言及したほうがよかったかもしれない。

 「サブセット を総計すれば、 セット になる (サブセット は、集合族である)」 ことは、(数学的に、「分割と細分」 の概念を知っていれば、) 常識である、と小生は思っていたので、「論理的 OR と算術的 +」 の同値性を記述しなかったが、その常識が無視されている現象にも、たまに、出会 (でくわ) すことがある (41ページ を参照されたい)。

 サブセット の 「交わり」 を検証しないような データ 構造は、(プログラム の) アルゴリズム の負荷を軽減しないので、はたして、正当な データベース 設計に値するかどうか──cyclomatic complexity を軽減しているかどうか──、という点は疑問だと思う。

 
 [ 参考 ]

 Cyclomatic complexity というのは、コントロール・フロー のなかで、任意の 2つの ノード (node) のあいだ──これを アーク (arc) というが──で、比較 (compare、つまり 「if」 判断) の数が多ければ、複雑度が増大する、という考えかた。□

 



[ 補遺 ] (2010年 9月16日)

 最近、サブセット を説明するときには、「切断」 という考えかたを使っています (前回の 「基準編-13」 を参照してください)。





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