Harman Patil (Editor)

D (data language specification)

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

D is a set of prescriptions for what Christopher J. Date and Hugh Darwen believe a relational database management system ought to be like. It is proposed in their paper The Third Manifesto, first published in 1994 and elaborated on in several books since then.

Contents

Overview

D by itself is an abstract language specification. It does not specify language syntax. Instead, it specifies desirable and undesirable language characteristics in terms of prescriptions and proscriptions. Thus, D is not a language but a family of both implemented and future languages. A "valid D" must have a certain set of features, and exclude a different set of features which Date and Darwen consider unwise and contrary to the relational model proposed by E. F. Codd in 1970. A valid D may have additional features which are outside the scope of relational databases.

Tutorial D

Tutorial D is a specific D which is defined and used for illustration in The Third Manifesto. Implementations of D need not have the same syntax as Tutorial D. The purpose of Tutorial D is both educational and to show what a D might be like. Rel is an implementation of Tutorial D.

Implementations

There are numerous implementations of D, with varying degrees of maturity and compliance.

  • D's first implementation is D4, written in C#. D4 is the flagship language of Alphora's Dataphor.
  • Rel is the most complete implementation of Tutorial D (including the Inheritance Model), and is heavily used in teaching.
  • Andl is an relational programming language with Sqlite or Postgres backend and Thrift interfaces.
  • Alf - Relational Algebra at your Fingertips, a Ruby implementation of relational algebra inspired by Tutorial D, that you can try online.
  • Dee makes Python relational.
  • Duro - a relational database management system
  • SIRA_PRISE stands for Straightforward Implementation of a Relational Algebra - Prototype of a Relational Information Storage Engine.
  • TclRal - Tcl Relational Algebra Library, TclRal is an implementation of relational algebra, based on concepts in The Third Manifesto, as an extension of the Tcl language.
  • References

    D (data language specification) Wikipedia