Table of Contents

1.1 Database basics

1.2 Database systems

1.3 Query languages

1.4 Database design and programming

1.5 MySQL

   2.1 Relational model

   2.2 Structured Query Language

   2.3 Managing databases

   2.4 Tables

   2.5 Data types

   2.6 Selecting rows

   2.7 Null values

   2.8 Inserting, updating, and deleting rows

   2.9 Primary keys

   2.10 Foreign keys

   2.11 Referential integrity

   2.12 Constraints

   3.1 Special operators and clauses

   3.2 Simple functions

   3.3 Aggregate functions

   3.4 Join queries

   3.5 Equijoins, self-joins, and cross-joins

   3.6 Subqueries

   3.7 Complex query example

   3.8 View tables

   3.9 Relational algebra

   4.1 Entities, relationships, and attributes

   4.2 Discovery

   4.3 Cardinality

   4.4 Strong and weak entities

   4.5 Supertype and subtype entities

   4.6 Alternative modeling conventions

   4.7 Implementing entities

   4.8 Implementing relationships

   4.9 Implementing attributes

   4.10 First, second, and third normal form

   4.11 Boyce-Codd normal form

   4.12 Applying normal form

   5.1 Storage media

   5.2 Table structures

   5.3 Single-level indexes

   5.4 Multi-level indexes

   5.5 Other indexes

   5.6 Tablespaces and partitions

   5.7 Physical design

   6.1 Transactions

   6.2 Schedules

   6.3 Concurrency

   6.4 Recovery

   6.5 Transactions with SQL

  7.1 MySQL architecture

   7.2 Cloud databases

   7.3 Distributed databases

   7.4 Replicated databases

   7.5 Data warehouses

   7.6 Data warehouse design

   7.7 Other database architectures

   8.1 Simple and complex types

   8.2 Collection types

   8.3 Document types

   8.4 Spatial types

   8.5 Object types

   9.1 Programming languages

   9.2 Embedded SQL

   9.3 Procedural SQL

   9.4 Application programming interfaces

   9.5 Database programming with Python

   9.6 Database programming with Java

   9.7 Database programming for the web

   10.1 Big data

   10.2 Key-value databases

   10.3 Wide column databases

   10.4 Document databases

   10.5 Graph databases

   10.6 MongoDB

11.1 Case study: Discovery

11.2 Case study: Cardinality

11.3 Case study: Supertype and weak entities

11.4 Case study: Implementing entities

11.5 Case study: Implementing relationships

11.6 Case study: Implementing attributes

   12.1 MySQL Workbench: Import and export

   12.2 MySQL Workbench: Stored procedures and functions

Teach Databases with this interactive zyBook, now updated with Advanced zyLabs:

Database Systems with SQL provides a highly interactive introduction to databases. Topics include database theory, architecture, design, and programming.

  • Emphasis on relational databases, but the material also covers NoSQL databases
  • Features a comprehensive tutorial on the SQL language
  • Entity-relationship diagrams have been updated to industry-standard crow’s foot notation
  • A detailed case study illustrates database design, including data modeling and implementation of the model in SQL
  • Includes new zyLab IDE that simplifies how students write and submit their lab solutions
  • Adopters have access to a test bank with questions for every chapter

What is a zyBook?

Database Systems with SQL is a web-native, interactive zyBook that helps students visualize concepts to learn faster and more effectively than with a traditional textbook. (Check out our research.)

Since 2012, over 1,700 academic institutions have adopted web-native zyBooks to transform their STEM education.

  • Instructor Benefits
  • Customize your course by reorganizing existing content or adding your own
  • Continuous publication model updates your course with the latest content and technologies
  • Robust reporting gives you insight into students’ progress, reading and participation
  • Save time with auto-graded labs and challenge activities that seamlessly integrate with your LMS gradebook
  • Student Benefits
  • Learning questions and other content serve as an interactive form of reading
  • Instant feedback on labs and homework
  • Concepts come to life through extensive animations embedded into the interactive content
  • Save chapters as PDFs to reference the material at any time

Author Paul Winsberg shows new advanced zyLabs interface:


Paul Winsberg
Professor of Computer Science, Berkeley City College

Senior Contributor

Frank McCown
Professor of Computer Science, Harding University

Instructors: Interested in evaluating this zyBook for your class?