
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 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.
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?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.
· 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?
A more detailed breakdown of this 2-day seminar can be found here.
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)
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.
4. Go Faster! The TransRelational Approach to DBMS Implementation (1 day / 6 hours)
Abstract:Extended Version
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:
A more detailed breakdown of this seminar can be found here.
5. Go Faster! The TransRelational Approach, An Introduction (1 - 1.5 hours)
(As above, but structured over 1 to 1.5 hours.)
6. Type Inheritance (1 day / 6 hours)
an indepth technical seminar
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.
7. The Third Manifesto: Databases, Types and the Relational Model (2-3 hours)
a technical presentation
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.
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)
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 eraDuration: 1-1.5 hours.
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
Prerequisites: Attendees will be expected to have a broad familiarity
with database technology in general.
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
Chris Date offers his own personal view of some of the most significant events in relational database history.
Topic outline:
10. Why is it Important to think Precisely? (1 - 1.5 hours)
some fundamental distinctions in the field of database management
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:
Prerequisites: Attendees will be expected to have a broad familiarity with database technology in general
11. Nullology (1 hour)
The Zen of Database?
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:
Prerequisites: Attendees will be expected to have a broad familiarity with the relational model.
12. Dropping Acid (1 - 1.5 hours)
a new look at databases and transactions
Here are some questions that any database professional should be able to answer almost without thinking:
1. What exactly is a database?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.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?
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.
13. The Problem of Missing Information (1 - 1.5 hours)
a technical presentation
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:
Prerequisites: Attendees will be expected to have at least a basic familiarity with the ideas of the relational model and/or SQL.
14. Foundation Matters (1 - 3 hours)
a keynote presentation originally prepared for VLDB'02 Hong Kong, August 2002
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:
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.
15. View Updating (2 - 3 hours)
a technical presentationAbstract:
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:
Prerequisites: Attendees will be expected to be professionally interested in database technology.
16. Data Redundancy and Database Design (2 - 3 hours)
an investigative tutorial
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:
Prerequisites: This presentation is not meant for beginners
17. The Closed World Assumption (1 - 1.5 hours)
a technical presentationAbstract:
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:
Prerequisites: Attendees will be expected to be professionally interested in database technology.
18. Don't Mix Pointers and Relations! (1 hour)
an attack on (among other things) the SQL standardAbstract:
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:
Prerequisites: Attendees will be expected to have a basic familiarity with either the relational model or SQL
a technical presentationAbstract:
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:
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
Peter Robson,
Relational Database Events
Edinburgh
Scotland.
(first published January 2007 and last updated July
2008)