リレーショナルデータベースを理解するための少なくとも2つの異なる理論的アプローチを知っています。Coddの関係代数/計算とカテゴリ理論です。
これら2つのアプローチの間に関係はありますか?ある意味では同等ですか?これらのフレームワークの両方がリレーショナルデータベースをどのように説明するかを説明する導入作業はありますか?
背景: しばらく前に、David Spivakの科学者向けカテゴリ理論を読みました。このカテゴリ理論では、リレーショナルデータベースの理論を理解するために、カテゴリ理論をどのように適用できるかについてかなり議論しました。ただし、リレーショナルデータベースとは何か、またはそれらが有用である理由について個人的な経験はほとんどありませんでしたが、当時は、この本に見られる深い洞察を十分に理解していませんでした。
しかし、最近、SQLクエリと、データ操作用の2つのRパッケージdplyrとdata.tableについて学びました。SQLは明らかにCoddの関係代数/計算/モデルのアイデアの多くを表現できますが、すべてではありません。また、dplyrの著者、ハドレーウィッカムは、している明示的に述べパッケージの基礎となる彼の哲学は、リレーショナル代数にコッドの仕事に基づいて、およびの基本的なコマンドであることをdata.table SQLとdplyrのコマンドにかなりよくマップ。
カテゴリー理論は、Haskellのような関数型プログラミング言語を使用する多くのプログラマーに影響を与えることも知っています。ただし、R向けのHadley Wickhamのpurrrパッケージ、Apache SparkがScalaで記述されているという事実、およびMapReduceに関連するテクノロジー以外に、データ操作またはデータサイエンスに関数型プログラミングが使用されていることはあまり知りません。
この種のすべては、カテゴリ理論とコッドの関係代数/計算との間に何らかの関係があるべきだと示唆していますが、そのような接続を明示的にしたり、一般的なデータ操作の設計決定の根底にあることを説明したりする人を聞いたことはありませんおよびリレーショナルデータベーステクノロジー。それで、私は完全に間違っているかもしれないと疑っています。
編集:どうやらDavid Spivakは「関数クエリ言語(FQL)」に取り組んでいるようです。これは、存在する限り、このような理論的な接続のアプリケーションである可能性があります。
注:「リレーショナル構造」がリレーショナルデータベースまたはリレーショナル代数/計算の議論に適切なタグであるかどうかはわかりません。このウィキペディアの記事は、それらが接続されている可能性を示唆していますが、最終的には「リレーショナル構造」というフレーズの意味がわかりません。再度タグを付けてください。