Relational Foundations

The Relational Model

The relational model represents facts as relations and derives new relations with operations grounded in set theory and predicate logic. Its logical abstraction deliberately separates what data means from how a database stores or accesses it.
  • A relation records the true instances of a predicate.
  • The model is logical, not a storage layout.
  • Relations are sets of tuples, so tuple order and duplicate occurrences have no relational meaning.
  • Relational operators are closed: every operator consumes relations and produces a relation that can feed another operator.
  • A database is more than its current values.
  • SQL is the dominant relationally inspired language, but SQL tables and results do not always satisfy the mathematical definition of a relation.

From facts to a queryable model

Suppose ENROLLMENT(student_id, course_id, term) stands for the predicate “student student_id is enrolled in course course_id during term.” The tuple (42, DB101, 2026-S1) asserts one true proposition. A query does not navigate pointers from that tuple; it describes a relation to derive, such as all course IDs paired with student 42.

Three layers that should not be conflated
LayerQuestion answeredExample
MeaningWhat fact does a tuple assert?student S enrolled in course C during term T
Logical structureWhich attributes, domains, and constraints apply?ENROLLMENT(student_id, course_id, term)
Physical implementationHow are values encoded and found?Heap pages plus a B-tree on (student_id, term)