When the performance of a relational database isn’t acceptable, we face two choices: either replace the relational database with another technology (e.g., NoSQL) or break some of the design rules to improve performance. This lesson covers partitioning, which splits a relational table into multiple tables and distributes them across multiple machines, and denormalization, which sacrifices redundancy in exchange for reducing the number of joins when processing queries.

Learning Objectives

  • Describe horizontal and vertical partitioning for relational schemas
  • Describe the concept of denormalization and when to consider it

How to Complete this Lesson

Complete the following learning activities: (2.75–3.25 hours total)

  1. Read “Physical Database Design Techniques” in Fundamentals of Database Management Systems Chapter 8: Physical Database Design (15 minutes)
  2. Attend the class meeting (60 minutes)
  3. Work on the project’s web application (90–120 minutes)

Resources