D_(データベース言語仕様)
[Wikipedia|▼Menu]
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%;font-size:90%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}html.client-js body.skin-minerva .mw-parser-output .mbox-text-span{margin-left:23px!important}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}

この記事には参考文献外部リンクの一覧が含まれていますが、脚注による参照が不十分であるため、情報源が依然不明確です。適切な位置に脚注を追加して、記事の信頼性向上にご協力ください。(2023年1月)

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 ⋈ {\displaystyle \bowtie } S は、次のように記述する。R JOIN S
準結合

RとSの準結合 (半結合) R ⋉ {\displaystyle \ltimes } 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 と位置づけられている。
関連項目

The Third Manifesto

関係モデル

関係代数 (関係モデル)


データベース言語

SQL


人物

クリス・デイト

ヒュー・ダーウェン

参考文献

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. .mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation.cs-ja1 q,.mw-parser-output .citation.cs-ja2 q{quotes:"「""」""『""』"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free a,.mw-parser-output .citation .cs1-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited a,.mw-parser-output .id-lock-registration a,.mw-parser-output .citation .cs1-lock-limited a,.mw-parser-output .citation .cs1-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription a,.mw-parser-output .citation .cs1-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:#d33}.mw-parser-output .cs1-visible-error{color:#d33}.mw-parser-output .cs1-maint{display:none;color:#3a3;margin-left:0.3em}.mw-parser-output .cs1-format{font-size:95%}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}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 


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:17 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef