先生がた! 質問があります.Ч(・_・)

データベースの EquiJoin は Sets の Pullback で表現できると
思うのですが,等号でなく一般の関係のJoin は Pullback の類,
あるいは何らかの極限,余極限で表現できるのでしょうか?

詳しく言うと,Setsで,f:A->C, g:B->C があったとき
  EqJoin((A, f), (B, g)) = {(a, b)⊆A×B | f(a) = g(b)}
は,f:A->C, g:B->C のPullback と同型だと思いますが,
  LessEqJoin((A, f), (B, g)) = {(a, b)⊆A×B | f(a) <= g(b)}
は,Sets あるいは,それに構造を入れた何らかの圏の中の概念で
表せるでしょうか? さらにもっと一般に R をC上の2項関係と
したとき,
  Join((A, f), (B, g), R) = {(a, b)⊆A×B | f(a) R g(b)}
は圏の何らかの概念で表されるでしょうか? これらの構成物は,
EquiJoinの拡張で,EquiJoinがPullbackで表現できるので,
Pullbackに近い概念で表されてくれると嬉しいのですが.

計算機屋さんとしては,もし,これが表現できるなら,「えっ,
Joinが圏で表されるの? 案外.圏も役に立つんじゃないの」と
いう気持ちになるので.よろしくお願いします.