This book covers the fundamentals of modern database management systems, in particular relational database systems. It is intended as a text that can be used in an introductory database course for undergraduates, and in a second database course at the undergraduate and graduate levels. Basic concepts and widely-used, industry-standard techniques are emphasized. Up-to-date coverage in the second edition includes chapters on physical database design and tuning, internet databases, decision support, data mining, object-databases, spatial data management, and deductive databases.
The second edition was available from 1999-2002. Here is the material for the current edition.
Material for the Second Edition
New in the Second Edition
Based on extensive user surveys and feedback, we have refined the book's organization. The major change is the early introduction of the ER model, together with a discussion of conceptual database design. As in the first edition, we introduce SQL-92's data definition features together with the relational model (in Chapter 3), and whenever appropriate, relational model concepts (e.g., definition of a relation, updates, views, ER to relational mapping) are illustrated and discussed in the context of SQL. Of course, we maintain a careful separation between the concepts and their SQL realization. The material on data storage, file organization, and indexes has been moved back, and the material on relational queries has been moved forward. Nonetheless, the two parts (storage and organization vs.~queries) can still be taught in either order based on the instructor's preferences.
In order to facilitate brief coverage in a first course, the second edition contains overview chapters on transaction processing and query optimization. Most chapters have been revised extensively, and additional explanations and figures have been added in many places. For example, the chapters on query languages now contain a uniform numbering of all queries to facilitate comparisons of the same query (in algebra, calculus, and SQL), and the results of several queries are shown in figures. JDBC and ODBC coverage has been added to the SQL query chapter and SQL:1999 features are discussed both in this chapter and the chapter on object-relational databases. A discussion of RAID has been added to Chapter 7. We have added a new database design case study, illustrating the entire design cycle, as an appendix.
Two new pedagogical features have been introduced. First, `floating boxes' provide additional perspective and relate the concepts to real systems, while keeping the main discussion free of product-specific details. Second, each chapter concludes with a `Points to Review' section that summarizes the main ideas introduced in the chapter and includes pointers to the sections where they are discussed.
For use in a second course, many advanced chapters from the first edition have been extended or split into multiple chapters to provide thorough coverage of current topics. In particular, new material has been added to the chapters on decision support, deductive databases, and object databases.
New chapters on Internet databases, data mining, and spatial databases have been added, greatly expanding the coverage of these topics.
If you have further questions, or if you are using the book and have found bugs or typos, or if you have any comments or suggestions about the presentation or content, please contact Raghu Ramakrishnan or Johannes Gehrke via email.