Skip to content

Relational Theory | Databases - Wyatt's Notes

import Citations from ‘@components/Citations.astro’

E.F. Codd introduced the relational model in his 1970 paper “A Relational Model of Data for Large Shared Data Banks.” The model provides a mathematically rigorous foundation for data management Based on set theory and first-order predicate logic. Every SQL database is an approximation of this Model — and understanding where SQL deviates from the theory helps you write correct queries.

Codd defined 13 rules (numbered 0 through 12) that a system must satisfy to be considered truly Relational. No commercial database fully satisfies all 13, but they serve as the theoretical Benchmark:

RuleNameSummary
0FoundationA relational DBMS must manage databases through its relational capabilities alone
1InformationAll information is represented as values in tables
2Guaranteed AccessEvery value is accessible by table name, primary key, and column name
3Systematic Treatment of NULLNULL values are distinct from default values and represent missing information
4Dynamic Online CatalogThe database description (catalog) is represented as relational tables
5Comprehensive SublanguageSupports at least one relational language (SQL, QBE, etc.)
6View UpdatingAll views theoretically updatable must be updatable by the system
7High-level Insert/Update/DeleteSet-level operations, not row-by-row processing
8Physical Data IndependenceApplication logic unaffected by physical storage changes
9Logical Data IndependenceApplication logic unaffected by logical schema changes (view changes)
10Integrity IndependenceIntegrity constraints are part of the schema, not the application
11Distribution IndependenceApplications unaffected by data distribution
12NonsubversionLow-level language cannot bypass integrity constraints