推奨されます, 2019

エディターズチョイス

関係代数と関係計算の違い

リレーショナル代数とリレーショナル計算は、リレーショナルモデルの形式的な問い合わせ言語です。 どちらも、ほとんどのリレーショナルDBMSで使用されているSQL言語の基盤を形成しています。 関係代数は手続き型言語です。 一方、 Relational Calculusは宣言型言語です。 リレーショナル代数とリレーショナル計算は、比較チャートの助けを借りて以下で論じた多くの側面でさらに区別することができます。

内容:関係代数対関係計算

  1. 比較表
  2. 定義
  3. 主な違い
  4. 結論

比較表

比較基準関係代数関係計算
基本関係代数は手続き型言語です。Relational Claculusは宣言型言語です。
リレーショナル代数は結果を得る方法を述べています。関係計算は、どのような結果を得なければならないかを述べています。
注文関係代数は、操作を実行する必要がある順序を表します。関係計算は、操作の順序を指定しません。
ドメイン関係代数はドメインに依存しません。Relation Claculusはドメインに依存します。
関連するそれはプログラミング言語に近いです。それは自然言語に近いです。

関係代数の定義

リレーショナル代数は、リレーショナルモデルの基本的な操作のセットを表します。 これは手続き型言語で、結果を取得するための手順を説明しています。 リレーショナル代数は、クエリの結果を取得する方法を指定するクエリ内の操作順序を記述するため、規範的です。

関係代数における一連の操作は、 関係代数式と呼ばれます。 関係代数式は、式への入力として1つまたは2つの関係を取り、結果として新しい関係を生成します。 関係代数式から得られた結果の関係は、その結果もやはり新しい関係になるであろう他の関係代数式にさらに構成することができる。

関係代数は、クエリ処理中にクエリを実装および最適化するためのフレームワークを形成します。 リレーショナル代数はリレーショナルDBMSの不可欠な部分です。 関係代数に含まれる基本演算は、{ 選択(σ)、プロジェクト(π)、和集合(`)、集合差( - )、デカルト積(×)、名前変更(ρ) }です。

関係計算の定義

リレーショナル代数とは異なり、リレーショナル計算は高レベルの宣言型言語です。 関係代数とは逆に、関係計算はどのような結果が得られるかを定義します。 リレーショナル代数と同様に、リレーショナル計算 、クエリが評価される一連の操作を指定しません

一連の関係計算操作は関係計算式と呼ばれ、結果として新しい関係も生成されます。 関係計算には、 タプル関係計算ドメイン関係計算の 2つのバリエーションがあります。

タプル関係計算は、与えられた特定の条件に基づいて、関係から選択するタプルリストします。 正式には次のように表されます。

P(t)

ここで、 tは、条件Pが真となるタプルの集合です。

次のバリエーションはDomain Relational Calculusです。これは、Tuple Relational Calculusとは対照的に、特定の条件に基づいて、リレーションから選択される属性リストします 。 ドメインリレーショナル計算の正式な定義は次のとおりです。

X1、X2、X3 、. Xnは属性で、 Pは特定の条件です。

関係代数と関係計算の間の主な違い

  1. リレーショナル代数とリレーショナル計算の基本的な違いは、リレーショナル代数は手続き型言語であるのに対し、リレーショナル計算は非手続き型言語であり、代わりに宣言型言語であることです。
  2. リレーショナル代数は結果の取得方法を定義しますが、リレーショナル計算は結果に含まれる情報を定義します。
  3. リレーショナル代数は、クエリ内で操作を実行する必要がある順序を指定します。 一方、リレーショナル計算では、クエリで実行する一連の操作は指定されていません。
  4. リレーショナル代数はドメインに依存しませんが、ドメインリレーショナル計算を使用しているので、リレーショナル計算はドメインに依存します。
  5. リレーショナル代数クエリ言語はプログラミング言語と密接に関連していますが、リレーショナル計算は自然言語と密接に関連しています。

結論:

関係代数と関係計算はどちらも同等の表現力を持っています。 主な違いは、リレーショナル代数がデータの取得方法を指定し、リレーショナル計算がどのデータを取得するかを定義していることだけです。

Top