関係代数 (関係モデル)とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > 関係代数 (関係モデル)の意味・解説 

関係代数 (関係モデル)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/02/21 14:00 UTC 版)

関係代数(かんけいだいすう、リレーショナル代数、: relational algebra)は、関係データベース関係モデル (リレーショナルモデル)において、集合論一階述語論理に基づいて、関係 (リレーション、、テーブル)として表現されたデータを扱う、コンピュータ科学における代数的な演算の体系である。

関係として表現されたデータに対して行う演算体系としては、関係論理(関係計算)とこの項目で説明する関係代数の2種類が知られている。 関係代数と関係論理は、主にエドガー・F・コッドによって考案され、その後コッドを含めた関係データベース(関係モデル)の研究者たちが発展させてきた。

現在では、関係代数の演算子としては、交わり (交差) 、直積制限 (選択) 、射影結合の8種類が言及されることが多い。 ただし属性名変更拡張要約などこの他の演算子も考案されている。

関係代数を実装したデータベース言語問い合わせ言語)としては、SQLTutorial D などが挙げられる。 ただし SQL については、関係代数を完全な形で実装していないとして批判する意見がある。

数学的に純粋な関係代数は、数理論理学集合論と比較して、代数的構造をなしている。

概要

関係代数の基本的な考え方は、集合論一階述語論理の流れをくんでいる。

関係代数の演算子は、閉包性(closure)をもつ。関係において閉包である。 つまり次のことがいえる。

  • 関係代数は、1つもしくは複数の関係を基にして演算を行う。
  • 関係代数で演算を行って返される結果は、必ず関係である。
  • 関係代数演算の結果として返された関係を基にして、さらに関係代数で演算することができる。入れ子になった関係代数演算を行うことができる。

現在、言及されることが多い関係代数の演算子としては、交わり (交差) 、直積制限 (選択) 、射影結合の8種類がある(この8種類の演算子については後の#基本的な演算子の節で説明する)。 ただし属性名変更拡張要約などこの他の演算子も考案されている(後の#応用的な演算子の節で説明する)。

関係代数は、関係データベース管理システム(RDBMS、関係データベース)のデータベース言語問い合わせ言語)の基礎となっている。

関係代数と関係論理(関係計算)は互いに等価である。 関係代数で表現された式は、等価な関係論理の式で表現することができる。 また関係論理で表現された式は、等価な関係代数の式で表現することができる。

関係代数を実装したデータベース言語としては、SQLTutorial D などが挙げられる。 SQLは、関係代数と関係論理を実装しているとされる。 ただし一部の研究者などの人々(クリス・デイトヒュー・ダーウェンなど)は、SQLに対して、関係モデルを考案したエドガー・F・コッドの関係代数を完全な形で実装していないなどとして、批判的な立場をとっている。 デイトとダーウェンは完全な実装として DTutorial D)を考案し提唱している。

関係は何らかの述語外延と解釈することができるので、関係代数の各々の演算子は述語計算に相当するものと解釈できる。 例えば、自然結合は論理積 AND(

関係モデルの概念

関係代数は関係モデルに基づく関係データベースデータベース言語 (問い合わせ言語) であるため、最初に関係モデルを簡単に定義する。 関係モデルにおける基本的な構成要素は定義域すなわちデータ型である。 は順序づけられていない属性の集合である。 属性定義域と値のペアである。 関係変数は、特定の関係型の名前つきの変数であり、順序づけられていない属性名と属性の定義域のペアの集合である。 関係変数は関係の見出しを提供する。 関係は見出しと組の集合から構成される。 こうした関係モデルの概念は数学的に定義されるが、既存のデータベースの実装はこうした定義に厳密に準拠しているわけではない。 (テーブル) は、関係の視覚的表現として受け容れられている。 組は行の概念に似ている。

関係の型適合

集合論に基づく関係演算子直積を除く、交わり)では、2つの型適合(type-compatibility)する関係を対象として演算を行う。 この種の関係演算では、型適合しない2つ関係を対象として演算を行うことはできない。 型適合は、和両立(union-compatibility)ともいう。

関係の型適合とは、言い換えれば2つの関係がうまく組み合わせることができるということである。 具体的には、関係 R と関係 S について、次の条件が満たされる場合、R と S は型適合である。

  • R と S が同じ数の属性をもっていること。
  • R と S がもつ属性の名前が同じであること。
  • R と S がもつ同じ名前の属性の定義域が同じであること。

基本的な演算子

基本的な関係代数の演算子は大きく2つに分類することができる。 集合論に基づく演算子と関係代数に特有な演算子である。 まず集合論に基づく演算子(交わり (交差) 、直積)を説明し、続けて関係代数特有の演算子(制限 (選択) 、射影結合)を説明する。 また各演算子について、データベース言語問い合わせ言語SQLTutorial D による関係代数式の表現例を示す。

和(union)演算 R ∪ S は、R と S を、R の全ての組(タプル、行)と S の全ての組で構成される一つの関係を返す。 この演算では、R と S が型適合であることが前提となる。 重複する組は除去される。

参考: 和集合

前提

関係 R と S が型適合であること。

R:
A B C
1 2 3
4 5 6
S:
A B C
7 8 9
4 5 6
R ∪ S:
A B C
7 8 9
4 5 6
1 2 3

定義

カテゴリ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「関係代数 (関係モデル)」の関連用語











関係代数 (関係モデル)のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



関係代数 (関係モデル)のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの関係代数 (関係モデル) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS