The Third Manifesto by C. J. Date and Hugh Darwen is the culmination of more than two decades of work on defining a foundation for the future of managing data. The authors view SQL and the relational database management systems that use it as deeply flawed, and have set down their views on a language to address those flaws. The title reflects two prior attempts (manifestos) by other authors.
The Manifesto is intentionally an academic publication written in academic language for an academic audience. Parts of it can only be read in conjunction with other books by the same authors, and parts use highly specialised language. It is not easily accessible to a general audience.
The intention here is to paraphrase, generalise and shorten the wording and to use terminology familiar to a general IT audience, while retaining the original intent, meaning and numbering. This has involved some reorganisation and some inclusion of background material from other writings to ensure that the all the terms used can be understood within one document.
This is not an easy thing to do while keeping true to the original and there may well be errors and omissions, for which I apologise in advance. Those who seek further clarity or authority should consult the primary references.
- The original: http://www.dcs.warwick.ac.uk/~hugh/TTM/TTM-2016-04-05.pdf.
- The book: http://www.dcs.warwick.ac.uk/~hugh/TTM/DTATRM.pdf.
- Another book: http://www.dcs.warwick.ac.uk/~hugh/TTM/Database-Explorations-revision-2.pdf is Database Explorations by C. J. Date and Hugh Darwen.
- The web site: http://www.dcs.warwick.ac.uk/~hugh/TTM contains much additional material.
The document broadly follows the structure of the Manifesto, including an initial section with definitions and explanations of terms.
The Manifesto expresses many of its requirements as references to a hypothetical language called D. In this document they are replaced by references to the requirements of ‘an implementation’ and references to ‘the system’ have been replaced by references to ‘built-in’ features.
The Manifesto makes use of the syntax of Tutorial D, a teaching implementation of D. This material has been omitted on the grounds that readers will not be familiar with it.
The Manifesto refers to the Inheritance Model, which is a model of type inheritance proposed by the same authors. It may be found by the above links but is not covered here.
Additional definitions have been included as needed, mainly drawn from other books by the same authors. Minor changes have been made in some terminology. Some notes have been added to clarify intent or draw attention to specific consequences. Many owe their existence to contributions from The Third Manifesto mailing list.
The original is written in terms that assume an imperative language. Some changes would be needed to provide better support for an applicative or functional implementation, but this is not the place for them.