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: Diagram conventions

   11.2 Case study: Discovery

   11.3 Case study: Cardinality

   11.4 Case study: Supertype and weak entities

   11.5 Case study: Implementing entities

   11.6 Case study: Implementing relationships

   11.7 Case study: Implementing attributes

   12.1 MySQL Workbench: Import and export

   12.2 MySQL Workbench: Stored procedures and functions

What You’ll Find In This zyBook:

More action with less text.

This zyBook provides a highly interactive introduction to databases. Topics include database theory, architecture, design, and programming.

  • The emphasis is on relational databases, but the material also covers NoSQL databases.
  • Features a comprehensive tutorial on the SQL language.
  • Includes hundreds of animations, learning questions, programming exercises, and automatically graded homework.
  • Multiple-choice test questions, suitable for formal exams, are available to instructors.

Instructors: Interested in evaluating this zyBook for your class?

“It is already clear that this represents the future of programming text books. Its basic expository content is the equal of any paper text, but it really shines in using the natural advantages of online vs. static teaching material ­ animation and interactivity ­ to excellent effect, giving the student an additional dimension of insight.”


Paul Winsberg
Professor of Computer Science, Berkeley City College

Senior Contributor

Frank McCown
Associate Professor of Computer Science, Harding University