Table of Contents

1.1 Database basics
1.2 Database systems
1.3 Database design
1.4 MySQL
1.5 SQL sandbox

2.1 Tables
2.2 Data types
2.3 Selecting rows
2.4 Null values
2.5 Inserting, updating, and deleting
2.6 Primary keys
2.7 Foreign keys
2.8 Referential integrity
2.9 Constraints
2.10 Join Queries
2.11 View tables
2.12 Procedural SQL

3.1 Conceptual design process
3.2 Entity-relationship model
3.3 Discovery
3.4 Cardinality
3.5 Business rules
3.6 Subject areas
3.7 Conceptual design tools

4.1 Strong and weak entities
4.2 Supertype and subtype entities
4.3 Partitions and hierarchies
4.4 Temporal entities
4.5 Complex relationships
4.6 Derived attributes
4.7 Alternative modeling conventions

5.1 Case study: Discovery
5.2 Case study: Cardinality
5.3 Case study: Supertype and weak entities
5.4 Case study: Business rules and derived attributes
5.5 Case study: Temporal entities

6.1 Logical design process
6.2 Implementing entities
6.3 Implementing relationships
6.4 Implementing attributes
6.5 Implementing business rules
6.6 Implementing derived attributes

7.1 Functional dependence
7.2 First, second, third normal form
7.3 Boyce-Codd normal form
7.4 Denormalization

8.1 Data warehouses and data marts
8.2 Dimensional design
8.3 Hierarchies and dimensions

9.1 Case study: Implementing entities
9.2 Case study: Implementing relationships
9.3 Case study: Implementing attributes
9.4 Case study: Implementing business rules and derived attributes
9.5 Case study: Boyce-Codd normal form
9.6 Case study: Dimensional design

10.1 Storage media
10.2 Table structures
10.3 Single-level indexes
10.4 Multi-level indexes
10.5 Other indexes
10.6 SQL for indexes
10.7 Tablespaces and partitions

11.1 Physical design process
11.2 Physical design and leading database systems
11.3 Sorting, orienting, and storing tables
11.4 Partitioning tables
11.5 Selecting indexes

12.1 Case study: Structuring tables
12.2 Case study: Selecting indexes

Easily customize database content

Build content that meets your course goals

Teach Databases with this interactive zyBook with customizable zyLabs

Database Design provides highly interactive content and tools for teaching database design and data modeling.

  • Covers conceptual, logical, and physical design
  • Three‑phase lab project with ER and table diagrams
  • Detailed case studies illustrating user requirements capture, data modeling, and implementation.
  • Embedded IDE for writing and submitting SQL labs
  • AI tools to assist with lab creation, assessments, and student hints

What is a zyBook?


Database Design is an interactive learning solution that helps students visualize concepts, enabling them to learn more effectively than with a traditional textbook. Check out our research.

  • 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 the zyLabs interface

Author

Paul Winsberg
Professor of Computer Science, Berkeley City College

Contributors

Michael H. Goldwasser, PhD 

Professor of Computer Science,  Saint Louis University

Grace Lew 

Professor of Computer Science, Biola University

Frank McCown, PhD 

Professor of Computer Science, Harding University

Instructors: Interested in evaluating this zyBook for your class?