Download free books at BookBooN.com
An Introduction to Relational Database Theory
11
Preface
In Chapter 2, Values, Types, Variables, Operators, based on my second lecture, we look at the four
fundamental concepts on which most computer languages are based. We acquire some useful terminology
to help us talk about these concepts in a precise way, and we begin to see how the concepts apply to
relational database languages in particular.
Relational database theory is based very closely on logic. Fortunately, perhaps, in-depth knowledge
and understanding of logic are not needed. Chapter 3, Predicates and Propositions, based on my
third lecture, teaches just enough of that subject for our present purposes, without using too much
formal notation.
Chapter 4, Relational Algebra – The Foundation, based on material from lectures 4 and 5, describes
the set of operators that is commonly accepted as forming a suitable basis for writing a special kind of
expression that is used for various purposes in connection with a relational databasenotably, queries
and constraints.
Chapter 5, Building on The Foundation, describes additional operators that are defined in Tutorial D
(lectures 5-6) to illustrate some of the additional kinds of things that are needed in a relational database
language for practical purposes.
Chapter 6, Constraints and Updating, based on lecture 7, describes the operators that are typically used
for updating relational databases, and the methods by which database integrity rules are expressed to a
relational DBMS, declaratively, as constraints.
The final two chapters address various issues in relational database design. Chapter 7, Database Design I:
Projection-Join Normalization, based on lectures 8 and 9, deals with one particularly important issue
that has been the subject of much research over the years. Chapter 8, Database Design II: Other Issues,
discusses some other common issues that are not so well researched. These are not dealt with in my
lectures but they sometimes arise in the annual course work assigned to our students.
At the time of writing Tutorial D is being revised very slightly. As the book describing the revised
version (reference [10]) is still in preparation and the revisions are not yet incorporated into Rel, this book
uses the unrevised definition, Version 1. The revisions in Version 2 are listed in Appendix A. References
and bibliography are in Appendix B.
Note to Teachers
Over the years since 1970 there have been many books covering relational database theory. I have aimed
for several distinguishing features in this one, namely:
1. Focusing, in the first six chapters, on the application of the theory in a computer language.
(Choosing a language, for that purpose, that I co-designed myself might seem a little self-serving
on my part. I would plead guilty to any such charge, but really there was no choice.)
2. Emphasizing the difference between relations per se and relation variables (“relvars”). Failure to
do this in the past has resulted in all sorts of confusion.