なんか午後から不調。晴れてないと散歩にも出たくないし。「関手的データモデル雑感: 正規形とかジョインとか」を書いてたときに頭に思い浮かんだけど書ききれなかったことをメモしておこう。箇条書きだけど。
- ER図は、関係圏Relでだいたい解釈できるだろう。
- 関係圏の射は二項関係なので、n項関係は表現できないと思っている人がいるかもしれない。それは間違い。Relではカリー化ができるので、n項関係(n = 0, 1も含む)は二項関係に変換できる。
- 集合圏Setと関係圏Relのあいだの“関係”(←日常語)は、スパンの圏をはさむと分かりやすい。スパンを対応(correspondence)と呼ぶ人もいる。
- SELECT文のような問い合わせは、スキーマの部分圏とそこからアンビエント圏への関手Qにコンパイルされる。問い合わせの実行と結果とは、関手Qの極限を求めること。(スピヴァックは別な定式化をしている。)
- 問い合わせの自由度が欲しいなら、アンビエント圏は有限完備であるのが望ましい。しかしたいていは、有限余完備である必要はない。むしろ、余極限は嫌われているような。
- アンビエント圏がトポスなら便利だが、そうじゃなくてもなんとかなる。
- トポスじゃないにしても、引き戻しでsubobjectを作る方法は有効だ。
- 関係圏とベキ集合モナドのクライスリ圏は同じものだが、この同型性は非常によく使う。
- 関係=集合値写像の、全域性(totality)と単葉性(univalence)は大事だ。転置と組み合わせると、単射性と全射性にもなる。
- Relが
自己同型自己双対(self-dual)なコンパクト閉圏であることが、いろいろと都合のいい性質の背景になっている。