D (データベース言語仕様)
D は、クリス・デイトとヒュー・ダーウェンが著書 (共著) The Third Manifesto で提案した、関係データベースのデータベース言語が満たすべき要件の集合である。 D自体はデータベース言語ではない。 デイトとダーウェンは、2008年現在で広く使われているデータベース言語SQLを、関係モデルを正確に実装していないとして、批判している。
Tutorial D は、The Third Manifesto で説明され使われている、Dの抽象的な実装である。 Dの実装は、Tutorial D と必ずしも同じ構文である必要はない。 Dを正しく実装するために必要なことは、その実装が、Dで規定された機能のセットをもっていることと、デイトとダーウェンが賢明ではないと考えている機能のセットを排除していることである。 Dの正しい実装は、関係データベースの範囲外に位置づけられる付加的な機能をもっていても良い。
Dは、プログラミング言語Dとは関係ない。 プログラミング言語Dは、汎用的なプログラミング言語である。
Tutorial D
編集Tutorial D は、The Third Manifesto で説明され使われている、Dの抽象的な実装である。 Tutorial D は、Dがどのようなものであるかを示すことを目的としており、また教育用途である。
構文
編集Tutorial D の構文を、関係代数の演算子ごとに説明する。 なお R と S を関係とする。 また A と B を R の属性とする。
和
編集RとSの和 R ∪ S は、次のように記述する。
R UNION S
差
編集RとSの差 R - S は、次のように記述する。
R MINUS S
交わり
編集RとSの交わり R ∩ S は、次のように記述する。
R INTERSECT S
制限
編集Rに対する A = 1 を条件とする制限 (選択) R[A = 1] は、次のように記述する。
R WHERE A = 1
射影
編集Rの射影 R[A,B] は、次のように記述する。
R { A, B }
自然結合
編集RとSの自然結合 R S は、次のように記述する。
R JOIN S
準結合
編集RとSの準結合 (半結合) R S は、次のように記述する。
R MATCHING S
商
編集RとSの商 R ÷ S は、次のように記述する。
R DIVIDEBY S
属性名変更
編集Rの属性名をBからXに変更する属性名変更 R[B→X] は、次のように記述する。
R RENAME ( B AS X )
拡張
編集Rに B * 2.54 で計算される値をもつ属性を追加して、その属性の名前をXとする拡張は、次のように記述する。
EXPAND R ADD (B * 2.54 AS X)
要約
編集Rに対してその属性AとAごとのBの最大値から構成される関係を生成する要約は、次のように記述する。
SUMMARISE R PER ( R{A} ) ADD ( MAX(B) AS X )
Tutorial D が備えていない構文
編集Tutorial D では、直積 (積、デカルト積) は直接サポートされない。
Tutorial D では、外結合 (外部結合) に相当する演算子は存在しない。
Industrial D
編集Tutorial D が学術のための言語であるのに対し、実務のために使われるDの正確な実装は Industrial D と呼ばれる。
実装
編集Dの最初の実装は D4 であり、C#で開発された。 D4は、Alphora社の関係データベース管理システム (RDBMS) Dataphor でデータベース言語として採用されている。 他の実装としては、Rel、Opus、Duro、Dee などがある。 これらの実装はすべて Industrial 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. pp. xxi, 496. ISBN 978-0-201-30978-2. OCLC 38431501. LCCN 98-10364 LCC QA76.9.D3 D15994 1998
- 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. pp. xxiii, 547. ISBN 978-0-201-70928-5. OCLC 43662285. LCCN 00-35527 LCC QA76.9.D3 D3683 2000
- Date, C. J.; Darwen, Hugh (2006). Databases, Types and the Relational Model: The Third Manifesto (3rd edition ed.). Reading, Massachusetts: Addison-Wesley. pp. 572. ISBN 978-0-321-39942-7. OCLC 70044091
- http://www.thethirdmanifesto.com - The Third Manifesto
外部リンク
編集Tutorial D
編集- http://www.dcs.warwick.ac.uk/~hugh/ - ヒュー・ダーウェンのホームページ (ウォーリック大学コンピュータ科学部)
- Tutorial D の説明 (英語)
- Tutorial D の文法 (アルファベット順、英語)
- A New Relational Algebra (英語) - Tutorial D の基盤となっている新しい関係代数の体系の説明