Relational Model

Summary: A data model where data is organized into relations (tables) and tuples (rows), based on a theoretical proposal by Edgar Codd in 1970.

Sources: raw/chapter2

Last updated: 2026-04-15


The relational model has been the dominant data model for business data processing (transaction processing and batch processing) for over 25-30 years (source: chapter2, p. 28).

Key Characteristics

  • Tables and Rows: Data is organized into relations (tables), which are unordered collections of tuples (rows) (source: chapter2, p. 28).
  • Structured Data: Relational databases typically require a predefined schema (schema-on-write).
  • Query Optimizer: The database system’s query optimizer automatically decides the “access path” to the data, meaning the developer doesn’t need to manually traverse the data (source: chapter2, p. 37).
  • Joins: Relational databases are optimized for joining data across multiple tables via foreign keys (source: chapter2, p. 33).

Strengths and Weaknesses

  • Strengths: Excellent support for many-to-one and many-to-many relationships; declarative querying allows for automatic performance optimizations.
  • Weaknesses: Can suffer from impedance-mismatch when mapping to object-oriented code; less flexible than the document-model for heterogeneous or rapidly evolving data.