関係論理とは? わかりやすく解説

関係論理

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

関係論理 (かんけいろんり、関係計算、リレーショナル論理、リレーショナル計算、: relational calculus) は、関係データベース関係モデル (リレーショナルモデル) において、宣言的な方法で関係 (リレーション、テーブル) として表現されたデータを扱う、コンピュータ科学における演算の体系である。 関係論理には、関係論理 (タプル関係論理) と定義域関係論理とがある。 関係として表現されたデータに対して行う演算体系としては、関係代数とこの項目で説明する関係論理 (関係計算) の2種類が知られている。 関係論理は宣言的にデータを扱う演算体系であり、関係代数が手続き的にデータを扱うのとは対照的である。 組関係論理と定義域関係論理の表現能力は同等である。

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

関係モデル

関係モデルの概念

関係論理は関係モデルに基づく関係データベースデータベース言語 (問い合わせ言語) であるため、最初に関係モデルを簡単に定義する。 関係は、一つの見出しと0以上の同じ型の組の順序づけられていない集合からなるデータ構造である。 値としての関係を、関係値という。 関係値を値としてもつ変数を関係変数 (relvar) という。 関係変数が値としてもつ関係値は、時間とともに変化する。 関係変数はデータ定義言語 (DDL) を使って定義することができる。 見出しは、特定の属性の順序づけられていない集合である。 関係値を構成する組の集合を本体という。 すなわち関係値は、見出しと本体から構成されている。 組 (タプル) は、0以上の属性の集合からなるデータ構造である。 属性は、属性名と定義域の名称のペアである。 定義域は、データ型と同じ意味と考えてよい。 属性は、その定義域に適合するなんらかの属性値をもつ。 属性値は、スカラ値[要曖昧さ回避]もしくはより複雑な構造をもつ値である。 関係値を構成するおのおのの組は特定の一つ以上の属性の集合で識別される。 この属性集合を候補キーという。 こうした関係モデルの概念は数学的に定義されるが、既存のデータベースの実装はこうした定義に厳密に準拠しているわけではない。 表 (テーブル) は、関係の視覚的表現として受け容れられている。 組は行の概念に似ている。

関係代数との対比と関係完備

例えば関係代数では、書籍データベースから次の手順で、特定の書名の書籍を在庫としてもつ書店の店名と電話番号を問い合わせるであろう。

  1. 書籍関係と書店関係を書店IDで結合する。
  2. 結合して生成された関係を指定された書名で制限する。
  3. 制限して生成された関係を店名と電話番号で射影する。

この例の問い合わせは関係論理では次のような宣言的に定式化できる。

書籍データベースにおいて、書籍関係と書店関係のそれぞれの書店IDが同一であるものとし、指定された書名をもつ店名と電話番号を取得する。

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

関係モデルを考案したエドガー・F・コッドは、関係データベース言語の表現能力について関係完備という用語を定義した。 関係完備とは、コッドが提唱した限定のもとで、一階述語論理に関して完全な言語であることを意味する。 関係論理と関係代数は関係完備である。

組関係論理

関係論理 (タプル関係論理) はエドガー・F・コッドにより関係モデルの構成要素として考案された。 組関係論理を発想の基としてデータベース言語 (問い合わせ言語) QUELSQLが設計された。 SQLは、コッドの関係モデルと関係論理に忠実に準拠して設計されていないとして、批判を受けることがある。 しかしSQLは2008年現在ほとんど全ての関係データベース管理システム (RDBMS) のデータベース言語として採用されている。

組関係論理は、{t | φ(t)} の形式で表される。 ここで t は組変数である。 φ はどのように条件づけるかを示す式である。 データベース述語は R(t) もしくは t∈R として記述される。

組関係論理で使われる演算子は次のとおりである。

論理演算子

存在記号と全称記号は変数を束縛することができる。

組関係論理の例

顧客がいる場所:

  • {t.場所 | 顧客(t)}

ブレーメン内のすべての顧客:

  • {t | 顧客(t) ∧ t.場所="ブレーメン"}

注文した顧客:

  • {t | 顧客(t) ∧ ∃s(注文(s) ∧ s.顧客番号=t.顧客番号)}

注文されていない商品:

  • {t | 商品(t) ∧ ¬∃s(注文(s) ∧ s.商品番号=t.商品番号)}

組関係論理において、結合の条件は明示的に記述される。

定義域関係論理

定義域関係論理は Michel Lacroix と Alain Pirotte により考案されたといわれる[1]

定義域関係論理では、問い合わせは次のような形式になる。

カテゴリ




関係論理と同じ種類の言葉


固有名詞の分類

このページでは「ウィキペディア」から関係論理を検索した結果を表示しています。
Weblioに収録されているすべての辞書から関係論理を検索する場合は、下記のリンクをクリックしてください。
 全ての辞書から関係論理を検索

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

辞書ショートカット

すべての辞書の索引

「関係論理」の関連用語











関係論理のお隣キーワード
検索ランキング

   

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



関係論理のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2024 GRAS Group, Inc.RSS