Beginners Notes on Databases — Design Theory for Relational Databases (2)

Terse/Brief Notes from Book: A First Course in Database System

Jesse Ruiz (she/they)
6 min readMay 12, 2024
Photo by Growtika on Unsplash

Source: A First Course in Database Systems, Ullman/Widom

Chapter 3 — Design Theory for Relational Databases

This chapter discusses:

  • How to make good relational database schemas
  • What to do if the schema has flaws i.e. how to fix

Section 1 — Functional Dependencies

  • “Functional dependencies,” are a generalization of the idea of a key for a relation.

“A functional dependency (FD) on a relation R is a statement of the form “If two tuples of R agree on all of the attributes A1,A2, . . . , An (i.e., the tuples have the same values in their respective components for each of these attributes), then they must also agree on all of another list of attributes B1,B2, . . . , Bm. We write this FD formally as A1A2…An → B1B2…Bm and say that “A1,A2, . . . , An functionally determine B1,B2, . . . , Bm”” (pp. 64)

E.G. title year → length genre studioName is a statement that means title and year functionally determine length, genre and studioName.