SQL and Relational Theory, 2nd Edition
How to Write Accurate SQL Code
Publisher: O'Reilly Media
Release Date: December 2011
Pages: 448
Read on Safari with a 10-day trial
Start your free trial now Buy on AmazonWhere’s the cart? Now you can get everything on Safari. To purchase books, visit Amazon or your favorite retailer. Questions? See our FAQ or contact customer service:
1-800-889-8969 / 707-827-7019
support@oreilly.com
SQL is full of difficulties and traps for the unwary. You can avoid them if you understand relational theory, but only if you know how to put the theory into practice. In this insightful book, author C.J. Date explains relational theory in depth, and demonstrates through numerous examples and exercises how you can apply it directly to your use of SQL.
This second edition includes new material on recursive queries, “missing information” without nulls, new update operators, and topics such as aggregate operators, grouping and ungrouping, and view updating. If you have a modest-to-advanced background in SQL, you’ll learn how to deal with a host of common SQL dilemmas.
- Why is proper column naming so important?
- Nulls in your database are causing you to get wrong answers. Why? What can you do about it?
- Is it possible to write an SQL query to find employees who have never been in the same department for more than six months at a time?
- SQL supports “quantified comparisons,” but they’re better avoided. Why? How do you avoid them?
- Constraints are crucially important, but most SQL products don’t support them properly. What can you do to resolve this situation?
Database theory and practice have evolved since the relational model was developed more than 40 years ago. SQL and Relational Theory draws on decades of research to present the most up-to-date treatment of SQL available.
C.J. Date has a stature that is unique within the database industry. A prolific writer well known for the bestselling textbook An Introduction to Database Systems (Addison-Wesley), he has an exceptionally clear style when writing about complex principles and theory.
Table of Contents
-
Chapter 1 Setting the Scene
-
THE RELATIONAL MODEL IS MUCH MISUNDERSTOOD
-
SOME REMARKS ON TERMINOLOGY
-
PRINCIPLES NOT PRODUCTS
-
A REVIEW OF THE ORIGINAL MODEL
-
MODEL vs. IMPLEMENTATION
-
PROPERTIES OF RELATIONS
-
BASE vs. DERIVED RELATIONS
-
RELATIONS vs. RELVARS
-
VALUES vs. VARIABLES
-
CONCLUDING REMARKS
-
EXERCISES
-
-
Chapter 2 Types and Domains
-
TYPES AND RELATIONS
-
EQUALITY COMPARISONS
-
DATA VALUE ATOMICITY
-
WHAT’S A TYPE?
-
SCALAR vs. NONSCALAR TYPES
-
SCALAR TYPES IN SQL
-
TYPE CHECKING AND COERCION IN SQL
-
COLLATIONS IN SQL
-
ROW AND TABLE TYPES IN SQL
-
CONCLUDING REMARKS
-
EXERCISES
-
-
Chapter 3 Tuples and Relations, Rows and Tables
-
WHAT’S A TUPLE?
-
ROWS IN SQL
-
WHAT’S A RELATION?
-
RELATIONS AND THEIR BODIES
-
RELATIONS ARE n-DIMENSIONAL
-
RELATIONAL COMPARISONS
-
TABLE_DUM AND TABLE_DEE
-
TABLES IN SQL
-
COLUMN NAMING IN SQL
-
CONCLUDING REMARKS
-
EXERCISES
-
-
Chapter 4 No Duplicates, No Nulls
-
WHAT’S WRONG WITH DUPLICATES?
-
DUPLICATES: FURTHER ISSUES
-
AVOIDING DUPLICATES IN SQL
-
WHAT’S WRONG WITH NULLS?
-
AVOIDING NULLS IN SQL
-
A REMARK ON OUTER JOIN
-
CONCLUDING REMARKS
-
EXERCISES
-
-
Chapter 5 Base Relvars, Base Tables
-
UPDATING IS SET LEVEL
-
RELATIONAL ASSIGNMENT
-
MORE ON CANDIDATE KEYS
-
MORE ON FOREIGN KEYS
-
RELVARS AND PREDICATES
-
RELATIONS vs. TYPES
-
EXERCISES
-
-
Chapter 6 SQL and Relational Algebra I: The Original Operators
-
SOME PRELIMINARIES
-
MORE ON CLOSURE
-
RESTRICTION
-
PROJECTION
-
JOIN
-
UNION, INTERSECTION, AND DIFFERENCE
-
WHICH OPERATORS ARE PRIMITIVE?
-
FORMULATING EXPRESSIONS ONE STEP AT A TIME
-
WHAT DO RELATIONAL EXPRESSIONS MEAN?
-
EVALUATING SQL TABLE EXPRESSIONS
-
EXPRESSION TRANSFORMATION
-
THE RELIANCE ON ATTRIBUTE NAMES
-
EXERCISES
-
-
Chapter 7 SQL and Relational Algebra II : Additional Operators
-
EXCLUSIVE UNION
-
SEMIJOIN AND SEMIDIFFERENCE
-
EXTEND
-
IMAGE RELATIONS
-
DIVIDE
-
AGGREGATE OPERATORS
-
IMAGE RELATIONS bis
-
SUMMARIZATION
-
SUMMARIZATION bis
-
GROUP, UNGROUP, AND RELATION VALUED ATTRIBUTES
-
“WHAT IF” QUERIES
-
A NOTE ON RECURSION
-
WHAT ABOUT ORDER BY?
-
EXERCISES
-
-
Chapter 8 SQL and Constraints
-
TYPE CONSTRAINTS
-
TYPE CONSTRAINTS IN SQL
-
DATABASE CONSTRAINTS
-
DATABASE CONSTRAINTS IN SQL
-
TRANSACTIONS
-
WHY DATABASE CONSTRAINT CHECKING MUST BE IMMEDIATE
-
BUT DOESN’T SOME CHECKING HAVE TO BE DEFERRED?
-
CONSTRAINTS AND PREDICATES
-
MISCELLANEOUS ISSUES
-
EXERCISES
-
-
Chapter 9 SQL and Views
-
VIEWS ARE RELVARS
-
VIEWS AND PREDICATES
-
RETRIEVAL OPERATIONS
-
VIEWS AND CONSTRAINTS
-
UPDATE OPERATIONS
-
WHAT ARE VIEWS FOR?
-
VIEWS AND SNAPSHOTS
-
EXERCISES
-
-
Chapter 10 SQL and Logic
-
WHY DO WE NEED LOGIC?
-
SIMPLE AND COMPOUND PROPOSITIONS
-
SIMPLE AND COMPOUND PREDICATES
-
QUANTIFICATION
-
RELATIONAL CALCULUS
-
MORE ON QUANTIFICATION
-
SOME EQUIVALENCES
-
CONCLUDING REMARKS
-
EXERCISES
-
-
Chapter 11 Using Logic to Formulate SQL Expressions
-
SOME TRANSFORMATION LAWS
-
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 8: USING COUNT
-
EXAMPLE 9: JOIN QUERIES
-
EXAMPLE 10: UNIQUE QUANTIFICATION
-
EXAMPLE 11: ALL OR ANY COMPARISONS
-
EXAMPLE 12: GROUP BY AND HAVING
-
EXERCISES
-
-
Chapter 12 Miscellaneous SQL Topics
-
SELECT *
-
EXPLICIT TABLES
-
NAME QUALIFICATION
-
RANGE VARIABLES
-
SUBQUERIES
-
“POSSIBLY NONDETERMINISTIC” EXPRESSIONS
-
EMPTY SETS
-
A SIMPLIFIED BNF GRAMMAR
-
EXERCISES
-
-
Appendix The Relational Model
-
THE RELATIONAL MODEL vs. OTHERS
-
THE SIGNIFICANCE OF THEORY
-
THE RELATIONAL MODEL DEFINED
-
DATABASE VARIABLES
-
OBJECTIVES OF THE RELATIONAL MODEL
-
SOME DATABASE PRINCIPLES
-
WHAT REMAINS TO BE DONE?
-
-
Appendix SQL Departures from the Relational Model
-
Appendix A Relational Approach to Missing Information
-
VERTICAL DECOMPOSITION
-
HORIZONTAL DECOMPOSITION
-
WHAT DO THE SHADED ENTRIES MEAN?
-
CONSTRAINTS
-
QUERIES
-
MORE ON PREDICATES
-
EXERCISES
-
-
Appendix A Tutorial D Grammar
-
-
Appendix Summary of Recommendations
-
Appendix Answers to Exercises
-
CHAPTER 1
-
CHAPTER 2
-
CHAPTER 3
-
CHAPTER 4
-
CHAPTER 5
-
CHAPTER 6
-
CHAPTER 7
-
CHAPTER 8
-
CHAPTER 9
-
CHAPTER 10
-
CHAPTER 11
-
CHAPTER 12
-
APPENDIX C
-
-
Appendix Suggestions for Further Reading