C. J. Date is an independent author, lecturer, researcher, and consultant, specializing in relational database technology. He is best known for his book An Introduction to Database Systems (8th edition, Addison-Wesley, 2004), which has sold well over 850,000 copies at the time of writing and is used by several hundred colleges and universities worldwide. He is also the author of numerous other books on database management, including most recently:
Mr. Date was inducted into the Computing Industry Hall of Fame in 2004. He enjoys a reputation that is second to none for his ability to explain complex technical subjects in a clear and understandable fashion.
Preface
This book is the third in a series. Its predecessors were as follows:
Both of these books were published by OReilly in 2012. The first was aimed at database practitioners of all kinds; it explained the principles of relational theory and used those principles as a basis for recommendations on how to use SQL as if it were a true relational language (a discipline I referred to in that book as using SQL relationally). The second was a little more specialized; it was aimed at database professionals with an interest in database design specifically, and it explained the theory of relational database design and showed why that theory was important. And this third book is more specialized too, inasmuch as it also focuses on one specific technical issuebut the issue in question is an extremely important one, one that gets to the heart of how relational database systems really ought to behave (as opposed to the way todays commercial SQL systems actually do behave, for the most part). That issue is a theory of updating : a theory that, as the books title indicates, applies to the updating of views in particular but is actually more general, in that it applies to the updating of base data just as much as it does to the updating of views as such. Note : Despite this latter state of affairs, I decided to emphasize the updating of views as such in the books title because it seems to me that, while database practitioners in general believe they understand how updating works when the target is base data, theyre typically more than a little skeptical as to whether it really works, or can be made to work, when the target is a view. In fact, view updating as such is a surprisingly controversial topicwhich was and is, of course, a strong reason for wanting to write this book in the first place.
With regard to those two earlier books, incidentally, I should probably apologize for the large number of references to them (especially the first one) in the present book. Now, most references in this book to other publications are given in full, as in this example:
David McGoveran: Accessing and Updating Views and Relations in a Relational Database, U.S. Patent No. 7,263,512 (August 28th, 2007)
In the case of those previous books of mine in particular, however, Ill refer to them from this point forward by their abbreviated titles alone (viz., SQL and Relational Theory and Database Design and Relational Theory , respectively).
Aside : Ive said Ill be giving references to other publications in full, but actually there arent many such references anyway. Although numerous papers, articles, and other writings on view updating have appeared over the past 30 years or so, most of themwith the notable exception of certain publications by David McGoveranadvocate approaches that differ fairly drastically from the one described in the present book (see later in this preface for further discussion of this point). For the most part, therefore, I felt it inappropriate to reference them, except for an occasional citation here and there. If youre interested in investigating some of those other approaches in more detail, you can find a short list of pertinent references in of my book An Introduction to Database Systems (8th edition, Addison-Wesley, 2004). End of aside .
I should stress that I do assume throughout what follows that youre familiar with much of whats covered in the SQL and Relational Theory book in particular. For example, I certainly assume you know what relations, attributes, and tuples are. Now, I make no apology for this state of affairs, since the present book is aimed at database professionals and database professionals ought really to be familiar with most of whats in that earlier book anyway. In order to make the present book a little more self-contained, however, I do offer in a more detailed summary of what views in particular are and how theyre supposed to work.
Who Should Read This Book
My target audience is database professionals, or more generally anyone interested in the relational model, relational technology, or relational systems in general. As already indicated, familiarity with the