2003年11月16日 繰返項目のなかの繰返項目 (多義の多義) >> 目次 (テーマごと)
  ● QUESTION   繰返項目の繰返項目では、(R) を使っても、一意性が成立しないのではないか。
  ▼ ANSWER   繰返項目のなかの繰返項目では、繰返項目が、ばらばらに成立するのではない。
2008年12月 1日 補遺  



● 事業の前提

 部品 データ には、サイズ (寸法) がある、とする。
 サイズ ごとに単価 (値段) がある、とする。  ただし、部品と サイズ と単価には、以下の関係が成立する。

  (1) 1つの部品には、3種類の サイズ がある。
  (2) 1つの サイズ には、3種類の単価がある。

● データ 構造の原案

 「データ の一意性が成立しない」 という質問をした理由は、おそらく、以下のような データ 構造を考えたからではないか、と想像される。

 部品
 { 部品番号、部品名称 }.

 部品. サイズ 種別
 { 部品番号 (R)、(サイズ 種別 コード)、 サイズ }.
 [ サイズ が数値項目であって、同じ サイズ の データ がないとすれば、サイズ 種別 コード はいらない。]

 部品. サイズ. 単価種別
 { 部品番号 (R)、単価種別 コード、単価 }.

 
● 重複的複写 (D) を使って修正した (改悪した?) データ 構造

 そして、「データ の一意性」 を実現するために、以下のような措置をするかもしれない。

 部品
 { 部品番号、部品名称 }.

 部品. サイズ 種別
 { 部品番号 (R)、(サイズ 種別 コード)、 サイズ }.
 [ サイズ が数値項目であって、同じ サイズ の データ がないとすれば、サイズ 種別 コード はいらない。]

 部品. サイズ. 単価種別:
 { 部品番号 (R)、サイズ (D)、単価種別 コード、単価 }.

 
 重複的複写 (D) を使いたい気持ちはわからないでもないが、以上の データ 構造は、概念を バラバラ にして考えたために起こった間違いです (!)
 つまり、部品として、たとえば、A とか B があり、サイズ として、30mm とか 40mm とか 50mm があり、単価として、100円とか 200円とか 300円がある、というふうに考えて、サイズ と単価が、それぞれ、多義になっている、というふうに反応したのでしょう。

 しかし、データ の実際の状態として、1つの サイズ には 1つの単価が成立しているということを見落としています。つまり、データ としては、以下のような状態が成立しているのです。
  { A、30、100 } あるいは { A、40、200 } あるいは { A、50、300 }。

 
● 正しい データ 構造

 したがって、以下の データ 構造が正しい。

 部品
 { 部品番号、部品名称 }.

 部品. サイズ. 単価種別
 { 部品番号 (R)、サイズ、単価 }.

 



[ 補遺 ] (2008年12月 1日)

 本 エッセー では、1つの サイズ に対して 1つの単価が対応している現象を扱っています。すなわち、集合でいえば、{ 部品番号 (R)、{ サイズ、単価 } } という構成ですね。では、1つの サイズ に対して、複数の単価が対応している現象──たとえば、1つの サイズ に対して、正単価と割引単価のいずれかが適用されて、かつ、1つの部品に対して複数の サイズ が存在する、という現象──では、どのような構成になるかを考えてみて下さい。概念的構成では、以下のような推移性を示す構成になるでしょう。

 (1) { 部品番号、部品名称 } ┼─< { 部品番号 (R)、サイズ } ┼─< { 部品番号 (R)、サイズ、単価 }.

 この構成は、本 エッセー で扱った以下の構成と違います。したがって、構成が示している 「意味」 が違います。

 (2) { 部品番号、部品名称 } ┼─< { 部品番号 (R)、サイズ、単価 }.

 これらの 2つの構成を較べたら、「単価」 の扱いが違うことが直ぐにわかるでしょう。
 ただ、(1) において、{ 部品番号 (R)、サイズ } という推移的構成を 「実装」 する有用性は低いでしょうね。したがって、「実装形」 としては、いずれも、以下の構造になって、「付値」 という解釈で違いを判断することになるでしょうね。

   { 部品番号、部品名称 }.

   { 部品番号 (R)、サイズ、単価 }.

 この実装形において、(1) では、たとえば、以下の値が 「真」 とされます。

   { 01, A }.

   { 01, 34, 100 }.

   { 01, 34, 80 }.

 (2) では、たとえば、以下の値が 「真」 とされます。

   { 01, A }.

   { 01, 32, 60 }.

   { 01, 34, 100 }.

 もし、サイズ が entity として認知されていれば──すなわち、サイズ・コード を付与されていれば──、以下の構成になるでしょう。

   { 部品番号、部品名称 }.

   { サイズ・コード、サイズ }.

   { 部品番号 (R)、サイズ・コード (R)、単価 }.

 いずれにしても、「事業のやりかた」 が違えば、それを構成する 「形式的構造」 も違ってくるということを理解しておいて下さい。





  << もどる HOME すすむ >>
  データ解析に関するFAQ