Books & Videos

Table of Contents

  1. Chapter 1 Setting the Scene

    1. The Relational Model Is Much Misunderstood

    2. Some Remarks on Terminology

    3. Principles, Not Products

    4. A Review of the Original Model

    5. Model vs. Implementation

    6. Properties of Relations

    7. Base vs. Derived Relations

    8. Relations vs. Relvars

    9. Values vs. Variables

    10. Concluding Remarks

    11. Exercises

  2. Chapter 2 Types and Domains

    1. Types and Relations

    2. Equality Comparisons

    3. Data Value Atomicity

    4. What's a Type?

    5. Scalar vs. Nonscalar Types

    6. Scalar Types in SQL

    7. Type Checking and Coercion in SQL

    8. Collations in SQL

    9. Row and Table Types in SQL

    10. Concluding Remarks

    11. Exercises

  3. Chapter 3 Tuples and Relations, Rows and Tables

    1. What's a Tuple?

    2. Rows in SQL

    3. What's a Relation?

    4. Relations and Their Bodies

    5. Relations Are n-Dimensional

    6. Relational Comparisons

    7. TABLE_DUM and TABLE_DEE

    8. Tables in SQL

    9. Column Naming in SQL

    10. Concluding Remarks

    11. Exercises

  4. Chapter 4 No Duplicates, No Nulls

    1. What's Wrong with Duplicates?

    2. Duplicates: Further Issues

    3. Avoiding Duplicates in SQL

    4. What's Wrong with Nulls?

    5. Avoiding Nulls in SQL

    6. A Remark on Outer Join

    7. Concluding Remarks

    8. Exercises

  5. Chapter 5 Base Relvars, Base Tables

    1. Data Definitions

    2. Updating Is Set Level

    3. Relational Assignment

    4. More on Candidate Keys

    5. More on Foreign Keys

    6. Relvars and Predicates

    7. Relations vs. Types

    8. Exercises

  6. Chapter 6 SQL and Relational Algebra I: The Original Operators

    1. Some Preliminaries

    2. More on Closure

    3. Restriction

    4. Projection

    5. Join

    6. Union, Intersection, and Difference

    7. Which Operators Are Primitive?

    8. Formulating Expressions a Step at a Time

    9. What Do Relational Expressions Mean?

    10. Evaluating SQL Table Expressions

    11. Expression Transformation

    12. The Reliance on Attribute Names

    13. Exercises

  7. Chapter 7 SQL and Relational Algebra II: Additional Operators

    1. Semijoin and Semidifference

    2. Extend

    3. Image Relations

    4. Divide

    5. Aggregate Operators

    6. Image Relations bis

    7. Summarization

    8. Summarization bis

    9. Group and Ungroup

    10. "What If" Queries

    11. What About ORDER BY?

    12. Exercises

  8. Chapter 8 SQL and Constraints

    1. Type Constraints

    2. Type Constraints in SQL

    3. Database Constraints

    4. Database Constraints in SQL

    5. Transactions

    6. Why Database Constraint Checking Must Be Immediate

    7. But Doesn't Some Checking Have to Be Deferred?

    8. Constraints and Predicates

    9. Miscellaneous Issues

    10. Exercises

  9. Chapter 9 SQL and Views

    1. Views Are Relvars

    2. Views and Predicates

    3. Retrieval Operations

    4. Views and Constraints

    5. Update Operations

    6. What Are Views For?

    7. Views and Snapshots

    8. Exercises

  10. Chapter 10 SQL and Logic

    1. Simple and Compound Propositions

    2. Simple and Compound Predicates

    3. Quantification

    4. Relational Calculus

    5. More on Quantification

    6. Some Equivalences

    7. Concluding Remarks

    8. Exercises

  11. Chapter 11 Using Logic to Formulate SQL Expressions

    1. Some Transformation Laws

    2. Example 1: Logical Implication

    3. Example 2: Universal Quantification

    4. Example 3: Implication and Universal Quantification

    5. Example 4: Correlated Subqueries

    6. Example 5: Naming Subexpressions

    7. Example 6: More on Naming Subexpressions

    8. Example 7: Dealing with Ambiguity

    9. Example 8: Using COUNT

    10. Example 9: Join Queries

    11. Example 10: UNIQUE Quantification

    12. Example 11: ALL or ANY Comparisons

    13. Example 12: GROUP BY and HAVING

    14. Exercises

  12. Chapter 12 Miscellaneous SQL Topics

    1. SELECT *

    2. Explicit Tables

    3. Name Qualification

    4. Range Variables

    5. Subqueries

    6. "Possibly Nondeterministic" Expressions

    7. Empty Sets

    8. A BNF Grammar for SQL Table Expressions

    9. Exercises

  1. Appendix The Relational Model

    1. The Relational Model vs. Others

    2. The Relational Model Defined

    3. Objectives of the Relational Model

    4. Some Database Principles

    5. What Remains to Be Done?

  2. Appendix Database Design Theory

    1. The Place of Design Theory

    2. Functional Dependencies and Boyce/Codd Normal Form

    3. Join Dependencies and Fifth Normal Form

    4. Two Cheers for Normalization

    5. Orthogonality

    6. Some Remarks on Physical Design

    7. Concluding Remarks

    8. Exercises

  3. Appendix Answers to Exercises

    1. Chapter 1

    2. Chapter 2

    3. Chapter 3

    4. Chapter 4

    5. Chapter 5

    6. Chapter 6

    7. Chapter 7

    8. Chapter 8

    9. Chapter 9

    10. Chapter 10

    11. Chapter 11

    12. Chapter 12

  4. Appendix Suggestions for Further Reading

  5. Colophon