In
this course,
we go "under the hood" to learn how a relational database management system
is built.
Students will learn the issues involved in designing efficient
database systems,
and the strategies, data-structures, and algorithms used
in the implementation of such systems.
The course is designed in three parts:
the physical database,
query processing and query optimization.
Specific contents include the following.
- I. The Physical Database
- file organizations
- indexes
- tree-structured indexing
- hash-based indexes
- external sorting
- II. Query Processing
- evaluation of relational operators
- selection
- projection
- joins (the many ways)
- set operations
- aggregate operations
- physical database design and tuning
|
- III. Query Optimization
- rewrite optimization
- semantic query optimization
- magic sets
- the COUNT bug
- ...
- cost optimization
- cost model
- selectivity estimation
- ...
- new paradigms in query optimization
|
|