Contents of This Edition
(Fundamentals of Database Systems, Third Edition)
Part 1 describes the basic concepts necessary for a good understanding of database design and
implementation, as well as the conceptual modeling techniques used in database systems. Chapter 1
and Chapter 2 introduce databases, their typical users, and DBMS concepts, terminology, and
architecture. In Chapter 3, the concepts of the Entity-Relationship (ER) model and ER diagrams are
presented and used to illustrate conceptual database design. Chapter 4 focuses on data abstraction and
semantic data modeling concepts, and extends the ER model to incorporate these ideas, leading to the
enhanced-ER (EER) data model and EER diagrams. The concepts presented include subclasses,
specialization, generalization, and union types (categories). The notation for the class diagrams of
UML are also introduced. These are similar to EER diagrams and are used increasingly in conceptual
object modeling. Part 1 concludes with a description of the physical file structures and access methods
used in database systems. Chapter 5 describes the primary methods of organizing files of records on
disk, including static and dynamic hashing. Chapter 6 describes indexing techniques for files, including
B-tree and B+-tree data structures and grid files.
Part 2 describes the relational data model and relational DBMSs. Chapter 7 describes the basic
relational model, its integrity constraints and update operations, and the operations of the relational
algebra. Chapter 8 gives a detailed overview of the SQL language, covering the SQL2 standard, which
is implemented in most relational systems. Chapter 9 begins with two sections that describe relational
schema design, starting from a conceptual database design in an ER or EER model, and concludes with
three sections introducing the formal relational calculus languages and an overview of the QBE
language. Chapter 10 presents overviews of the Oracle and Microsoft Access database systems as
examples of popular commercial relational database management systems.
Part 3 gives a comprehensive introduction to object databases and object-relational systems. Chapter 11
introduces object-oriented concepts and how they apply to object databases. Chapter 12 gives a detailed
overview of the ODMG object model and its associated ODL and OQL languages, and gives examples
of two commercial object DBMSs. Chapter 13 describes how relational databases are being extended to
include object-oriented concepts and presents the features of two object-relational systems—Informix
Universal Server and ORACLE 8, as well as giving an overview of some of the features of the
proposed SQL3 standard, and the nested relational data model.
Part 4 covers several topics related to database design. Chapter 14 and Chapter 15 cover the
formalisms, theory, and algorithms developed for relational database design by normalization. This
material includes functional and other types of dependencies and normal forms for relations. Step by
step intuitive normalization is presented in Chapter 14, and relational design algorithms are given in
Chapter 15, which also defines other types of dependencies, such as multivalued and join
dependencies. Chapter 16 presents an overview of the different phases of the database design process
for medium-sized and large applications, and it also discusses physical database design issues and
includes a discussion on database tuning.
Part 5 discusses the techniques used in implementing database management systems. Chapter 17
introduces DBMS system architectures, including centralized and client-server architectures, then
describes the system catalog, which is a vital part of any DBMS. Chapter 18 presents the techniques
used for processing and optimizing queries specified in a high-level database language—such as
SQL—and discusses various algorithms for implementing relational database operations. A section on
query optimization in ORACLE has been added. Chapter 19, Chapter 20 and Chapter 21 discuss
transaction processing, concurrency control, and recovery techniques—this material has been revised to
include discussions of how these concepts are realized in SQL. Chapter 22 discusses database security
and authorization techniques.
1
Page 17 of 893