Database System Concepts Fourth Edition
Abraham Silberschatz Henry F. Korth S. Sudarshan
Database management has evolved from a specialized computer application to a central component of a modern computing environment. As such, knowledge about database systems has become an essential part of an education in computer science. Our purpose in this text is to present the fundamental concepts of database management. These concepts include aspects of database design, database languages, and database-system implementation.
This text is intended for a first course in databases at the junior or senior undergraduate, or first-year graduate, level. In addition to basic material for a first course, the text also contains advanced material that can be used for course supplements, or as introductory material for an advanced course.
We assume only a familiarity with basic data structures, computer organization, and a high-level (Pascal-like) programming language. Concepts are presented using intuitive descriptions, many of which are based on our running example of a bank enterprise. Important theoretical results are covered, but formal proofs are omitted. The bibliographic notes contain pointers to research papers in which results were first presented and proved, as well as references to material for further reading. In place of proofs, figures and examples are used to suggest why we should expect the result in question to be true.
The fundamental concepts and algorithms covered in the book are often based on those used in existing commercial or experimental database systems. Our aim is to present these concepts and algorithms in a general setting that is not tied to one particular database system.
In this Fourth edition of Database System Concepts, we have retained the overall style of the first three editions, while addressing the evolution of database management. Every chapter has been edited, and most have been modified extensively.
The fourth edition retains and improves on the conceptual coverage of previous editions, and seeks to bridge the gap between concepts and actual implementations. Several changes have been made towards this end, including: