Book description
This book sheds light on the principles behind the relational model, which is fundamental to all database-backed applications--and, consequently, most of the work that goes on in the computing world today. Database in Depth: The Relational Model for Practitioners goes beyond the hype and gets to the heart of how relational databases actually work.Ideal for experienced database developers and designers, this concise guide gives you a clear view of the technology--a view that's not influenced by any vendor or product. Featuring an extensive set of exercises, it will help you:
- understand why and how the relational model is still directly relevant to modern database technology (and will remain so for the foreseeable future)
- see why and how the SQL standard is seriously deficient
- use the best current theoretical knowledge in the design of their databases and database applications
- make informed decisions in their daily database professional activities
Publisher resources
Table of contents
- Database in Depth
- Dedication
- A Note Regarding Supplemental Files
- Foreword
- Preface
-
One. Introduction
- 1.1. A Remark on Terminology
- 1.2. Principles, Not Products
- 1.3. A Review of the Original Model
- 1.4. Model Versus Implementation
- 1.5. Properties of Relations
- 1.6. Relations Versus Relvars
- 1.7. Values Versus Variables
- 1.8. Summary
-
1.9. Exercises
-
1.9.1.
- 1.9.1.1. Exercise 1-1
- 1.9.1.2. Exercise 1-2
- 1.9.1.3. Exercise 1-3
- 1.9.1.4. Exercise 1-4
- 1.9.1.5. Exercise 1-5
- 1.9.1.6. Exercise 1-6
- 1.9.1.7. Exercise 1-7
- 1.9.1.8. Exercise 1-8
- 1.9.1.9. Exercise 1-9
- 1.9.1.10. Exercise 1-10
- 1.9.1.11. Exercise 1-11
- 1.9.1.12. Exercise 1-12
- 1.9.1.13. Exercise 1-13
- 1.9.1.14. Exercise 1-14
- 1.9.1.15. Exercise 1-15
- 1.9.1.16. Exercise 1-16
- 1.9.1.17. Exercise 1-17
- 1.9.1.18. Exercise 1-18
-
1.9.1.
-
Two. Relations Versus Types
- 2.1. Domain-Constrained Comparisons
- 2.2. Data Value Atomicity
- 2.3. So What's a Type?
- 2.4. Scalar Versus Nonscalar Types
- 2.5. Summary
-
2.6. Exercises
-
2.6.1.
- 2.6.1.1. Exercise 2-1
- 2.6.1.2. Exercise 2-2
- 2.6.1.3. Exercise 2-3
- 2.6.1.4. Exercise 2-4
- 2.6.1.5. Exercise 2-5
- 2.6.1.6. Exercise 2-6
- 2.6.1.7. Exercise 2-7
- 2.6.1.8. Exercise 2-8
- 2.6.1.9. Exercise 2-9
- 2.6.1.10. Exercise 2-10
- 2.6.1.11. Exercise 2-11
- 2.6.1.12. Exercise 2-12
- 2.6.1.13. Exercise 2-13
- 2.6.1.14. Exercise 2-14
- 2.6.1.15. Exercise 2-15
- 2.6.1.16. Exercise 2-16
- 2.6.1.17. Exercise 2-17
- 2.6.1.18. Exercise 2-18
- 2.6.1.19. Exercise 2-19
- 2.6.1.20. Exercise 2-20
- 2.6.1.21. Exercise 2-21
- 2.6.1.22. Exercise 2-22
- 2.6.1.23. Exercise 2-23
- 2.6.1.24. Exercise 2-24
-
2.6.1.
-
Three. Tuples and Relations
- 3.1. What's a Tuple?
- 3.2. Some Important Consequences
- 3.3. What's a Relation?
- 3.4. Further Important Consequences
- 3.5. Why Duplicate Tuples Are Prohibited
- 3.6. Why Nulls Are Prohibited
- 3.7. TABLE_DUM and TABLE_DEE
- 3.8. Summary
-
3.9. Exercises
-
3.9.1.
- 3.9.1.1. Exercise 3-1
- 3.9.1.2. Exercise 3-2
- 3.9.1.3. Exercise 3-3
- 3.9.1.4. Exercise 3-4
- 3.9.1.5. Exercise 3-5
- 3.9.1.6. Exercise 3-6
- 3.9.1.7. Exercise 3-7
- 3.9.1.8. Exercise 3-8
- 3.9.1.9. Exercise 3-9
- 3.9.1.10. Exercise 3-10
- 3.9.1.11. Exercise 3-11
- 3.9.1.12. Exercise 3-12
- 3.9.1.13. Exercise 3-13
- 3.9.1.14. Exercise 3-14
- 3.9.1.15. Exercise 3-15
- 3.9.1.16. Exercise 3-16
- 3.9.1.17. Exercise 3-17
- 3.9.1.18. Exercise 3-18
- 3.9.1.19. Exercise 3-19
- 3.9.1.20. Exercise 3-20
- 3.9.1.21. Exercise 3-21
-
3.9.1.
-
Four. Relation Variables
- 4.1. Updating Is Set-at-a-Time
- 4.2. More on Candidate Keys
- 4.3. More on Foreign Keys
- 4.4. More on Views
- 4.5. Relvars and Predicates
- 4.6. More on Relations Versus Types
- 4.7. Summary
-
4.8. Exercises
-
4.8.1.
- 4.8.1.1. Exercise 4-1
- 4.8.1.2. Exercise 4-2
- 4.8.1.3. Exercise 4-3
- 4.8.1.4. Exercise 4-4
- 4.8.1.5. Exercise 4-5
- 4.8.1.6. Exercise 4-6
- 4.8.1.7. Exercise 4-7
- 4.8.1.8. Exercise 4-8
- 4.8.1.9. Exercise 4-9
- 4.8.1.10. Exercise 4-10
- 4.8.1.11. Exercise 4-11
- 4.8.1.12. Exercise 4-12
- 4.8.1.13. Exercise 4-13
- 4.8.1.14. Exercise 4-14
- 4.8.1.15. Exercise 4-15
- 4.8.1.16. Exercise 4-16
- 4.8.1.17. Exercise 4-17
- 4.8.1.18. Exercise 4-18
- 4.8.1.19. Exercise 4-19
- 4.8.1.20. Exercise 4-20
- 4.8.1.21. Exercise 4-21
- 4.8.1.22. Exercise 4-22
- 4.8.1.23. Exercise 4-23
- 4.8.1.24. Exercise 4-24
- 4.8.1.25. Exercise 4-25
- 4.8.1.26. Exercise 4-26
- 4.8.1.27. Exercise 4-27
- 4.8.1.28. Exercise 4-28
- 4.8.1.29. Exercise 4-29
- 4.8.1.30. Exercise 4-30
-
4.8.1.
-
Five. Relational Algebra
- 5.1. More on Closure
- 5.2. The Original Operators
- 5.3. Evaluating SQL Expressions
- 5.4. Extend and Summarize
- 5.5. Group and Ungroup
- 5.6. Expression Transformation
- 5.7. Relational Comparisons
- 5.8. More on Relational Assignment
- 5.9. The ORDER BY Operator
- 5.10. Summary
-
5.11. Exercises
-
5.11.1.
- 5.11.1.1. Exercise 5-1.
- 5.11.1.2. Exercise 5-2.
- 5.11.1.3. Exercise 5-3.
- 5.11.1.4. Exercise 5-4.
- 5.11.1.5. Exercise 5-5.
- 5.11.1.6. Exercise 5-6.
- 5.11.1.7. Exercise 5-7.
- 5.11.1.8. Exercise 5-8.
- 5.11.1.9. Exercise 5-9.
- 5.11.1.10. Exercise 5-10.
- 5.11.1.11. Exercise 5-11.
- 5.11.1.12. Exercise 5-12.
- 5.11.1.13. Exercise 5-13.
- 5.11.1.14. Exercise 5-14.
- 5.11.1.15. Exercise 5-15.
- 5.11.1.16. Exercise 5-16.
- 5.11.1.17. Exercise 5-17.
- 5.11.1.18. Exercise 5-18.
- 5.11.1.19. Exercise 5-19.
- 5.11.1.20. Exercise 5-20.
- 5.11.1.21. Exercise 5-21.
- 5.11.1.22. Exercise 5-22.
- 5.11.1.23. Exercise 5-23.
- 5.11.1.24. Exercise 5-24.
- 5.11.1.25. Exercise 5-25.
- 5.11.1.26. Exercise 5-26.
- 5.11.1.27. Exercise 5-27.
- 5.11.1.28. Exercise 5-28.
- 5.11.1.29. Exercise 5-29.
- 5.11.1.30. Exercise 5-30.
- 5.11.1.31. Exercise 5-31.
-
5.11.1.
-
Six. Integrity Constraints
- 6.1. Type Constraints
- 6.2. Database Constraints
- 6.3. Transactions
- 6.4. Why Database Constraint Checking Must Be Immediate
- 6.5. But Doesn't Some Checking Have to Be Deferred?
- 6.6. Constraints and Predicates
- 6.7. Miscellaneous Issues
- 6.8. Summary
-
6.9. Exercises
-
6.9.1.
- 6.9.1.1. Exercise 6-1.
- 6.9.1.2. Exercise 6-2
- 6.9.1.3. Exercise 6-3
- 6.9.1.4. Exercise 6-4
- 6.9.1.5. Exercise 6-5
- 6.9.1.6. Exercise 6-6
- 6.9.1.7. Exercise 6-7
- 6.9.1.8. Exercise 6-8
- 6.9.1.9. Exercise 6-9
- 6.9.1.10. Exercise 6-10
- 6.9.1.11. Exercise 6-11
- 6.9.1.12. Exercise 6-12
- 6.9.1.13. Exercise 6-13
- 6.9.1.14. Exercise 6-14
- 6.9.1.15. Exercise 6-15
- 6.9.1.16. Exercise 6-16
- 6.9.1.17. Exercise 6-17
- 6.9.1.18. Exercise 6-18
- 6.9.1.19. Exercise 6-19
- 6.9.1.20. Exercise 6-20
- 6.9.1.21. Exercise 6-21
- 6.9.1.22. Exercise 6-22
- 6.9.1.23. Exercise 6-23
- 6.9.1.24. Exercise 6-24
- 6.9.1.25. Exercise 6-25
-
6.9.1.
-
Seven. Database Design Theory
- 7.1. The Place of Design Theory
- 7.2. Functional Dependencies and Boyce/Codd Normal Form
- 7.3. Join Dependencies and Fifth Normal Form
- 7.4. Two Cheers for Normalization
- 7.5. Orthogonality
- 7.6. Some Remarks on Physical Design
- 7.7. Summary
-
7.8. Exercises
-
7.8.1.
- 7.8.1.1. Exercise 7-1
- 7.8.1.2. Exercise 7-2
- 7.8.1.3. Exercise 7-3
- 7.8.1.4. Exercise 7-4
- 7.8.1.5. Exercise 7-5
- 7.8.1.6. Exercise 7-6
- 7.8.1.7. Exercise 7-7
- 7.8.1.8. Exercise 7-8
- 7.8.1.9. Exercise 7-9
- 7.8.1.10. Exercise 7-10
- 7.8.1.11. Exercise 7-11
- 7.8.1.12. Exercise 7-12
- 7.8.1.13. Exercise 7-13
- 7.8.1.14. Exercise 7-14
- 7.8.1.15. Exercise 7-15
- 7.8.1.16. Exercise 7-16
- 7.8.1.17. Exercise 7-17
- 7.8.1.18. Exercise 7-18
- 7.8.1.19. Exercise 7-19
- 7.8.1.20. Exercise 7-20
- 7.8.1.21. Exercise 7-21
- 7.7.1.22. Exercise 7-22
- 7.8.1.23. Exercise 7-23
- 7.8.1.24. Exercise 7-24
- 7.8.1.25. Exercise 7-25
- 7.8.1.26. Exercise 7-26
- 7.8.1.27. Exercise 7-27
- 7.8.1.28. Exercise 7-28
-
7.8.1.
-
Eight. What Is the Relational Model?
- 8.1. The Relational Model Defined
- 8.2. Objectives of the Relational Model
- 8.3. Some Database Principles
- 8.4. The Relational Model Versus Others
- 8.5. What Remains to Be Done?
- 8.6. Summary
-
8.7. Exercises
-
5.7.1.
- 5.7.1.1. Exercise 8-1
- 5.7.1.2. Exercise 8-2
- 5.7.1.3. Exercise 8-3
- 5.7.1.4. Exercise 8-4
- 5.7.1.5. Exercise 8-5
- 5.7.1.6. Exercise 8-6
- 5.7.1.7. Exercise 8-7
- 5.7.1.8. Exercise 8-8
- 5.7.1.9. Exercise 8-9
- 5.7.1.10. Exercise 8-10
- 5.7.1.11. Exercise 8-11
- 5.7.1.12. Exercise 8-12
- 5.7.1.13. Exercise 8-13
- 5.7.1.14. Exercise 8-14
- 5.7.1.15. Exercise 8-15
- 5.7.1.16. Exercise 8-16
- 5.7.1.17. Exercise 8-17
- 5.7.1.18. Exercise 8-18
- 5.7.1.19. Exercise 8-19
- 5.7.1.20. Exercise 8-20
- 5.7.1.21. Exercise 8-21
- 5.7.1.22. Exercise 8-22
- 5.7.1.23. Exercise 8-23
- 5.7.1.24. Exercise 8-24
- 5.7.1.25. Exercise 8-25
- 5.7.1.26. Exercise 8-26
- 5.7.1.27. Exercise 8-27
- 5.7.1.28. Exercise 8-28
- 5.7.1.29. Exercise 8-29
- 5.7.1.30. Exercise 8-30
- 5.7.1.31. Exercise 8-31
- 5.7.1.32. Exercise 8-32
- 5.7.1.33. Exercise 8-33
- 5.7.1.34. Exercise 8-34
- 5.7.1.35. Exercise 8-35
- 5.7.1.36. Exercise 8-36
- 5.7.1.37. Exercise 8-37
- 5.7.1.38. Exercise 8-38
- 5.7.1.39. Exercise 8-39
- 5.7.1.40. Exercise 8-40
- 5.7.1.41. Exercise 8-41
- 5.7.1.42. Exercise 8-42
- 5.7.1.43. Exercise 8-43
- 5.7.1.44. Exercise 8-44
- 5.7.1.45. Exercise 8-45
- 5.7.1.46. Exercise 8-46
- 5.7.1.47. Exercise 8-47
- 5.7.1.48. Exercise 8-48
- 5.7.1.49. Exercise 8-49
- 5.7.1.50. Exercise 8-50
- 5.7.1.51. Exercise 8-51
- 5.7.1.52. Exercise 8-52
- 5.7.1.53. Exercise 8-53
- 5.7.1.54. Exercise 8-54
- 5.7.1.55. Exercise 8-55
- 5.7.1.56. Exercise 8-56
- 5.7.1.57. Exercise 8-57
- 5.7.1.58. Exercise 8-58
- 5.7.1.59. Exercise 8-59
- 5.7.1.60. Exercise 8-60
-
5.7.1.
- A. A Little Bit of Logic
- B. Suggestions for Further Reading
- Colophon
- Copyright
Product information
- Title: Database in Depth
- Author(s):
- Release date: May 2005
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9780596100124
You might also like
book
SQL for Data Analysis
With the explosion of data, computing power, and cloud data warehouses, SQL has become an even …
book
SQL Queries for Mere Mortals: A Hands-On Guide to Data Manipulation in SQL, 4th Edition
The #1 Easy, Common-Sense Guide to SQL Queries—Updated with More Advanced Techniques and Solutions Foreword by …
book
Head First SQL
Is your data dragging you down? Are your tables all tangled up? Well we've got the …
book
Practical SQL
"Practical SQL is an approachable and fast-paced guide to SQL (Structured Query Language), the standard programming …