CS 3050
Spring 2007
Study Guide for Quiz 3

The quiz will cover chapters 6 and 7.
As part of your review process, I recommend you study:

Chapter 6: Organizing Files for Performance

1. Know what data compression is and why we do it.
2. Know the data compression techniques and algorithms we went over in class.
3. Understand how and why we reclaim space in files: statically using record deletion and storage compaction; dynamically using the avail list for both fixed and variable length records.
4. Be able to discuss and provide examples of both internal and external fragmentation.
5. Be able to discuss and provide examples of placement strategies of reclaiming space from variable length records that have been deleted.
6. Understand the issues that arise when we want to find a specific record in a file quickly; the search algorithms that we discussed in class and their performance.
7. Understand the keysort algorithm, why it is not ideal, and its effect on pinned records.

Chapter 7: Indexing

1. Know the definition of and index and a simple index for entry-sequenced files.
2. Know the operations required to create and maintain an indexed file.
3. Understand the consequences of our assumption that index files are small enough to be loaded into memory.
4. Understand how secondary indexes work and the operations to maintain them.
5. Understand how to retrieve information using a combination of secondary keys.
6. Understand how and why secondary indexes can be improved with inverted list.
7. Know why we might want to use selective indexes.
8. Understand binding policies in the context of a database system.