Using Databases from Applications

Overview


In the previous part, we used SQL directly against the database and added one small read-only feature to the study tracker project. In this part, we continue in that same project and build more of the application around the database. By the end of the part, the project should support a full create, read, update, and delete flow for two small features.

This part stays in the study tracker project as its practical context. Inside that project, the work appears in two connected tracks.

The regular chapters use a smaller tags feature as a guided practice track for CRUD — create, read, update, and delete. The project checkpoint then asks you to apply the same ideas more independently to the existing decks feature.

Throughout the chapters of this part, keep building on top of the same study tracker project. At this point, your project should already have the decks table and a small read flow for decks, as well as the functionality for showing the newest deck.

The structure of this part is as follows:

If you lose track of the scaffold while reading this part, the Project Roadmap page is a useful companion. It also includes a short project file map and request-flow reminder.

In this part, chapter-level tasks that ask you to edit files and return a zip are worked on locally as Programming Exercises rather than SQL Practice Exercises. The earlier SQL Practice sequences ran as in-browser SQL; Programming Exercises ask you to change the actual project files that you work on locally and return them for grading.

A useful rhythm for this part is:

  1. read the regular chapters in order,
  2. complete the chapter-level tags exercises as you go, building on the same project scaffold rather than starting from scratch each time,
  3. then complete the project checkpoint on decks,
  4. and finish with the recap quiz and feedback form.

Finally, at the end of the part, there is a recap and feedback chapter that briefly summarizes the part and asks for feedback.