Codd’s theorem とは

Coddの定理によれば、リレーショナル代数と、リレーショナルモデルのための2つのよく知られた基本クエリー言語であるドメイン非依存関係計算は、表現力において正確に同等です。つまり、データベースクエリーは、他の言語で表現できる場合にのみ、ある言語で定式化することができます。
この定理は、データベース管理のリレーショナルモデルの父であるEdgar F. Coddにちなんで命名されています。
ドメインに依存しないリレーショナル・クエスチョン・クエリーは、正確にはデータベース自体に現れるものを超えた値のドメインを選択する際に不変であるリレーショナル・クエスチュアル・クエリーです。つまり、異なるドメインに対して異なる結果を返すクエリは除外されます。そのような禁止されたクエリの一例は、クエリ「関係R内に存在するもの以外の全てのタプルを選択する」であり、ここでRはデータベース内の関係である。異なるドメイン、すなわちタプルを構築することができる原子データ項目の集合を仮定すると、このクエリは異なる結果を返し、したがって明らかにドメインに依存しない。
Coddの定理は、構文的には全く異なる2つの言語の等価性を確立していることから注目に値する。関係代数は可変自由言語であるが、関係計算は変数と定量化を伴う論理言語である。
関係計算は基本的に一次論理と同等であり、確かにCoddの定理は1940年代後半から論理学者に知られていました。
リレーショナル代数に対する表現力が同等のクエリ言語は、Coddによって完全に完了と呼ばれました。 Coddの定理では、これには関係計算が含まれます。関係の完全性は、関係する完全な言語で任意の興味深いデータベースクエリを表現できることを明確に示しているわけではありません。表現不能なクエリのよく知られている例には、単純な集計(タプルの計算、タプルで発生する合計値、SQLでは表現可能な演算ですが、関係代数ではない演算の集計など)、およびバイナリエッジの関係によって与えられるグラフの推移的閉包があります表現力も)。 Coddの定理はまた、SQLのヌルとそれが伴う3値の論理を考慮しません。論争の中でヌルの論理的扱いは依然として残っている。 (最近の研究では、この方向でのCoddの定理を拡張するために、2012年のFranconiとTessarisの論文を参照してください)さらに、SQLでは重複行が許されます(マルチセットセマンティクスを持ちます)。比較した。