Mid Term Exam
Wednesday, March 13, 3:15pm-4:45pm, Wishnick Hall 113
The exam will be 90 minutes long. It is closed book and closed notes. Questions will be both multiple-choice and full text questions. Many of the topics have already been covered in Quiz 1. Topics covered will be
- Disks
- Compute disk access costs.
- Answer questions about organization of data on disk:
- How to represent pointers to tuples? pointer swizzling?
- How to organize tuples on pages (fixed size vs. variable size, NULL values)?
- How to deal with insertions, updates, deletions?
- How to manage free-space?
- SQL: Write SQL queries and evaluate them.
- Relational algebra:
- Write relational algebra expressions.
- Translate SQL into relational algebra.
- Equivalences.
- Index structures
- B-trees and B+-trees: Execute operations on such trees (insert,delete) and answer questions about their properties (e.g., number of children).
- Hash indicies: Execute operations on hash indicies (insert, delete) and answer general questsion about these data strcutures (e.g., when to rebuild a directory for extensible hashing).
- Know spacial index structures.
- Logical query optimization
- Result size estimation.
- Implementations of relational operators and their I/O cost and runtime complexity:
- Joins: Nested Loop variants, Merge join, Hash join.
- Aggregation, Set-operations, Scans.
Solutions: Here are the solutions for the midterm. Grades will be made available through blackboard in the next few days.
Final Exam
Friday, May 10, 10:30am - 12:30pm, Wishnick Hall 113
The exam will be 120 minutes long. It is closed book and closed notes. Questions will be both multiple-choice and full text questions. Many of the topics have already been covered in the quizzes and mid term exam. Topics covered will be:
- Disks
- Compute disk access costs.
- Answer questions about organization of data on disk:
- How to represent pointers to tuples? pointer swizzling?
- How to organize tuples on pages (fixed size vs. variable size, NULL values)?
- How to deal with insertions, updates, deletions?
- How to manage free-space?
- SQL: Write SQL queries and evaluate them.
- Relational algebra:
- Write relational algebra expressions.
- Translate SQL into relational algebra.
- Equivalences.
- Index structures
- B-trees and B+-trees: Execute operations on such trees (insert,delete) and answer questions about their properties (e.g., number of children).
- Hash indicies: Execute operations on hash indicies (insert, delete) and answer general questsion about these data strcutures (e.g., when to rebuild a directory for extensible hashing).
- Know spacial index structures.
- Logical query optimization
- Result size estimation.
- Implementations of relational operators and their I/O cost and runtime complexity:
- Joins: Nested Loop variants, Merge join, Hash join.
- Aggregation, Set-operations, Scans.
- Physical optimization
- Join reordering algorithms
- Nested subqueries decorrelation and unnesting
- Transaction model
- Schedules
- Classes of Schedules
- Determining whether a schedule belongs to a certain class
- Given a set of transactions create a schedule of a certain class
- Recovery
- WAL
- Undo/Redo Logging
- Checkpointing
- ARIES
- Concurrency Control
- Classes of Schedules
- Conflict-serializability and conflict graph
- Lock-based protocols: 2PL and variants
Solutions: Here are the solutions for the midterm. Grades will be made available through blackboard in the next few days.