Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
SQL and Relational Theory
Preface to the First Edition
Prerequisites
Database in Depth
Further Remarks on the Text
Using Code Examples
Comments and Questions
Safari® Books Online
Acknowledgments
Preface to the Second Edition
1. Setting the Scene
THE RELATIONAL MODEL IS MUCH MISUNDERSTOOD
SOME REMARKS ON TERMINOLOGY
PRINCIPLES NOT PRODUCTS
A REVIEW OF THE ORIGINAL MODEL
Structural Features
Integrity Features
Manipulative Features
The Running Example
MODEL vs. IMPLEMENTATION
PROPERTIES OF RELATIONS
All logical differences are big differences.
Some Crucial Points
BASE vs. DERIVED RELATIONS
RELATIONS vs. RELVARS
VALUES vs. VARIABLES
CONCLUDING REMARKS
EXERCISES
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
3. Tuples and Relations, Rows and Tables
WHAT’S A TUPLE?
Consequences of the Definitions
ROWS IN SQL
WHAT’S A RELATION?
Consequences of the Definitions
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
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
5. Base Relvars, Base Tables
UPDATING IS SET LEVEL
Triggered Actions
Constraint Checking
A Final Remark
RELATIONAL ASSIGNMENT
D_INSERT and I_DELETE
Table Assignment in SQL
The Assignment Principle
MORE ON CANDIDATE KEYS
MORE ON FOREIGN KEYS
Referential Actions
RELVARS AND PREDICATES
RELATIONS vs. TYPES
EXERCISES
6. SQL and Relational Algebra I: The Original Operators
SOME PRELIMINARIES
MORE ON CLOSURE
RESTRICTION
PROJECTION
JOIN
Explicit JOINs in SQL
UNION, INTERSECTION, AND DIFFERENCE
Union
Intersection
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
7. SQL and Relational Algebra II : Additional Operators
EXCLUSIVE UNION
SEMIJOIN AND SEMIDIFFERENCE
EXTEND
IMAGE RELATIONS
DIVIDE
AGGREGATE OPERATORS
Empty Arguments
IMAGE RELATIONS bis
SUMMARIZATION
SUMMARIZATION bis
GROUP, UNGROUP, AND RELATION VALUED ATTRIBUTES
RVAs Make Outer Join Unnecessary
RVAs in Base Relvars
RVAs Are Necessary for Relational Comparisons
Aggregate Operators
“WHAT IF” QUERIES
A NOTE ON RECURSION
Cycles
WHAT ABOUT ORDER BY?
EXERCISES
8. SQL and Constraints
TYPE CONSTRAINTS
Selectors and THE_ Operators
More on 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?
Multiple Assignment
CONSTRAINTS AND PREDICATES
MISCELLANEOUS ISSUES
EXERCISES
9. SQL and Views
VIEWS ARE RELVARS
The Principle of Interchangeability
Relation Constants
VIEWS AND PREDICATES
RETRIEVAL OPERATIONS
VIEWS AND CONSTRAINTS
UPDATE OPERATIONS
The CHECK Option
More on SQL
London vs. Non London Suppliers Revisited
WHAT ARE VIEWS FOR?
Logical Data Independence
VIEWS AND SNAPSHOTS
EXERCISES
10. SQL and Logic
WHY DO WE NEED LOGIC?
SIMPLE AND COMPOUND PROPOSITIONS
Connectives
A Remark on Commutativity
Another Example
SIMPLE AND COMPOUND PREDICATES
Rules of Inference
QUANTIFICATION
Free and Bound Variables
RELATIONAL CALCULUS
More on Range Variables
More Sample Queries
Sample Constraints
MORE ON QUANTIFICATION
We Don’t Need Both Quantifiers
Empty Ranges
Defining EXISTS and FORALL
Other Kinds of Quantifiers
SOME EQUIVALENCES
Relational Completeness
The Importance of Consistency
CONCLUDING REMARKS
EXERCISES
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
12. Miscellaneous SQL Topics
SELECT *
EXPLICIT TABLES
NAME QUALIFICATION
RANGE VARIABLES
SUBQUERIES
“POSSIBLY NONDETERMINISTIC” EXPRESSIONS
EMPTY SETS
A SIMPLIFIED BNF GRAMMAR
Table Expressions
Boolean Expressions
EXERCISES
A. The Relational Model
THE RELATIONAL MODEL vs. OTHERS
THE SIGNIFICANCE OF THEORY
THE RELATIONAL MODEL DEFINED
Scalar Types
Relation Types
Relation Variables
Relational Assignment
Relational Operators
DATABASE VARIABLES
OBJECTIVES OF THE RELATIONAL MODEL
SOME DATABASE PRINCIPLES
WHAT REMAINS TO BE DONE?
Implementation
Foundations
Higher Level Abstractions
Higher Level Interfaces
So What about SQL?
B. SQL Departures from the Relational Model
C. A Relational Approach to Missing Information
VERTICAL DECOMPOSITION
HORIZONTAL DECOMPOSITION
WHAT DO THE SHADED ENTRIES MEAN?
CONSTRAINTS
QUERIES
MORE ON PREDICATES
EXERCISES
D. A Tutorial D Grammar
Relational Expressions
Assignments
E. Summary of Recommendations
F. 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
G. Suggestions for Further Reading
Index
About the Author
← Prev
Back
Next →
← Prev
Back
Next →