Outline & Objectives

Course OutlineQuery processing is a central database research area. It deals with how to find correct result fast from large database given a query. With the advanced of the computer technology, the amount of data gets bigger and bigger in the many application domains. This requires more efficient query processing. - This course starts with the basic review of the disk storage. Then it also briefly reviews the basic file structures: record files, index structures (including B-tree), hash tables, etc. Advanced index structures such as multidimensional files and bitmap indexes are presented too. - After reviewing frequently used access methods, this course discuss query processing. It first discusses how to execute queries by examining one-pass and two-pass algorithms for database operations. Then it discusses how to compile queries. Query parsing and query optimization issues will be examined.
Learning ObjectivesQuery processing is a central database research area. It deals with how to find correct result fast from large database given a query. With the advanced of the computer technology, the amount of data gets bigger and bigger in the many application domains. This requires more efficient query processing. - This course starts with the basic review of the disk storage. Then it also briefly reviews the basic file structures: record files, index structures (including B-tree), hash tables, etc. Advanced index structures such as multidimensional files and bitmap indexes are presented too. - After reviewing frequently used access methods, this course discuss query processing. It first discusses how to execute queries by examining one-pass and two-pass algorithms for database operations. Then it discusses how to compile queries. Query parsing and query optimization issues will be examined.

Textbooks & References

TitleAuthor(s)PublisherYearISBN
Database Systems: The Complete BookHector Garcia Molina, Jeffrey D. Ullman, and Jennifer WidomPrentice Hall2002
Principles of Database Query Processing for Advanced ApplicationsClement T. Yu and Weiyi MengMorgan Kaufmann1997
Query Processing for Advanced Database SystemsChristoph Freytag, David Maier, and Gottfried VossenMorgan Kaufmann1993

Evaluation Criteria

Mid Term30%
Final Term30%
Assignments30%
Presentation0%
Attendance10%

Lecture Schedule

WeekLecture Topics and Contents
Week 1Data Storage
Week 2Representing Data Elements
Week 3Index Structures
Week 4Multidimensional Indexes and Bitmap Indexes 1
Week 5Multidimensional Indexes and Bitmap Indexes 2
Week 6Query Execution: Introduction to Physical-Query-Plan Operators
Week 7Query Execution: One-Pass Algorithms for Database Operations
Week 8Midterm Exam
Week 9Query Execution: Two-Pass Algorithms Based on Sorting and Hashing
Week 10Query Execution: Indexed-Based Algorithms, Buffer Management
Week 11Query Execution: Algorithms Using More Than Two Passes, Parallel Algorithms for Relational Operators
Week 12Query Compiler: Parsing, Algebraic Laws for Improving Query Plans
Week 13Query Compiler: From Parse Trees to Logical Query Plans, Estimating the Cost of Operations
Week 14Query Compiler: Introduction to Cost-Based Plan Selection, Choosing an Order for Joins
Week 15Query Compiler: Completing the Physical-Query-Plan
Week 16Final Exam