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 Optimistic Concurrency Control Timestamp Concurrency Control Write Ahead Log Checkpoint 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?