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.