The final is comprehensive and will cover material discussed for the first two midterms. You should review the sample questions given for those midterms:
Some additional questions regarding the material since exam 2:
1. Briefly define the following terms:
Transaction
The ACID Properties
Serializable
Dependency Graph
Conflict Serializable
Deadlock
Deadlock Prevention
Deadlock Detection
Waits-for Graph
Index Locking
Predicate Locking
Write Ahead Log
Checkpoint
Discretionary Access Control
Mandatory Access Control
2. Give examples of two different types of anomalies that can occur
when transactions are interleaved carelessly. How would strict two
phase locking prevent these anomalies?
3. Define the two-phase locking (2PL) protocol? What types of locks are
normally used in this type of protocol (and what do they prevent)?
What is meant by strict two-phase locking?
4. Define the term deadlock in concurrency control. Give an example
of a set of transactions and locks that they acquire that results
in deadlock. Define a deadlock prevention scheme and how this scheme
would prevent deadlock in your example.
5. Answer question 4, but using deadlock detection rather than deadlock
prevention.
6. What is meant by multiple-granularity locking? How does this notion
interact with the idea of intention locks? Why would we use such a
scheme?
7. What is meant by the term index locking? How about predicate locking?
What type of situation are these algorithms meant to prevent?
8. Give a reasonable tree locking algorithm for locking in B+ trees? How
could this algorithm be improved?
9. Which of the ACID properties are dealt with by having a crash recovery
system in a DB? What is the basic idea that is used to allow crash
recovery?
10. Define the phases of the ARIES crash recovery system. How are the
transactions affected at each stage recognized?
11. Define discretionary and mandatory access control mechanisms for
database security. What are the advantages of each method?