D (data language specification)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

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.

Overview[edit]

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[edit]

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[edit]

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 PostgreSQL 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[edit]

  • C. J. Date and Hugh Darwen (2007, Addison-Wesley) Databases, Types, and the Relational Model: The Third Manifesto, a third edition superseding first and second editions that are the two books listed below. ISBN 0-321-39942-0
  • 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 ed.). Reading, MA: Addison-Wesley. xxi, 496. ISBN 0-201-30978-5. LCCN 98010364. OCLC 38431501. 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 ed.). Reading, MA: Addison-Wesley Professional. xxiii, 547. ISBN 0-201-70928-7. LCCN 00035527. OCLC 43662285. LCC QA76.9.D3 D3683 2000.

External links[edit]