Index / 001 EN
Fundamentals of Database Systems cover

Computer Science

Computer Science

Fundamentals of Database Systems

Ramez Elmasri; Shamkant B. Navathe

A comprehensive database textbook that moves from conceptual modelling and the relational model through SQL and design theory to storage, query processing, transactions and newer systems. The seventh edition adds chapters on NoSQL databases and big data technologies, while keeping the authors' detailed treatment of entity-relationship and enhanced entity-relationship modelling.

Prerequisites: Introductory programming and data structures, discrete mathematics, and some exposure to the basics of computer organization.

Difficulty Level
Intermediate
Academic Level
Undergraduate
databasesrelational modelsqldatabase designtransaction processingTextbook

01 / Reading Guide

Reading Guide

Citation

Elmasri, R., & Navathe, S. B. (2016). Fundamentals of Database Systems (7th ed.). Pearson.

Chapter Summary

The seventh edition has thirty chapters in twelve parts, followed by five appendices, and runs to about 1,240 pages. Pearson describes it as a textbook for a one- or two-semester database course at the junior, senior or graduate level, and also as a reference. The emphasis, in the publisher's words, is on the fundamentals of database modelling and design, the languages and models provided by database management systems, and database implementation techniques. Pearson says the edition adds two new chapters and more real-world problems.

Part 1, Chapters 1–2: Databases and Database Users; Database Systems Concepts and Architecture

The introductory part presents what databases are and who uses them, then the concepts and architecture of database systems.

Part 2, Chapters 3–4: Data Modeling Using the Entity Relationship (ER) Model; The Enhanced Entity Relationship (EER) Model

Conceptual modelling comes first, before the relational model, and receives two chapters: the ER model and its enhanced extension.

Part 3, Chapters 5–9: The Relational Data Model and Relational Database Constraints; Basic SQL; More SQL: Complex Queries, Triggers, Views, and Schema Modification; The Relational Algebra and Relational Calculus; Relational Database Design by ER- and EER-to-Relational Mapping

The relational model and its constraints are followed by SQL in two chapters (basic SQL, then complex queries, triggers, views and schema modification) and by relational algebra and calculus. Chapter 9 closes the loop with Part 2 by mapping ER and EER schemas to relational designs.

Part 4, Chapters 10–11: Introduction to SQL Programming Techniques; Web Database Programming Using PHP

Two chapters on writing database applications, the second of them tied to one web technology, PHP.

Part 5, Chapters 12–13: Object and Object-Relational Databases; XML: Extensible Markup Language

Object and object-relational databases, and XML. (Pearson's contents list prints the second title as "XLM", an apparent typo.)

Part 6, Chapters 14–15: Basics of Functional Dependencies and Normalization for Relational Databases; Relational Database Design Algorithms and Further Dependencies

The design theory of the book comes after the programming and the object and XML models: functional dependencies and normalization, then design algorithms and further kinds of dependency.

Part 7, Chapters 16–17: Disk Storage, Basic File Structures, Hashing, and Modern Storage Architectures; Indexing Structures for Files and Physical Database Design

The physical level: storage devices, files and hashing, then indexing structures and physical design.

Part 8, Chapters 18–19: Strategies for Query Processing; Query Optimization

How queries are executed and how an execution strategy is chosen.

Part 9, Chapters 20–22: Introduction to Transaction Processing Concepts and Theory; Concurrency Control Techniques; Database Recovery Techniques

Transactions, concurrency control and recovery in three consecutive chapters.

Part 10, Chapters 23–25: Distributed Database Concepts; NOSQL Databases and Big Data Storage Systems; Big Data Technologies Based on MapReduce and Hadoop

Distribution, then NOSQL systems and big-data storage, then MapReduce and Hadoop. Pearson says the edition has two new chapters but does not say which they are.

Part 11, Chapters 26–29: Enhanced Data Models (active, temporal, spatial, multimedia and deductive databases); Information Retrieval and Web Search; Data Mining Concepts; Data Warehousing and OLAP

Four chapters on further models and applications. Their titles use the words "Introduction", "Concepts" and "Overview", which suggests introductory-level treatment.

Part 12, Chapter 30: Database Security

A single chapter on security closes the main text.

Appendices A–E

Alternative diagrammatic notations for ER models, parameters of disks, an overview of the QBE language, and overviews of the hierarchical and network data models.

Key Concepts

Parts 1–3: Modelling and the Relational Model

  • ER and EER modelling: conceptual design before relational design.
  • Relational constraints, SQL and relational algebra: the relational model and its languages.
  • ER-to-relational mapping: turning a conceptual schema into tables.

Parts 4–6: Applications, Other Models and Design Theory

  • Functional dependencies and normalization: the theory of good relational design.
  • Object-relational and XML data: models beyond plain tables.
  • SQL programming techniques: embedding SQL in applications, with PHP for the web.

Parts 7–12: Implementation and Newer Systems

  • File structures, hashing and indexing; query processing and optimization.
  • Transactions, concurrency control and recovery.
  • Distributed databases, NOSQL, MapReduce and Hadoop; data mining, warehousing and OLAP; database security.

Critical Analysis

Strengths

  • Depth in conceptual modelling. ER and EER occupy two chapters, the mapping to relational schemas has a chapter of its own, and an appendix surveys alternative ER notations. By comparison, the other comprehensive text in the course list treats E-R design in a single chapter.
  • One path from design to internals. The book runs from modelling through the relational model, design theory, storage and indexing, query processing and transactions, to distribution, so it can serve as the single reference for a two-semester sequence.
  • Newer systems included. Pearson highlights two new chapters, and Part 10 covers distributed databases, NOSQL systems and MapReduce-based big-data technologies.
  • Textbook and reference in one. The publisher presents it for both uses, and the five appendices keep older or specialised material (QBE, hierarchical and network models, disk parameters) out of the main text.

Limitations

  • Size. Thirty chapters over more than 1,200 pages is more than one or two semesters; an instructor has to choose.
  • Technology-specific chapters. Chapter 11 is tied to PHP, and Chapters 12–13 cover object-relational and XML models. A course using another stack will substitute its own material.
  • Survey-level later chapters. The titles of Chapters 26–29 ("Introduction to ...", "Concepts", "Overview of ...") signal introductions to those topics rather than full treatments.
  • Accessibility note. Pearson's accessibility statement for the e-text says images may not be fully described, which matters for readers using screen readers.

Where It Fits in the Course

Fundamentals of Database Systems is one of two comprehensive database textbooks in the list. Silberschatz, Korth and Sudarshan's Database System Concepts covers similar ground with three SQL chapters to this book's two and a larger block on parallel and distributed systems; Elmasri and Navathe give more weight to conceptual modelling. Either can serve as a main text, and the choice can depend on whether the course starts from design (this book) or from SQL.

Hernandez's Database Design for Mere Mortals is a plain-language design method that suits a reader who finds Part 2 and Part 6 difficult. Ramakrishnan and Gehrke's Database Management Systems is a foundational guide with a similar scope, and Coronel and Morris's Database Systems is aimed at business-oriented design, implementation and management. Gray and Reuter's Transaction Processing goes much further than Chapters 20–22 for readers who want the implementation of transactions in depth.

How to Use This Book

Pearson states that readers should be familiar with elementary programming and data-structuring concepts and have had some exposure to the basics of computer organisation. The book suits junior and senior undergraduates and graduate students.

A practical plan:

  • Core for a first course: Parts 1 to 3 (Chapters 1–9), then Part 6 (Chapters 14–15) for design theory. Do the SQL chapters (6 and 7) with a real database open.
  • Implementation: Parts 7 to 9 (Chapters 16–22) for a second semester or an implementation-oriented course.
  • Selections: Chapters 10 and 11 for application programming, Part 10 for distributed and NOSQL systems, and Chapters 26–30 as short surveys.

Use the end-of-chapter problems to practise modelling, and draw ER diagrams yourself before reading the mapping chapter.