The relational model is much misunderstood
A review of the original model
Type checking and coercion in SQL
Chapter 3 Tuples and Relations, Rows and Tables
Chapter 4 No Duplicates, No Nulls
Chapter 5 Base Relvars, Base Tables
Chapter 6 SQL and Relational Algebra I: The Original Operators
Union, intersection, and difference
Which operators are primitive?
Formulating expressions one step at a time
What do relational expressions mean?
Evaluating SQL table expressions
The reliance on attribute names
Chapter 7 SQL and Relational Algebra II: Additional Operators
Group, ungroup, and relation valued attributes
Why database constraint checking must be immediate
But doesn’t some checking have to be deferred?
Simple and compound propositions
Simple and compound predicates
Chapter 11 Using Logic to Formulate SQL Expressions
Example 1: Logical implication
Example 2: Universal quantification
Example 3: Implication and universal quantification
Example 4: Correlated subqueries
Example 5: Naming subexpressions
Example 6: More on naming subexpressions
Example 7: Dealing with ambiguity
Example 10: UNIQUE quantification
Example 11: ALL or ANY comparisons
Example 12: GROUP BY and HAVING
Chapter 12 Miscellaneous SQL Topics
“Possibly nondeterministic” expressions
Appendix A The Relational Model
The relational model vs. others
Objectives of the relational model
Appendix B SQL Departures from the Relational Model
Appendix C A Relational Approach to Missing Information
What do the shaded entries mean?
Appendix D A Tutorial D Grammar
Appendix E Summary of Recommendations
Appendix F NoSQL and Relational Theory