Transactions, Normalization, and Performance

Overview


In this part, the course shifts from adding new features to strengthening the work already done. Earlier parts asked how to model data, how to create schemas, how to write queries, and how to summarize information. This part asks three different kinds of questions:

  • when several writes belong together, how do we make sure they all happen or none of them do?
  • when the schema has been growing across several parts, how do we recognize and repair quality problems before they spread?
  • when the queries start to feel slow or awkward, how do we identify the real cause and apply the right fix?

These three themes — correctness during multi-step work, schema quality, and performance — are the substance of this part.

The structure of this part is as follows:

The two checkpoints exercise the same toolkit on two different features, but each one verifies a different transaction concern in depth: atomicity in the first, concurrency-safe locking in the second. Together they cover the two genuinely distinct kinds of transactional correctness this part introduces.

A useful rhythm for this part is:

  1. read the regular chapters in order,
  2. complete the chapter-level exercises as you go,
  3. complete the two project checkpoints,
  4. and finish with the recap quiz and feedback form.

At the end of the part, there is a recap and feedback chapter that briefly summarizes the part and asks for feedback, followed by a short looking forward chapter that points toward where to take this next.