Table of Contents
Chapter 1 The Worlds of Database
1.2.3 Storage and Buffer Management
1.2.4 Transaction Processing
Chapter 2 The Relational Model of Data
2.1.3 The Relational Model in Brief
2.1.4 The Semistructured Model in Brief
2.1.6 Comparison of Modeling Approaches
2.2 Basics of the Relational Model
2.2.1 Attributes
2.2.2 Schemas
2.2.3 Tuples
2.2.4 Domains
2.2.7 Keys of Relations
2.4.2 What is an Algebra?
2.4.3 Overview of Relational Algebra
2.4.4 Set Operations on Relations
2.4.5 Projection
2.4.6 Selection
2.4.7 Cartesian Product
2.4.8 Natural Joins
2.4.9 Theta-Joins
2.4.10 Combining Operations to Form Queries
2.4.12 Relationships Among Operations
2.4.13 A Linear Notation for Algebraic Expressions
2.6 Summary of Chapter 2
Chapter 3 Design Theory for Relational Databases
Chapter 4 High-Level Database Models
Chapter 5 Algebraic and Logical Query Languages
5.1 Relational Operations on Bags
5.2 Extended Operators of Relational Algebra
5.2.4 The Grouping Operator
Chapter 6 The Database Language SQL
6.4.2 Duplicates in Unions, Intersections, and Differences
Chapter 7 Constraints and Triggers
Chapter 8 Views and Indexes
Chapter 9 SQL in a Server Environment
Chapter 10 Advanced Topics in Relational Databases
10.1 Security and User Authorization in SQL
10.2 Recursion in SQL
10.3 The Object-Relational Model
10.6.4 Star Schemas
Chapter 11 The Semistructured-Data Model
Chapter 12 Programming Language for XML
Chapter 13 Secondary Storage Management
13.4.7 Parity Blocks
13.4.8 An Improvement: RAID 5
13.4.9 Coping With Multiple Disk Crashes
13.5 Arranging Data on Disk
13.5.1 Fixed-Length Records
Chapter 14 Index Structures
14.1 Index-Structure Basics
14.2 B-Trees
14.2.1 The Structure of B-trees
14.2.2 Applications of B-trees
14.2.3 Lookup in B-Trees
14.2.4 Range Queries
14.2.5 Insertion Into B-Trees
14.2.6 Deletion From B-Trees
14.2.7 Efficiency of B-Trees
14.3 Hash Tables
14.3.1 Secondary-Storage Hash Tables
14.3.2 Insertion Into a Hash Table
14.3.3 Hash-Table Deletion
14.3.4 Efficiency of Hash Table Indexes
14.3.5 Extensible Hash Tables
14.3.6 Insertion Into Extensible Hash Tables
14.3.7 Linear Hash Tables
14.3.8 Insertion Into Linear Hash Tables
Chapter 15 Query Execution
15.1 Introduction to Physical-Query-PlanOperators
15.2 One-Pass Algorithms
15.3 Nested-Loop Joins
15.4 Two-Pass Algorithms Based on Sorting
15.5 Two-Pass Algorithm s Based on Hashing
15.6 Index-Based Algorith
15.7 Buffer Management
15.8 Algorithms Using More Than Two Passes
Chapter 16 The Query Compiler
16.1 Parsing and Preprocessing
16.1.1 Syntax Analysis and Parse Trees
16.1.2 A Grammar for a Simple Subset of SQL
16.1.3 The Preprocessor
16.1.4 Preprocessing Queries Involving Views
16.1.5 Exercises for Section 16.1
16.2 Algebraic Laws for Improving Query Plans
16.2.1 Commutative and Associative Laws
16.2.2 Laws Involving Selection
16.2.3 Pushing Selections
16.2.4 Laws Involving Projection
16.2.5 Laws About Joins and Products
16.2.6 Laws Involving Duplicate Elimination
16.2.7 Laws Involving Grouping and Aggregation
16.2.8 Exercises for Section 16.2
16.3 From Parse Trees to Logical Query Plans
16.3.1 Conversion to Relational Algebra
16.3.2 Removing Subqueries From Conditions
16.3.3 Improving the Logical Query Plan
16.3.4 Grouping Associative/Comm utative Operators
16.3.5 Exercises for Section 16.3
16.4 Estimating the Cost of Operations
16.4.1 Estimating Sizes of Intermediate Relations
16.4.2 Estimating the Size of a Projection
16.4.4 Estimating the Size of a Join
16.4.5 Natural Joins With Multiple Join Attributes
16.4.6 Joins o f Many Relations
16.4.7 Estimating Sizes for Other Operations
16.5 Introduction to Cost-Based Plan Selection
16.5.1 Obtaining Estimates for Size Parameters
16.5.2 Computation of Statistics
16.5.3 Heuristics for Reducing the Cost of Logical QueryPlans
16.5.4 Approaches to Enumerating Physical Plans
16.5.5 Exercises for Section 16.5
16.6 Choosing an Order for Joins
16.7 Completing the Physical-Query-Plan
16.7.1 Choosing a Selection Method
16.7.2 Choosing a Join Method
16.7.4 Pipelining Unary Operations
16.7.5 Pipelining Binary Operations
16.7.6 Notation for Physical Query Plans
16.7.7 Ordering of Physical Operations
16.7.8 Exercises for Section 16.7
Chapter 17 Coping With System Failures
Chapter 18 Concurrency Control
Chapter 19 More About Transaction Management
Chapter 20 Parallel and Distributed Databases
20.1 Parallel Algorithms on Relations
20.1.1 Models of Parallelism
20.1.2 Tuple-at-a-Time Operations in Parallel
20.1.3 Parallel Algorithms for Full-Relation Operations
20.2 The Map-Reduce Parallelism Framework
20.3 Distributed Databases
20.8 Summary of Chapter 20
Chapter 21 Information Intergration
Chapter 22 Data Mining
Chapter 23 Database Systems and the Internet