CS 3050
Spring 2007
Study Guide for Quiz 2

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

Chapter 4: Fundamental File Structure Concepts

1. Understand why file structures are necessary and what data persistence means.
2. Know the definitions of a field, record, and key (primary, secondary and some properties of keys).
3. Know the four ways we discussed to give structure to fields and the pros and cons of each way.
4. Know the four ways we discussed to give structure to records and the pros and cons of each way.
5. Understand the basics of using byte offset to access fixed length records and how to use a simple index to access variable length records (note: computations may be required).
6. Understand issues involved in the representation of a record length indicator and how to build a file with record length indicators.
7. Understand how to use classes to manipulate buffers for the case where records have length indicators and fields are separated by delimiters. (Including the pack, unpack, read and write classes.)

Chapter 5: Managing Files of Records

1. Know the definitions of RRN, byte offset, meta data, canonical and unique keys.
2. Understand the algorithms for direct and sequential access of records in a file. Be able to explain how they work, what assumptions are necessary, and to compare their performance using asymptotic upper bounds (worst and average cases), i.e. O(f(n)).
3. Know when sequential search is good.
4. Understand size considerations for fixed length fields.
5. Understand issues that arise from using fixed length records with variable length fields.
6. Know techniques used to tell the difference between data and unused space in fixed length records.
7. Know what header records are, what purpose they serve, and some examples of the type of data that might be stored in one.