2008年 7月16日 「技術編-8 認知番号の代用 (index-key)」 を読む >> 目次にもどる
2014年 9月16日 補遺  


 

 本節では、「生産計画」 を例にして、「認知番号の代用」 を非難しています。

 ┌─────────────────┐
 │       生産計画       │
 ├────────┬────────┤
 │部門コード   │        │
 │作成日     │        │
 │        │        │
 │        │        │
 │         │        │
 └────────┴────────┘

 「個体指定子 (entity-setter)」 は、atomic (すなわち、「one and only」 の データ項目) でなければならないことを前回 「技術編-7」 で述べました。TM では、「情報 (の意味)」 を 「解析」 する際に、最小の (atomic な) 個体を 「entity」 としています。TM の 「関係文法」 は、数学の 「解析 (analysis)」 手続きを前提にして作られています──数学の 「解析」 とは、証明しなければならない対象 A が存在しているとき、A が成り立つためには、B1 が成り立たなければならないことと示し、さらに、B1 が成り立つためには、B2 が成り立たなければならないことを示すというふうに、以下のように、順次、対象を導出する手順です。

     A → B1 → B2 → ... → Bn.

 TM では、「既知の ことがら」 Bn として──すなわち、最小単位たる 「打ち止め」 として── entity を考えています。
 そして、entity は、事業過程・管理過程のなかで 「同意された」 個体でなければならない。その 「認知の同意」 を示すのが、事業過程・管理過程のなかで使われている 「個体指定子 (すなわち、コード 体系のなかで定義されている認知番号)」 です。

 上述の例では、{ 部門 コード、作成日、... 数量、... } という構成は──ただし、下線は 「unique-key」 を示しますが──、「しかじかの部門は、かくかくの時刻 t において、××台の生産を計画した」 という事態 (複文) を記述しているのであって、いまだ、「解析」 の途上にある状態です──言い換えれば、「解析」 が終わっていない状態です。この状態で認知される entity は、「部門」 のみであって、「生産計画」 は、個体指定子が付与されていないので、entity にはならない。しかじかの 「部門」 が生産計画を作成したという事実を記述するのであれば──しかも、「生産計画」 を独立した個体 (entity) として認知するための個体指定子 (entity-setter) がないのであれば──、以下のように記述するのが正しいでしょう。

 ┌─────────────────┐     ┌─────────────────┐
 │       部 門      R│     │     部門. 生産計画   VE│
 ├────────┬────────┤     ├────────┬────────┤
 │部門コード   │部門名称    │     │部門コード(R)│作成日     │
 │        │        ├┼──○<│        │台数      │
 │        │        │     │        │        │
 │        │        │     │        │        │
 │        │        │     │         │        │
 └────────┴────────┘     └────────┴────────┘

 「部門. 生産計画」 は、「みなし entity」 です──「みなし entity」 は、後日、説明します。「生産計画」 は、個体指定子を付与されていないので、それを作成した 「部門」 の個体指定子を継承します──ちなみに、(R) は、「Re-used」 の意味であって、Reference-key ではない点に注意してください。すなわち、(R) は、個体が──それが主体 (subject) であれ、事態 (event) であれ──、ほかの主体に作用しているか、あるいは、ほかの事態 (case) に関与していることを示す符帳です。そして、○ は、リレーションシップ の 「ゼロ の cardinality」 といい、生産計画のほうでは、対応する occurrence が無いこともある、という意味です──すなわち、生産計画のほうでは、すべての occurrence (∀x) が対応している (全射かつ単射) のではない (¬∀x) ということ、言い換えれば、いくつかの対応する occurrence が存在する (¬∀x = ∃x) ということを示しています。

 この構成 (「部門. 生産計画」) を前提にして、もし、「indexing」 を使うのであれば──勿論、「indexing」 を使わないでも良いのですが、「indexing」 を、もし、使うとすれば──、以下の データ 項目を create index の対象にすることは、プロダクト としての RDB の使用上、禁止にはなっていない、ということです。ただし、「indexing」 は、「関係 モデル」 とは無関係の事項です。

    create index (部門 コード, 作成日)

 すなわち、「モデル (としての構成)」 と 「データ に アクセス するための効率性」 とを混同してはいけない、という点に注意してください。われわれは、事業過程・管理過程を対象にして モデル を構成するのならば、「現実的事態の 『意味』 を コンピュータ のなかで モデル として記述する」 のであって、アクセス の効率のために、「意味」 を無視した構成を作るのは無意味であるという点に注意していてください。なぜなら、モデル は、つねに、構文論上および意味論上、「真」 (「(事実的な) F-真」 および 「(導出的な) L-真」 を実現していなければならないから。 □

 



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

 上記の例において、「部門」 と 「生産計画」 は、本来、べつの モノ (entity) です。そして、「部門」 が 「生産計画」 に関与しているという事態を示しています。「生産計画」 が個体指示子 (entity-setter) を付与されていれば、次の様な記号列を構成します。

 ┌─────────────────┐     ┌─────────────────┐
 │       部 門      R│     │       生産計画      E│
 ├────────┬────────┤     ├────────┬────────┤
 │部門コード   │部門名称    │     │生産計画番号  │作成日     │
 │        │        ├┼──○<│部門コード(R)│台数      │
 │        │        │     │        │        │
 │        │        │     │        │        │
 │        │        │     │         │        │
 └────────┴────────┘     └────────┴────────┘

 しかし、実際には、「生産計画番号」 が付与されていないので──しかも、「生産計画」 は、「部門」 とは べつの モノ なので──次の様な集合を構成します (ただし、TM において、「生産計画」 は entity の定義 [ 個体指示子を付与されていること ] を満たさない)。

 ┌─────────────────┐     ┌─────────────────┐
 │       部 門      R│     │       生産計画     VE│
 ├────────┬────────┤     ├────────┬────────┤
 │部門コード   │部門名称    │     │生産計画番号  │作成日     │
 │        │        ├┼──○<│部門コード(R)│台数      │
 │        │        │     │        │        │
 │        │        │     │        │        │
 │        │        │     │         │        │
 └────────┴────────┘     └────────┴────────┘

 この状態が 「みなし entity」 (entity としてみなすこと) です。




  << もどる HOME すすむ >>
  目次にもどる