This is intended to give you a sense of what I think is important from the course so far, and what I will be thinking of when creating the exam.

Here are some disclaimers. This is not a contract. I may have inadvertently left something off this list that ends up in an exam question. I make no guarantees that the exam will be 100% limited to items listed below. Moreover, I will not be able to test all of this material given the time limitations of the exam. I will have to pick and choose some subset of it.

You are permitted one 8.5 x 11 sheet of paper with notes (both sides) for use as a reference during the exam.

Here are the specifics: Students should be able to...

Entity-Relationship model: Be able to construct an E-R diagram for a specific scenario provided. Be able to appropriately use each aspect of the E-R model (entity sets, relationship sets, keys, key constraints, participation constraints, weak entities, aggregation, ternary relationships, inheritance, 1-to-many vs. many-to-many vs. 1-to-1 relationships). Be able to convert an E-R diagram to the relational model. Consider tradeoffs in different relational implementations of a particular E-R design. Because of the extreme variability in standards for how these are drawn, I will not ask you to produce E-R shapes completely from scratch. However, I could give you a key mapping shapes to concepts and ask you draw a diagram, or I could answer you to interpret a diagram using the same notation that the textbook uses.

Indexing: Be able to quantitatively describe advantages and disadvantages of indexing. Be able to define and quantitatively assess merit of indexing strategies such as primary, secondary, clustering, dense, and sparse. Demonstrate how ISAM works and quantify usage costs. Be able to show detailed examples of how inserting and deleting works in B+ trees and extendable hashing when sufficient assumptions on implementation are provided. Be able to explain advantages and disadvantages of each of the above techniques, and why each might be chosen. Be able to work out approximate I/O costs for retrieving data using a particular indexing technique.

Query Evaluation: Be able to explain and/or demonstrate...

Finally, note that the practice exercises in the textbook are a great study tool -- all of them have solutions online at the textbook website.