Christopher J Date, the current maintainer of the
RelationalModel, initiated by
EfCodd. More information at
DbDebunk
What exactly is meant by "maintainer"? Is this an official title? Or is he simply regarded by others in the relational community as the most knowledgeable researcher on the subject? I suspect that the writer intended the latter. I don't know if he's the
most knowledgeable, but he and his frequent collaborator
HughDarwen are certainly among the most visible relational proponents to the general programming populace.
Author of the book
AnIntroductionToDatabaseSystems. Co-author, along with
HughDarwen, of
TheThirdManifesto
(Discussion moved here from NotesOnaCeePlusPlusRdbmsApi.)
For somebody who is a bit "forceful" about his opinions,
ChrisDate does not seem to spend much energy trying to popularize his ideas. He comes across as an arrogant elitist at times. Also, I think it may be possible to make relational operators/functions that are more user-friendly (based on combinations of primitives). As long as they don't violate the relational rules, I see no reason why such could not be included.
For somebody who is a bit "forceful" about his opinions, ChrisDate does not seem to spend much energy trying to popularize his ideas.
That's an odd thing to say, given all the books and articles he's written, and the fact that one of his texts is, AFAIK, a widely-used introductory college text.
He comes across as an arrogant elitist at times.
I can see where you might get that impression, but I've exchanged a fair amount of correspondence with Chris, and he's actually quite charming. But he does not compromise on rigor and clarity of thought in his field of expertise. (I made a point of reviewing my messages to him several times before sending them.) There is no shame in that -- he's been working in this field for a very long time, and understands (at least) the theoretical aspects of data organization better than ten modern industry rag pundits put together.
[When I first read this page I got the same impression of
ChrisDate. However, after having read some of his articles, he seems to me to be actually a really cool guy. I guess he would come off as more of an elitist than most people in the business, but I think it's because he is very bright; and as far as arrogance is concerned, any hint of that I may have perceived at first has been completely dispelled at least in my limited reading. (And for some reason seeing his picture helped change my first impression of him.)
On the other hand, most people are a fresh of breath air after finding nothing but rants from
FabianPascal.]
Also, I think it may be possible to make relational operators/functions that are more user-friendly (based on combinations of primitives).
That's exactly what he and
HughDarwen do in
TheThirdManifesto. In fact, everything is based on a very simple relational algebra of very few operators. The higher-level operators like Join,
LeftJoin, Union, etc. are in fact somewhat more user-friendly than the fundamental algebraic operators, but the algebra is really not hard to grasp. And there is no reason not to create additional higher-level operators to address common needs -- in fact,
DateAndDarwen do this themselves in their texts occasionally.
Union and join are primitive operations (or very close to primitive; they're among the "basic eight" (which can be reduced to 5, IIRC). LeftJoin is only necessary when you have nulls in your database, something that ChrisDate most decidedly does not recommend. See NullsAndRelationalModel.
In
TheThirdManifesto,
DateAndDarwen demonstrate that they can be reduced to AND, OR, NOT, and REMOVE. (That's not the only possible minimal set, as they note; simply NOR and REMOVE is an even smaller such set.)
Left joins are never
necessary per se, but are very convenient. An outer join (or more properly, outer semijoin) can be expressed as a combination of inner or cartesian joins, restrictions, and unions.
I find
ChrisDate to be rigorous in his treatment of the
RelationalModel, and non-rigorous in his treatment of anything that does not fit it. Specifically, I find his treatment of
ObjectOrientation to be close to dishonest. He has written
TheThirdManifesto and a series of articles where he goes against
ObjectOrientation, specifically attacking at least the type systems used in them.
However, not (
note?), *after* having written
TheThirdManifesto in 1998, he did not understand basic
ObjectOriented terminology. Specifically, in the 2001 article
http://www.dbdebunk.citymax.com/page/page/622704.htm he states that he's misunderstood the term "derive" (as in "to derive a class from another class") during the writing of the article. The intended understanding of the term was (in my opinion) also completely obvious from the context for anybody that is at all used to
ObjectOriented thinking. From this and other comments by
ChrisDate, I understand that he has not done much (or any?) object oriented programming, but only tried to pick holes in it from a theoretic point of view.
As a such, it is interesting to take inspiration from the writing of
ChrisDate, but when they touch on the intersection of OO and relational, they should be taken as what they are: Theoretical writings from somebody without practical experience in OO.
He tends to approach concepts from a theoretical point of view and would probably suggest that OO lacks enough agreed-upon formal theory to analyze properly. Confusion over terminology that you allude to would probably be seen as a side-effect of this. Even experienced OO designers don't always agree on terminology, especially if they come from very different language backgrounds, such as SmallTalk versus Java. See his quote in OoLacksConsistencyDiscussion.
And in
DefinitionsForOo
See Also:
TutorialDee,
TheThirdManifesto
CategoryPerson
CategoryAuthor
CategoryDateAndDarwen