Chris Date
Database Specialist
C. J. Date is an independent author, lecturer, researcher, and consultant of international renown, specializing in relational database technology. He is best known for his book "An Introduction to Database Systems" (eighth edition, Addison-Wesley, 2004), which has sold some 725,000 copies and is used by several hundred colleges and universities worldwide.
Chris Date is pleased to announce the publication of his latest book:
"Logic and Databases: The Roots of Relational Theory",
further details of which can be viewed here.
Chris is also the author of many other books on database management, including most recently:
  • From Morgan Kaufmann: Temporal Data and the Relational Model (coauthored with Hugh Darwen and Nikos A. Lorentzos, 2003)
  • From O'Reilly: Database in Depth: Relational Theory for Practitioners (2005)
  • From Addison-Wesley: Databases, Types, and the Relational Model: The Third Manifesto (coauthored with Hugh Darwen, to appear 2006)
  • Another book, Go Faster! The TransRelationaltm Approach to DBMS Implementation, is also due for publication in the near future.
  • Mr. Date enjoys a reputation that is second to none for his ability to communicate complex technical subjects in a clear and understandable fashion. He is currently able to offer seminars and lectures on the following topics listed below, all given by himself.

    Latest News: Anticipating the release of a new book on writing SQL according to the standards of ANSI standard SQL, Chris Date now has a seminar to support this new book, How to Write Correct SQL and Know It: A Relational Approach to SQL (July 2008).


    1.     Database in Depth: Relational Theory for Practitioners (1 day / 6 hours)
    2.     Database in Depth: Relational Theory for Practitioners (2 days / 12 hours)
    3.     Temporal Database in Depth (1 day / 6 hours)
    4.     Go Faster! The TransRelational Approach (1 day / 6 hours)
    5.     Go Faster! The TransRelational Approach, An Introduction (1 - 1.5 hours))
    6.     Type Inheritance (1 day / 6 hours)
    7.     The Third Manifesto: Databases, Types and the Relational Model (2-3 hours)
    8.     Database Graffiti - Scribbles from the Askew Wall (1-1.5 hours)
    9.     The History of the Relational Database, A Personal Perspective (1 hour)
    10.   Why is it Important to think Precisely? (1 - 1.5 hours)
    11.    Nullology (1 hour)
    12.    Dropping Acid (1 - 1.5 hours)
    13.    The Problem of Missing Information (1 - 1.5 hours)
    14.    Foundation Matters (1 - 3 hours)
    15.    View Updating (2 - 3 hours)
    16.    Data Redundancy and Database Design (2 - 3 hours)
    17.    The Closed World Assumption (1 - 1.5 hours)
    18.    Don't Mix Pointers and Relations! (1 hour)
    19.    Rethinking Foreign Keys (1 - 1.5 hours)
    20     How to Write Correct SQL and Know It: A Relational Approach to SQL (1, 2, or 3 days)
     
     
    More information on each of these topics can be found by clicking on the relevant line. If you would like to make enquiries with regard to requesting one or more of these seminars anywhere in Europe, please contact Peter Robson of Relational Database Events at the following email address (but to avoid spam robot harvesting, please re-construct the email using the following components:
    [ rde ] at the following domain: [ justsql ] dot [ com ]



    1. Database in Depth: Relational Theory for Practitioners (1 day / 6 hours)
     

    a technical seminar for DBAs, data architects, DBMS implementers, database application programmers, and other database professionals, based on the book of the same name (O'Reilly Media Inc., 2005)


    Abstract:

    Years of experience in working with the database community strongly suggest a need for a seminar that covers relational principles in a way not tainted by the quirks and peculiarities of existing products, commercial practice, or the current version of the SQL standard. This seminar has been designed to meet that need. It's aimed primarily at database practitioners (that is, people working in the database field, perhaps on a daily basis) who feel they don't have as much understanding of the theory underlying their own field as they might. That theory is, of course, the relational model - and while the fundamental ideas of that model are all quite simple, they're widely misrepresented in the trade press and elsewhere; indeed, they're widely misunderstood, and often not understood at all. For example, can you answer the following questions?
     

    1. What exactly is first normal form?
    2. What's the connection between relations and predicates?
    3. What's semantic optimization?
    4. What's a join dependency?
    5. Why is semidifference important?
    6. Why doesn't deferred integrity checking make sense?
    7. What's a relation variable?
    8. What's nonloss decomposition?
    9. Can a relation have an attribute whose values are relations?
    10. What's the difference between SQL and the relational model?
    11. Why is The Information Principle important?
    12. How does XML fit with the relational model?


    This seminar provides the answers to these and many related questions. Overall, the intent is to help true database professionals understand relational theory in depth and make use of that understanding in their day-to-day database activities.

    A more detailed breakdown of this seminar can be found here.

    (return to top)


    2. Database in Depth: Relational Theory for Practitioners (2 days / 12 hours)

    SPECIAL TWO-DAY VERSION

    This seminar offers a unique opportunity to learn some of the newest developments at the foundations of database technology, from one of the world's foremost advocates and expounders of relational database theory and practice.  No other seminar covers the same material.

    About this seminar:

    Here are a few questions having to do with relational databases.  Can you answer them?

    ·  What's The Information Principle?
    ·  Why are duplicates prohibited?
    ·  What's essentiality?  Why is it important?
    ·  What's the connection between relations and predicates?
    ·  Is it ever necessary to denormalize?
    ·  What's the real difference between a domain and a relation?
    ·  Does it make sense to describe relations as "flat"?
    ·  Can join views be updated?  If so, how?
    ·  Can a relation have an attribute whose values are sets?
    ·  Why do cursor updates violate the relational model?
    ·  What does first normal form really mean?
    ·  Is ORDER BY a relational operator?
    ·  Can a relation have no attributes at all?
    ·  What's closure?  Why is it important?
    ·  Does the relational model permit nulls?
    ·  What exactly is the relational model?
    This seminar provides the answers to these and many related questions. Overall, the intent is to help true database professionals understand relational theory in depth and make use of that understanding in their day-to-day database activities.

    A more detailed breakdown of this 2-day seminar can be found here.

    (return to top)

    3. Temporal Database in Depth (1 day / 6 hours)

    a technical seminar for DBAs, data architects, DBMS implementers, database application programmers, and other database professionals based on the book 'Temporal Data and the Relational Model' by C. J. Date, Hugh Darwen, and Nikos A. Lorentzos (Morgan Kaufmann 2003)
    Abstract:

    Two recent trends: the plummeting cost of storage and the widespread adoption of data warehouse technology, have led to an increasing interest in temporal databases; indeed, the idea of maintaining and processing historical data has become not just a goal but a reality for many organizations.  As a consequence, the ability to deal properly with the time dimension in databases has become an increasingly important practical problem.  Yet today's DBMS products offer absolutely nothing to help with this important requirement.  What's more, the database research community has largely failed in this regard as well; many approaches have been proposed, but they have all have proved deficient in one way or another.   Help is on its way, however.  This seminar describes a new approach to the problem that looks set to address the (surprisingly complicated!) issue of proper temporal support ─ an approach that, let it be said immediately, fits squarely into the classical relational tradition.

    Note: Since no commercial products support that new approach as yet, this seminar might be regarded as somewhat theoretical. But the relational model too was once "just theory"! Learning about the new temporal approach now is like learning about the relational model before there were any relational products. And just as relational knowledge was helpful (with database design, for example) even before there were any relational products, so temporal knowledge can be helpful with similar matters now, even in the current absence of temporal products.

    A more detailed breakdown of this seminar can be found here.

    (return to top)


    4. Go Faster! The TransRelational Approach  to DBMS Implementation (1 day / 6 hours)

    Extended Version
    Abstract:

    In the field of scientific endeavor, an idea emerges from time to time that is so startlingly novel, and so dramatically better than anything that went before, that it can truly be described as a breakthrough. The relational model provides the obvious example in the database world; almost everything done in that world since the relational model came along stands as testament to the radical nature and impact of that one brilliant idea. And now we are witnessing the birth of what looks set to be another major breakthrough: The TransRelationaltm Model. In this speaker's opinion, the TransRelational model is likely to prove the most significant advance in this field since Codd gave us the relational model, nearly 35 years ago.

    So what is the TransRelational model? In essence, it is an implementation technology; it represents among other things a radically new and elegant approach to the question of implementing the relational model. When the relational model first appeared, skeptics accused it of being impossible to implement efficiently. Over the next few decades, therefore, vast sums of money were spent on attempts to prove the skeptics wrong. And those efforts did not prove in vain; today's products do perform fairly well, if not always spectacularly. But at what cost? The products have become quite notoriously unwieldy and difficult to manage, with their huge array of storage structures, access methods, optimization techniques, tuning knobs, analysis utilities, performance hints, installation options, and so on, and the job of the database administrator has become virtually impossible.

    The TransRelational model has the potential to change all that. It provides a totally new approach to implementation, one that is dramatically different from those that have been tried in the past and found wanting (including all of the approaches encountered in today's SQL products). Such an implementation would be orders of magnitude faster than, and would deliver a far greater degree of data independence than, today's SQL products. It would also greatly simplify the job of the DBA.

    Here are a few more specific features of the TransRelational approach:

    In a nutshell, the TransRelational model allows us to build DBMSs that ─ at last! ─ truly deliver on the full promise of the relational model.

    A more detailed breakdown of this seminar can be found here.

    (return to top)


    5. Go Faster! The TransRelational Approach, An Introduction (1 - 1.5 hours)

    (As above, but structured over 1 to 1.5 hours.)
     

    (return to top)


    6. Type Inheritance (1 day / 6 hours)

    an indepth technical seminar
    The basic ideas of type inheritance have been around for several years; indeed, languages and products supporting such ideas, in one form or another, have also been available for some time. However, those existing languages and products are typically quite ad hoc, and they all exhibit surprising

    Pleaase understand immediately that the model in question is not meant to be just an academic exercise. Rather, it is proposed as a serious contender for filling the gap alluded to above (i.e., as a candidate for the role of an inheritance model that is "formal, abstract, rigorous, and robust" and can be generally agreed upon by the community at large). It is offered here in that spirit.

    A more detailed breakdown of this seminar can be found here.

    (return to top)


    7. The Third Manifesto: Databases, Types and the Relational Model (2-3 hours)

    a technical presentation
    "The Third Manifesto", by Chris Date and Hugh Darwen, is a detailed proposal for a solid foundation for the future of data and database management systems (DBMSs). Like Codd's original papers, it can be seen as an abstract blueprint for the design of a DBMS and the language interface to such a DBMS. Among other things, it lays the foundation for a logically correct approach to integrating object and relational technologies, or in other words to building what are sometimes called object/relational (O/R) DBMSs. However, it is not limited to O/R databases as such but is applicable to other kinds of databases also: for example, temporal databases, spatial databases, and databases used in connection with the World Wide Web. It is also applicable to the design of rule engines, also known as business logic servers, which some regard as the next generation of general-purpose DBMS products.

    Note: It goes without saying that the Manifesto rests squarely in the classical relational tradition. In other words, it is in no way intended to supersede the relational model, nor does it do so; rather, it uses the relational model as a base on which to build. The relational model is still highly relevant to database theory and practice and will remain so for as far out as anyone can see. The Manifesto is thus very much in the spirit of Codd's original work and continues along the path he originally laid down. We are interested in evolution, not revolution.

    Duration: 1.5-3 hours.

    Prerequisites: Attendees will be expected to be professionally interested in database technology.

    (return to top)


    8. Database Graffiti - Scribbles from the Askew Wall (1-1.5 hours)

    an extended presentation, based in part on an article that appeared in Database Programming & Design 10, No. 3, March 1997 (the 10th anniversary issue)
    Abstract:

    This session is based in part on one of Chris Date's regular columns in Database Programming & Design (the tenth anniversary issue), but includes much additional material. It consists of a series of quotations, aphorisms, and anecdotes - seasoned with a fair degree of personal commentary - that are (mostly) relevant to the general subject of database management. The session is not technically deep, but several serious messages do lie not too far below the surface. The aim is partly to edify, partly just to amuse.

    Topic outline:

    The prehistoric era
    Objects and objections
    Normalization, networks, and nulls
    The role of simplicity
    The joy of self-reference
    Some fundamental principles
    Relational misconceptions
    Some good quotes
    Books and book reviews
    Miscellany
    Duration:  1-1.5 hours.

    Prerequisites: Attendees will be expected to have a broad familiarity with database technology in general.
     

    (return to top)


    9. The History of the Relational Database, A Personal Perspective (1 hour)

    a keynote presentation, originally prepared for the 25th anniversary of the relational model
    Abstract:

    Chris Date offers his own personal view of some of the most significant events in relational database history.

    Topic outline:

    Duration: 1 hour
    (return to top)


    10. Why is it Important to think Precisely? (1 - 1.5 hours)

    some fundamental distinctions in the field of database management
    Abstract:

    One of Codd's objectives when he introduced the relational model was to bring some clarity of thinking and expression into a field (database management) that was in sore need of it at the time - and evidently still is. Confusion is rife; confusion leads to mistakes; and we can't even discuss those mistakes sensibly if we're confused over basic concepts! In this session, Chris Date identifies a series of important distinctions that lie at the heart of the database field. He also explains exactly what the distinctions are, gives evidence of current failure to make them properly, and discusses consequences of such failure.

    Topic outline:

    Duration: One to one and a half hours

    Prerequisites: Attendees will be expected to have a broad familiarity with database technology in general

    (return to top)


    11. Nullology (1 hour)

    The Zen of Database?
    Abstract:

    Nullology is the study of the empty set. Sets per se crop up all over the place in the relational world; the question is

    Topic outline:

    Duration: One hour (approx.).

    Prerequisites: Attendees will be expected to have a broad familiarity with the relational model.

    (return to top)


    12. Dropping Acid (1 - 1.5 hours)

    a new look at databases and transactions
    Abstract:

    Here are some questions that any database professional should be able to answer almost without thinking:

    1. What exactly is a database?

    2. What is the most important property a database should possess?

    3. When should integrity constraints be checked?

    4. What are the ACID properties of a transaction?

    It is the speaker's contention, however, that there's more to these questions - or less, depending on your point of view! - than meets the eye. In fact, empirical evidence, gathered over many years, strongly suggests that a majority of database professionals are not able to give good answers to Questions 1, 2, or 3, even though most will happily give quite a lengthy response to Question 4. It's therefore interesting to observe that finding the "right" answer to Question 4 relies on finding the "right" answers to Questions 1, 2, and 3. What's more, the "right" answer to Question 4 (in the speaker's opinion) is not the one usually given; in fact, that "right" answer is somewhat at odds with conventional wisdom.

    The purpose of this presentation is to explore the foregoing issues in some detail. It offers possibly novel answers to Questions 1, 2, and 3. It then goes on to examine the ACID properties (Question 4) in the light of those answers, and concludes that, while ACID might be a nice acronym, the concepts it represents don't really stand up to close examination. To be more specific:

     The "A" property (atomicity) might be pragmatically useful, but it's not logically required.

     If the "C" property is consistency, it's trivial; if it's correctness, it's unenforceable. In fact, the "C" property isn't really a property at all but merely a desideratum.

     The "I" property (isolation) is likewise merely a desideratum; it's unenforceable, even if all transactions execute at the maximum level of isolation.

     The "D" property (durability) isn't an ironclad guarantee, either.

    These conclusions are clearly somewhat counter to orthodox opinion! Please note clearly, therefore, that they're not meant as an attack on the vast amount of excellent research that has been done on transaction management over the past 30 years or so, nor on the many elegant and useful results that have been obtained from that research. Rather, they're offered in an attempt to improve our understanding of some of the issues that lie at the very foundations of our field.

    Duration: 1-1.5 hours.

    Prerequisites: Attendees will be expected to be professionally interested in database technology.

    (return to top)


    13. The Problem of Missing Information (1 - 1.5 hours)

    a technical presentation
    Abstract:

    The speaker will describe the three-valued logic approach to missing information ("nulls") in depth. Both the underlying theory and SQL's attempt to implement that theory will be described. In particular, the speaker will show why the approach is a disastrously bad one and will sketch an alternative and logically sounder approach.

    Topic outline:

    Duration: One to one and a half hours.

    Prerequisites: Attendees will be expected to have at least a basic familiarity with the ideas of the relational model and/or SQL.

    (return to top)


    14. Foundation Matters (1 - 3 hours)

    a keynote presentation originally prepared for VLDB'02 Hong Kong, August 2002
    Abstract:

    This session is meant as a wake-up call ... The foundation of the database field is, of course, the relational model. Sad to say, however, there are some in the database community, and certainly in the industry, and to some extent in academia also, who don't seem to be as familiar with that model as they ought to be; there are others who seem to think it isn't very interesting or relevant to the day-to-day business of earning a living; and there are still others who seem to think all of the foundation-level problems have been solved.  Indeed, there seems to be a widespread feeling that "the world has moved on," so to speak, and the relational model as such is somehow passé.  In my opinion, nothing could be further from the truth!  In this session, I want to sketch the results of some of my own investigations into database foundations over the past twenty years or so; my aim is to convey some of the excitement and abiding interest that is still to be found in those investigations, with a view - I hope - to inspiring others in the field to become involved in such activities.

    Acknowledgments: Most of the work I'll be reporting on was done in conjunction with my friend and colleague Hugh Darwen of IBM in the UK. Other collaborators include David McGoveran of Alternative Technologies in California and Nikos Lorentzos of the Agricultural University in Athens, Greece.

    First of all, almost all of the ideas I'll be covering either are part of, or else build on top of, The Third Manifesto [1]. The Third Manifesto is a detailed proposal for the future direction of data and DBMSs. Like Codd's original papers on the relational model, it can be seen as an abstract blueprint for the design of a DBMS and the language interface to such a DBMS. Among many other things:

    Note: The foregoing interpretation - i.e., of what a database really is - is directly relevant to the process of logical database design (and I will mention some recent results in this connection). It is also directly relevant to what the commercial world calls business rules [2].

    Reference [1] also complements the relational model by introducing a detailed proposal for a theory of types. In particular, that theory includes a novel approach to the vexing issue of type inheritance, an approach in which the answer to the famous (or infamous) question "Is a circle an ellipse?" is - pace much of the object literature on the subject - a resounding yes. In fact, I'll explain why I believe objects and a "good" approach to type inheritance are fundamentally incompatible.

    More recently, Hugh Darwen and I, along with Nikos Lorentzos, have been building on Lorentzos's original work and the ideas presented in reference [1] - including the type inheritance ideas - to investigate the question of support for temporal data [3]. Again, it is our belief that the relational model is a necessary and sufficient foundation on which to build such support. It is true that we have defined a large number of new relational operators (with a view to raising the level of abstraction and simplifying implementation), but all of those operators are, in the final analysis, nothing but shorthand. We have also, among other things, defined a new ("sixth") normal form and proposed a temporal database design methodology.

    References:

    1. C. J. Date and Hugh Darwen: Foundation for Future Database Systems: The Third Manifesto, 2nd edition (Addison-Wesley, 2000). A detailed study of the impact of type theory on the relational model of data, including a comprehensive model of type inheritance.

    2. C. J. Date: WHAT Not HOW: The Business Rules Approach to Application Development (Addison-Wesley, 2000).

    3. C. J. Date, Hugh Darwen, and Nikos A. Lorentzos: Temporal Data and the Relational Model (Morgan Kaufmann, to appear 2003). A detailed investigation into the application of interval and relation theory to the problem of temporal database management.

    Duration: 1-3 hours.

    Prerequisites: Attendees will be expected to be professionally interested in database technology.

    (return to top)


    15. View Updating (2 - 3 hours)

    a technical presentation
    Abstract:

    View updating today is notoriously ad hoc - certainly in the SQL standard and in today's commercial SQL products, and even (sadly) in the research literature, to some extent. Now, it's true that view updating involves a number of tricky issues, but it's the speaker's contention that all of those issues have been or can be resolved; in other words, view updating is basically a solved problem. This presentation explains why.

    Topic outline:

    Duration: 2-3 hours.

    Prerequisites: Attendees will be expected to be professionally interested in database technology.

    (return to top)


    16. Data Redundancy and Database Design (2 - 3 hours)

    an investigative tutorial
    Abstract:

    A major goal of database design is to reduce redundancy. But what is redundancy? What does it mean to "reduce" it? Can it be eliminated entirely? Do we want it to be? What if it isn't? This seminar investigates these questions in depth. To be specific, it (a) pins down the precise nature of redundancy, (b) considers the implications of such redundancy for database design, and (c) examines in particular the contributions (and limitations) of normalization and orthogonality in this area. Part of the message is that, while normalization and orthogonality do constitute the scientific part of design, they come nowhere near to solving all design problems. We need more science!

    Topic outline:

    Duration: 2-3 hours (approx.). A special condensed version (1.5 hours approx.) is also available.

    Prerequisites: This presentation is not meant for beginners

    (return to top)


    17. The Closed World Assumption (1 - 1.5 hours)

    a technical presentation
    Abstract:

    The Closed World Assumption (CWA) is an important concept in the database world, despite the fact that it isn't usually spelled out explicitly. Basically what it says is this: Everything satated by the database, either explicitly or implicitly, is true; everything else is false. This presentation explains the CWA in detail and shows why it is preferred over its rival, the Open World Assumption (OWA). In particular, it examines the claims that are sometimes heard to the effect that the database community operates under the CWA while ther semantic web community operates under the OWA.

    List of Topics:

    Duration: 1 - 1.5 hours

    Prerequisites: Attendees will be expected to be professionally interested in database technology.

    (return to top)


    18. Don't Mix Pointers and Relations! (1 hour)

    an attack on (among other things) the SQL standard
    Abstract:

    The idea that databases should be allowed to include pointers to data as well as data per se has been around for a long time. Certainly it was a sine qua non in the old pre-relational (IMS and CODASYL) world, and in the shape of "object IDs" it pervades the object world as well. And, despite the fact that Codd very deliberately excluded pointers from the relational model when he first defined it, the same idea also rears its head from time to time in the relational world (the most recent manifestation of the idea in a relational context occurring, not surprisingly, in connection with current "SQL3" attempts to extend the SQL standard to include support for objects). This presentation argues strongly that mixing pointers and relations in this way is a bad idea.

    Topic outline:

    Duration: One hour (approx.)

    Prerequisites: Attendees will be expected to have a basic familiarity with either the relational model or SQL

    (return to top)



    19. Rethinking Foreign Keys (1 - 1.5 hours)
    a technical presentation
    Abstract:

    Foreign keys as classically understood are much too limited - but they can be generalised, cleanly, to become really useful! This session takes this no doubt rather heretical position as its jumping-off point. However, it quickly backs up its claims with several realistic examples - examples that don't just demonstrate serious defects in foreign keys as historically defined, but also suggest a series of compatible extensions to that historical definition that have the effect of extending, dramatically, the range of applicability and usefulness of the foreign key concept. Overall, the session makes a strong case for including the proposed functionality within existing database products.

    Topics:

    Prerequisites: Attendees will be expected to be professionally interested in database technology.
    (return to top)

    20.  How to Write Correct SQL and Know It: A Relational Approach to SQL

    ABOUT THIS SEMINAR

    SQL is ubiquitous.  But SQL is complicated, difficult, and error prone (much more so than SQL advocates would have you believe), and testing can never be exhaustive.  So to have any hope of writing correct SQL, you must follow some discipline.  What discipline?  Answer:  The discipline of using SQL relationally.  But what does this mean?  Isn't SQL relational anyway?

    Well, of course SQL is the standard language for use with relational databases──but that doesn't make it relational!  The sad truth is, SQL departs from relational theory in all too many ways; duplicate rows and nulls provide two obvious examples, but they're not the only ones.  Thus, systems based on SQL give you rope to hang yourself, as it were.  So if you don't want to hang yourself, you need to understand relational theory (what it is and why); you need to know about SQL's departures from that theory; and you need to know how to avoid the problems they can cause.  In a word, you need to use SQL relationally.  Then you can behave as if SQL truly were relational, and you can enjoy the benefits of working with what is, in effect, a truly relational system.

    Of course, a seminar like this wouldn't be needed if everyone already used SQL relationally──but they don't.  On the contrary, there's a huge amount of bad practice to be observed in current SQL usage.  Such practice is even recommended in textbooks and other publications, by writers who really ought to know better; in fact, a review of the literature in this regard is a pretty dispiriting exercise.  The relational model first saw the light of day in 1969──yet here we are, almost 40 years later, and it still doesn't seem to be very well understood by the database community at large.  Partly for such reasons, this seminar uses the relational model itself as an organizing principle; it discusses various features of the model in depth, and shows in every case how best to use SQL to implement the feature in question.  Note:  Classroom exercises are an integral part of the seminar, and attendee discussion and interaction are encouraged.

    A more detailed breakdown of this seminar can be found here

    (return to top)


    Peter Robson,
    Relational Database Events
    Edinburgh
    Scotland.
    (first published January 2007 and last updated July 2008)