Coddのアルゴリズムは、タプル関係計算の式を関係代数に変換します。
- アルゴリズムの標準実装はありますか?
- このアルゴリズムはどこでも使用されていますか?(業界ではSQLとバリアントのみが必要なようです。学界のデータベース理論家についてはわかりません。)
- 削減の複雑さは何ですか?
これは1年以上前にSOに投稿されましたが、良い答えを受け取りませんでした。
Coddのアルゴリズムは、タプル関係計算の式を関係代数に変換します。
これは1年以上前にSOに投稿されましたが、良い答えを受け取りませんでした。
回答:
この削減は、サブセット(安全と名付けられた)Tuple Relational Calculus(TRC)がRelational Algebra(RA)よりも表現力が低いことを示す建設的な証明手法です。別の方法も同様に、Safe-TRCとRAには同等の表現力があります。たとえば、定理5.3.10を参照してください。構文の「安全性」制限により、計算のドメインに依存しないプロパティが保証され、必要になります。
R-DBMSでは、SQLはTRCの具体的な(宣言的な)言語と見なすことができます。RAのカウンターパートは、SQL式がコンパイルされるプロシージャプラン(一連の操作)です。したがって、変換は実際にはコンパイルプロセスの正式な記述です。SQLには、DISTINCT、ORDER BY、GROUP BYなどの拡張機能が導入されていますが、これらは明らかにTRCおよびRA理論の範囲外です。
変換の正確な理論的複雑さはわかりませんが、明らかに「安価」でなければなりません。Photon Kolaitisは、線形であると述べています。
このアルゴリズムの概念実証の実装については知りません。