2004年 1月16日 | サブセット 間の リレーションシップ | >> 目次 (テーマ ごと) |
● QUESTION | 1つの セット のなかの サブセット 間には リレーションシップ が成立するか。 | |
▼ ANSWER | 原則として、成立しない。 | |
2009年 2月 1日 補遺 |
1つの セット のなかの サブセット 間の リレーションシップ は、原則として、「再帰」 として記述するのが正しい。1つの セット のなかで、サブセット 間の リレーションシップ を記述する例としては、いわゆる 「HDR-DTL」 構造があるが、特殊形である。というのは、T字形 ER手法が タイプ 理論を使わなかったので、「関係 = モノ (2つの モノ の関係が、そのまま、1つの モノ になること)」 を記述するには──すなわち、「HDR-DTL」 構造を記述するには──、特殊形を使わざるを得なかったから。 たとえば、以下を例にする。
品目
品目 [ R ]___{品目番号 (R)、品目番号 (R)} [ 品目. 品目. 再帰 ]
事業所
事業所. 事業所. 再帰 この記述を、そのまま、読めば、事業所の間で、所轄関係が成立しているように判断するかもしれない。事業所 コード のなかに部門 コード が混ざっている、ということは、アトリビュート・リスト に記述されるべきであって、データ 構造として記述されない。なぜなら、部門を認知する コード がないから──事業所 コード のなかで意味を付与しているにすぎないので、アルゴリズム として扱われるから。 事業所 コード のなかに部門が混ざっていることを注意するために、以下のような構造 (サブセット 間の リレーションシップ) を記述した、とする。
事業所 {事業所 コード、事業所名称、・・・} [ R ] 小生が意味論を毛嫌いする理由は、この点にある。たとえば、「現実世界の記述」 として、事業と部門という主体があって、それぞれの主体集合の間には リレーションシップ が成立して組織が構成されているというふうに、概念設計のなかで記述しても、論理設計では、事業所 コード の再帰としてしか記述されない。概念設計の アウトプット を論理設計の データベース 構造として変換することは徒労だと小生は思っている。部門 コード を定義するのが 「現実の世界を正しく記述する」 ことになると言うのであれば、そんなことは、事業所 コード の乱れとして認識されている。 概念設計と論理設計の間には、共通の論理形式などない。概念設計が データベース 化の対象を扱うというのであれば、論理設計のなかで、データベース 化の対象として認知番号を付与されて モノ がそうであって、なんらかの認知番号 (主体として認知するための判断基準) を付与されていない モノ は データベース 化の対象にはならない。認知番号を付与された モノ (entity) は、現実世界のなかで認知された モノ (事象、事物) の 「影」 かもしれない。この影を注視すればよい。そうすれば、影を写している モノ (事象、事物) を判断することができるし、それぞれの企業が、事業のなかで、モノ (事象、事物) を、どのように観ているのか、という文化 (モノ の見かた)も判断できる。 |
[ 補遺 ] (2009年 2月 1日)
サブセット 間に リレーション が存在するという現象は、関数としたら、多値関数です──あるいは、ふたつの関数の合成 [ 合成関数 ] です。そして、その合成関数が entity を示すのであれば、その entity は、クラス 概念 (具象 カテゴリー、ファンクター) として説明しなければならないでしょうね。サブセット 間の リレーション は、セット 概念 (部分集合の概念) のみでは説明できない。 本 エッセー で示した例は、サブセット 間に リレーション が存在する現象ではなくて、個体指定子 (entity-setter) の値が間違っている現象を なんとか サブセット 形態で対応しようとした例です──そして、それは、本 エッセー のなかで説明したように、間違った対応法です。とういうのは、モデル は、「妥当な構造」 と 「真とされる値」 の ふたつを実現しなければならないのですが、TMD (T字形 ER図) は、あくまで、「妥当な構造」 を示す形式的構成図であって、「真とされる値」 は アトリビュート・リスト で記述されるべきです。この ふたつ (「妥当な構造」 と 「真とされる値」) を混同してはいけない。本 エッセー で例示した 「部門」 を、もし、「事業所」 との関係のなかで定立したいならば、当然ながら、「部門」 を entity として認知しなければならないし、「部門」 を個体として認知するのであれば、コード 体系のなかに部門 コード を定義するように エンドユーザ と協議すべきでしょうね。 なお、本 エッセー のなかで、「影」 などという文芸的な比喩を使っていますが、当時、私は、いまだ、「関数」 を的確に把握していなかったので、そういう曖昧な比喩を使ったのでしょうね。モデルは、以下に示す手続きで構成されます。 「合意」 された認知 → 「L-真」 の構成 → 「F-真」 の験証 その手続きを図式で示せば、以下のとおり。
(F-真) ┌──────────────────────────────────┐ │ │ │ ┌───────┐ │ │ │ │ │ │ ─┘ └─ ↓ y (形式的構造) ← f ← x (語彙) ← 「情報」 ← 現実的事態 ─┐ (L-真) ┌─ │ │ └───────┘ すなわち、「情報 (帳票、画面など)」 を input にして構成される モデル は、およそ、「影」 などではなくて、モデル は、かならず、現実的事態に対して以下の 「T-文 (真理条件)」 で テスト されて 「真」 を問われるはずです。 文 「p」 が真であるのは、時刻 t において、事態 p と一致するとき、そして、そのときに限る。 したがって、「影」 などという言い訳がましいことを言わなくても宜しい。 |
<< もどる | HOME | すすむ >> | |
▼ データ解析に関するFAQ |