Coddのリダクションアルゴリズムについて


12

Coddのアルゴリズムは、タプル関係計算の式を関係代数に変換します。

  1. アルゴリズムの標準実装はありますか?
  2. このアルゴリズムはどこでも使用されていますか?(業界ではSQLとバリアントのみが必要なようです。学界のデータベース理論家についてはわかりません。)
  3. 削減の複雑さは何ですか?

これは1年以上前にSOに投稿されましたが、良い答えを受け取りませんでした。

回答:


8

この削減は、サブセット(安全と名付けられた)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は、線形であると述べています。

このアルゴリズムの概念実証の実装については知りません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.