Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom
DATABASE SYSYEM: The Complete Book
Prentice Hall, Pearson Education International,
Hardcover pp. 460, plus XV, $ 53,99
Prentice Hall Inc., Upper Saddle River NJ. 07458, 2003
ISBN 0-13-031995-3
http://www.pearsoneduc.com
In general about the book
Database and database technology are having a major impact on the growing
use of computers and will play a critical role in almost all area where
computers are used, including business, engineering, medicine, law,
education and library science. Therefore, today database is a fundamental
knowledge in the computer world.
There are many books about databases and databases technology, but only some of them cover all the most important aspects of database. This book is such and therefore it is very interest for readers who work with databases or implement database systems. The unique value of the book lies in consistent integration of user and system views to database systems.
More information on the book is available over the Internet at URL http://www- db.stanford.edu/~ullman/dscb.html, including solutions to some exercises, errata, and backup materials.
Chapter content
The book contains both basic and advanced material. The book is divided into 20 chapters. Chapters 1 to 10 cover the fundamental concepts of modern database systems and provide the external view to the system. Chapter 1 introduces basic concepts of database systems, including the evolution of database systems and an overview of database management systems. Chapter 2 describes the concepts of the Entity-Relationship (ER) data model and ER diagrams are presented and used to illustrate conceptual database design. Chapter 3 is dedicated to relational data model. The part contains an overview of concepts, functional dependencies, multi-valued dependencies, design of relational database schemas, and describes how to convert the ER diagrams into relational database schemas. Chapter 4 presents the other data models, including object-oriented, object-relational, semi-structured and XML data models. Relational algebra, SQL, constraints and triggers are presented in chapters 5 to 7. Chapter 8 shows system aspects of SQL, including SQL/PSM, SQL/CLI, JDBC, transactions, security and user authorization in SQL. Chapter 9 is concerned with object-orientation in query languages and presents OQL, a standardized query language for object-oriented databases, and object-relational features of the SQL-99. Chapter 10 gives a comprehensive introduction to the logical query language Datalog and how it applies to query relational databases.
The chapters 11 through 20 cover the techniques used in implementing database management systems. These chapters are targeted at readers who want to gain an understanding of internals of a database. Chapter 11 deals with disk and discusses how does a computer system store and manage very large amounts of data. Representations and data structures that the best support efficient manipulation of this data are provided in Chapters 12 through 14. The techniques used by DBMS in query processing are presented in Chapters 13 and 14. Chapter 15 concentrates on query execution and Chapter 16 on the architecture of the query compiler and its optimizer. Chapters 17 to 19 are focused on those parts of a DBMS that control access to data. Chapter 17 addresses the techniques for supporting the integrity of the data when the system fails in some way. Chapter 18 focuses on concurrency control and presents several techniques for ensuring serializability, including locking, timestamping, and validation (optimistic) techniques. Chapter 19 deals with advanced transaction management. It discusses the management of deadlocks among transactions, the techniques used in distributed transaction processing and the problems that arise due to long transactions. Chapter 20 introduces important aspects of information integration. It includes the principal approaches to integration (federation, warehousing, and mediation) and the most important application that make use of integrated information, OLAP.
Useful book
The book is intended primarily for computer science students who interest in designing, using and implementing databases and databases systems. The book can also be used as a reference and self-study guide for experienced scientists who wish to strengthen their understanding of databases systems and data models. The text is suitable for courses "A First Course in Database Systems" (chapters 1 to 10) and "Database System Implementation" (remaining chapters). Most of the concepts in the text are illustrated by several examples. Each chapter includes an extensive set of exercises, both to test the basic concepts of the chapter and in many cases to extend these materials. Finally, I can strongly recommend having in self professional library and reading this book.
Prof. Slobodanka Djordjevic-Kajan