Dは、クリス・デイトとヒュー・ダーウェンが著書『The Third Manifesto』で提唱した、
関係データベース言語が満たすべき要件の集合です。これは特定のデータベース言語ではなく、
関係モデルを忠実に実装するための規範を示しています。デイトとダーウェンは、広く使われている
SQLが
関係モデルを正確に実装していないと批判し、その代替となる概念としてDを提唱しました。
Tutorial Dは、『The Third Manifesto』で解説されている、Dの抽象的な実装であり、Dがどのようなものであるかを示すことを目的としています。教育用途にも用いられ、具体的な構文を通じてDの概念を理解するのに役立ちます。ただし、Dの実装はTutorial Dと同じ構文である必要はなく、Dで規定された機能セットを持ち、デイトとダーウェンが不適切と考える機能を排除していれば、Dの正しい実装とみなされます。また、
関係データベースの範囲外の機能を追加することも可能です。Dは、汎用
プログラミング言語のDとは無関係です。
Tutorial Dの詳細
Tutorial Dは、関係代数の演算子ごとに構文を定義しています。以下に、主な演算子とその記述方法を示します。RとSを関係、AとBをRの属性とします。
和 (UNION):
RとSの和は `R UNION S` と記述します。
差 (MINUS):
RとSの差は `R MINUS S` と記述します。
交わり (INTERSECT):
RとSの交わりは `R INTERSECT S` と記述します。
制限 (WHERE):
Rに対してA=1を条件とする制限は `R WHERE A = 1` と記述します。
射影 (projection):
Rの属性AとBを射影するには `R { A, B }` と記述します。
自然結合 (JOIN):
RとSの自然結合は `R JOIN S` と記述します。
準結合 (MATCHING):
RとSの準結合は `R MATCHING S` と記述します。
商 (DIVIDEBY):
RとSの商は `R DIVIDEBY S` と記述します。
属性名変更 (RENAME):
Rの属性BをXに変更するには `R RENAME ( B AS X )` と記述します。
拡張 (EXPAND):
RにB
2.54で計算された値を持つ属性Xを追加するには `EXPAND R ADD (B 2.54 AS X)` と記述します。
要約 (SUMMARISE):
Rの属性AごとにBの最大値を持つ関係を作成するには `SUMMARISE R PER ( R{A} ) ADD ( MAX(B) AS X )` と記述します。
Tutorial Dでは、直積(デカルト積)や外結合(外部結合)は直接サポートされていません。
Industrial D
Tutorial Dが学術的な言語であるのに対し、実務での利用を目的としたDの実装はIndustrial Dと呼ばれます。Dの最初の実装であるD4はC#で開発され、Alphora社のRDBMSであるDataphorのデータベース言語として採用されています。他にも、Rel、Opus、Duro、DeeなどがIndustrial Dの実装として存在します。
関連情報
Dに関する理解を深めるには、以下の情報を参考にしてください。
The Third Manifesto: Dの理論的背景となる書籍です。
関係モデル: データベースの基本的な概念です。
関係代数: データベースの操作を数学的に表現するための体系です。
データベース言語: データベースを操作するための言語全般です。
SQL: 現在広く利用されているデータベース言語です。
関連人物
クリス・デイト: Dの提唱者の一人。
ヒュー・ダーウェン: Dの提唱者の一人。
参考文献
Date, C. J.; Darwen, Hugh (1998). Foundation for object/relational databases: The Third Manifesto: a detailed study of the impact of objects and type theory on the relational model of data including a comprehensive proposal for type inheritance (1st edition ed.). Reading, Massachusetts: Addison-Wesley.
Date, C. J.; Darwen, Hugh (2000). Foundation for future database systems: The Third Manifesto: a detailed study of the impact of type theory on the relational model of data, including a comprehensive model of type inheritance (2nd edition ed.). Reading, Massachusetts: Addison-Wesley Professional.
Date, C. J.; Darwen, Hugh (2006). Databases, Types and the Relational Model: The Third Manifesto (3rd edition ed.). Reading, Massachusetts: Addison-Wesley.
外部リンク
The Third Manifesto
ヒュー・ダーウェンのホームページ
Tutorial Dの説明 (英語)
Tutorial Dの文法 (アルファベット順、英語)
A New Relational Algebra (英語)
Alphora
Rel
Duro
Dee