ITパスポート試験 用語辞典
- 分野:
- テクノロジ系 » データベース » データ操作
- 重要度:
(Wikipedia 関係代数 (関係モデル)より)
関係代数(かんけいだいすう、リレーショナル代数、英: relational algebra)は、関係データベースの関係モデル (リレーショナルモデル)において、集合論と一階述語論理に基づいて、関係 (リレーション、表、テーブル)として表現されたデータを扱う、コンピュータ科学における代数的な演算の体系である。
関係として表現されたデータに対して行う演算体系としては、関係論理(関係計算)とこの項目で説明する関係代数の2種類が知られている。
関係代数と関係論理は、主にエドガー・F・コッドによって考案され、その後コッドを含めた関係データベース(関係モデル)の研究者たちが発展させてきた。現在では、関係代数の演算子としては、和、差、交わり (交差) 、直積、制限 (選択) 、射影、結合、商の8種類が言及されることが多い。
ただし属性名変更や拡張、要約などこの他の演算子も考案されている。関係代数を実装したデータベース言語(問い合わせ言語)としては、SQL や Tutorial D などが挙げられる。
ただし SQL については、関係代数を完全な形で実装していないとして批判する意見がある。数学的に純粋な関係代数は、数理論理学や集合論と比較して、代数的構造をなしている。
制限
制限(restriction)は、選択(selection)ともいい、ある関係から、指定した条件に合う組の集合を関係として返す。
前提
どの条件式の要素も比較可能であり、比較演算子θを使って条件式が記述されていること。
例
定義
Rを関係とすると、制限は次のように定義される。
\(\varphi\) は次のような条件式である。
|\(\sigma_\varphi(R) := \{ \ t : t \in R, \ \varphi(t) \ \}\)
なお、θは一般的な比較演算子 (<、?、=、>、?、<>) である。
- 属性と定数の比較の条件式: 属性 θ 定数
- 属性同士の比較条件式: 属性 θ 属性
- 比較条件式に論理演算記号 (∧、∨、¬) を適用したもの
SQL
SELECT * FROM R WHERE A = 1
Tutorial D
R WHERE A = 1
射影
射影(projection)演算は、ある関係から属性を限定した関係を返す。
射影演算は、Rを構成する属性集合から、いくつかの属性を抽出する。
βを抽出する属性の集合とすると、射影は、πβ(R) もしくは R[β] と記述することができる。前提
射影演算で指定された属性が、対象となる関係に含まれていること。
例
定義
Rを関係とし、Rは {A1, …, Ak} として属性をもつとする。
また、β ⊆ {A1, …, Ak} とする (βはRの全属性の部分集合である属性の集合) 。
|\(\pi_{\beta}(R):=\{t_{\beta}|t \in R\}\)
tβ := (β) は、βを構成する属性集合だけからなる組を意味する。
SQL
SELECT A, B FROM R
Tutorial D
R { A, B }
- 基礎理論(23)
- アルゴリズムとプログラミング(27)
- コンピュータ構成要素(32)
- システム構成要素(29)
- ソフトウェア(17)
- ハードウェア(14)
- 情報デザイン(21)
- 情報メディア(28)
- データベース(19)
- ネットワーク(71)
- セキュリティ(121)
このページのWikipediaよりの記事は、ウィキペディアの「関係代数 (関係モデル)」(改訂履歴)の記事を複製、再配布したものにあたり、このページ内の該当部分はクリエイティブ・コモンズ 表示 - 継承 3.0 非移植 ライセンスの下 に提供されています。