リレーショナル計算は、タプル リレーショナル計算とドメイン リレーショナル計算の 2 つの計算で構成されます。これらは、データベースのリレーショナル モデルの一部であり、データベース クエリを指定するための宣言的な方法を提供します。リレーショナル計算の存在意義は、クエリの最適化を形式化することであり、これは、データベースで同じクエリを実行するためのより効率的な方法を見つけることです。
リレーショナル計算は、リレーショナル モデルの一部でもあるリレーショナル代数に似ています。リレーショナル計算は、リレーショナル計算式のサブ式の実行順序を規定しない宣言型言語であるのに対し、リレーショナル代数は命令型言語です。リレーショナル代数式のサブ式は、ネストに従って左から右、内側から外側へ実行されるようになっています。
コッドの定理によれば、関係代数と領域に依存しない関係計算は論理的に同等である。
例
リレーショナル代数式では、 Some Sample Book を販売している書店の電話番号と名前を取得するために、次の手順を規定する場合があります。
- BookstoreID を介して書店とタイトルに参加します。
- その結合の結果を、書籍Some Sample Bookのタプルに制限します。
- その制限の結果を StoreName と StorePhone に投影します。
リレーショナル計算式では、このクエリを次の記述的または宣言的な方法で定式化します。
- 同じ BookstoreID 値を持ち、 BookTitle 値がSome Sample Bookであるタイトル BK が存在するような書店の StoreName と StorePhone を取得します。
数学的性質
リレーショナル代数とドメインに依存しないリレーショナル計算は論理的に同等です。つまり、任意の代数式に対して、計算における同等の式が存在し、その逆も同様です。この結果は、コッドの定理として知られています。
目的
リレーショナル計算の存在意義は、クエリ最適化の形式化にあります。クエリ最適化とは、クエリからそれを実行する最も効率的な方法 (または複数の方法) を決定することです。クエリ最適化は、答え A を返すリレーショナル計算式を、同じ答え A を返す効率的なリレーショナル代数式に変換することとして形式化できます。
参照
参考文献
- Date, Christopher J. (2004)。『データベースシステム入門』(第 8 版)。Addison Wesley。ISBN 0-321-19784-4。
