Textbook and Readings

Textbook: A first course in database systems. Jeffrey D. Ullman and Jennifer Widom. Prentice-Hall, Upper Saddle River, New Jersey, third edition, 2008. The university bookstore carries this book, which is a required textbook for this course.

The textbook’s Web site has many useful resources: http://www-db.stanford.edu/~ullman/fcdb.html. In particular, for a more detailed listing of course topics, please refer to the textbook’s table of contents: http://www-db.stanford.edu/~ullman/pub/fcdb-toc.txt

Readings: Items marked with  are required for COS 580 students. COS 480 students may wish to read them if they plan to attempt the extra-credit questions on tests. Readings marked with ⋆⋆ are extra credit for COS 580 students and double-extra credit for COS 480 students. Students who wish to receive credit for ⋆⋆ items must discuss the specifics with me first. Everyone is encouraged to at least browse all the readings.

1.
Edgar F. Codd. A relational model of data for large shared data banks. Communications of the ACM, 13(6):377–387, June 1970.
2.
Notes on Codd’s paper: notes/rmodel.pdf; notes/rmodel/rmodel.html.
3.
[A recent paper for 480 and 580 will be added here.]
4.
 Goetz Graefe. Query evaluation techniques for large databases. ACM Computing Surveys, 25(2):73–170, June 1993.
5.
Notes on Graefe’s paper: notes/qeval.pdf; notes/qeval/qeval.html.
6.
[A recent paper for 580 will be added here.]
7.
⋆⋆ François Bancilhon and Raghu Ramakrishnan. An amateur’s introduction to recursive query processing strategies. In Proceedings of the ACM SIGMOD International Conference on Management of Data (SIGMOD), pages 16–52, Washington, D.C., May 1986.

Further Reading: These books are not required reading and nothing in the course will depend directly on reading them. However, they are good sources for different explanations of some concepts, additional information on various topics, examples, and exercises.

1.
Serge Abiteboul, Richard Hull, and Victor Vianu. Foundations of Databases. Addison-Wesley, 1995.
This book is a textbook for COS 598, Advanced Topics in Databases, and focuses on Database Theory. The book is not light reading but it is much easier than reading the equivalent set of papers.
2.
Hector Garcia-Molina, Jeffrey D. Ullman, and Jennifer Widom. Database Systems: The Complete Book. Prentice-Hall, 2002.
The first half of this book is essentially identical to the main textbook. The second half covers topics in database system implementation, and is a good resource for learning more about how database systems are implemented. Since the terminology and style is consistent with the main textbook, it should be easy reading.
3.
Christopher J. Date. An Introduction to Database Systems. Addison-Wesley, Reading, Massachusetts, 2000.
A classic database-systems textbook.
4.
Raghu Ramakrishnan and Johannes Gehrke. Database Management Systems. McGraw-Hill, third edition, 2002.
Another standard textbook with detailed coverage of some topics that we will cover briefly.
5.
Roderic Geoffrey Galton Cattell. Object Data Management: Object-Oriented and Extended Relational Database Systems. Addison-Wesley, Reading, Massachusetts, 1994.
A good introduction to object and object-relational databases.
6.
François Bancilhon, Claude Delobel, and Paris Kanellakis. Building an Object-Oriented Database System: The Story of O2. Morgan Kaufmann, 1992.
Another good book on object databases.
7.
Michael Stonebraker and Joseph M. Hellerstein, editors. Readings in Database Systems. Morgan Kaufmaann, San Francisco, California, third edition, 1998.
This collection of papers, including some classics, provides a sampling of topics in database system implementation.