土曜日の「データベースは圏なんだよ!の会」(hirataraさんのメモ)で、「主キー/外部キーなんてドーデモイイでしょ」的なことを言ったので、「どういう観点ならドーデモヨク見えるのか」を補足しておきます。別な観点からはドーデモヨクナイでしょうが、そういう別な観点を否定するものではありません*1。 以下の話は、集合圏に関する練習問題にもなっています。モノ射とプルバックの定義を確認して、集合圏のなかで具体的に考えてみてください。手を動かして具体的に追いかければ、ドーデモヨサが実感できるはずです*2。 Cは集合圏の部分圏としまします。したがって、Cの対象は集合で射は写像です。データベースを考える文脈では、Cは有限個の対象からなる小規模なもの(有限表示を持つ圏)です。Cは、Cと同じ“形状”を持つスキーマSのデータベースインスタンス(スナップショット)だと思ってください。 Cの対象Aごとに対象K(A