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

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