このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

リレーションの理論の代替案

奥野本擁護と奥野本批判にて:

先にその問題点を言っておくと:

  1. 論理をほとんど使ってない。
  2. 外部世界を考慮してない。

一単語追加して:

  1. 数学・論理をほとんど使ってない。
  2. 外部世界を考慮してない。

この批判と共に提示すべき代替案・対抗案は:

  1. 数学・論理をしっかり使う。
  2. 外部世界を考慮する。

外部世界モデリングとは、外部世界を内部世界に写し取ることだが、内部世界を符号世界(code world)とも呼ぶ。符号世界は、符号空間と符号空間のあいだの部分写像からなる世界。したがって、外部世界モデリング符号化(encoding, coding)と同義語になる。ただし、中間に集合と写像の世界を挟む。いちおう二階層モデリング

基本的な枠組み

  • 実体は、物語(歴史、履歴)を持つ集合である。パーティ。自民党Liberal Democratic Party、先発隊=advance party。
  • 実体のメンバーを個体(individual)と呼ぶ。
  • 個体も物語を持つ。それは、誕生(発生、参加、加入)、変化、死滅(消滅、退去、脱退、退出)である。
  • 実体の想定されるすべての個体の集合(これは集合)を、実体の全体集合(total set)と呼ぶ。
  • 時点(occasion)ごとの集合を実体の状態(state)と呼ぶ。
  • 関連は、物語(歴史、履歴)を持つ関係である。
  • 関連のメンバーをリンクと呼ぶ。
  • リンクは、発生し、消滅する可能性がある。定式化によってはリンクも変化する。
  • 変化は属性により観測される。属性を持たない個体やリンクには変化の概念がない。
  • 変化しない属性を不変属性と呼ぶ。当然ながら不変属性で変化は観測できない。
  • 不変属性は識別子(=符号)の材料として使える。

個体にその符号(=識別子=ID)を対応させる写像を符号化写像(識別子写像=ID写像)と呼ぶ。特定された符号化写像を持つ実体を符号化実体(=coded entity)と呼ぶ。実体は可変集合だから、符号化(付き)可変集合とも言える。

符号化実体(=符号化付き可変集合)の定理:

  1. 特定時点における符号化実体は、対応する符号空間の部分集合で表現できる。
  2. 特定時点における符号化実体のあいだの写像は、対応する符号空間のあいだの部分写像で表現できる。
  3. 特定時点における符号化実体のあいだの写像は、始域の状態と終域に対応する符号空間のあいだの写像で表現できる。
  4. 特定時点における符号化実体のあいだの関係は、対応する符号空間の部分集合で表現できる。

符号空間の部分集合の集まり(集合の集合)をindexed family of setsと考えたものを、データベース状態と呼ぶ。データベース状態のindexing setはテーブル名集合。データベース状態から、ER状態をどうやって再現するか?

  1. 外部キーを持たない部分集合を「可変集合=実体」状態の表現だとみなす。
  2. 外部キーを1つだけ持つ部分集合を「可変写像」状態の表現だとみなす。
  3. 外部キーを2つだけ持つ部分集合を「可変関係=関連」状態の表現だとみなす。
  4. 外部キーをn個持つ部分集合を「可変n項関係=n項関連」状態の表現だとみなす。