Assignment#3
MSIT 630 Database Systems
Total: 50 points
1. What are two advantages of encrypting data stored in the database? (2 points)
2. RAID systems typically allow you to replace failed disks without stopping access to the
system. Thus, the data in the failed disk must be rebuilt and written to the replacement disk while
the system is in operation. Which of the RAID levels yields the least amount of interference
between the rebuild and ongoing disk accesses? Explain your answer. (4 points)
3. In the sequential file organization, why is an overflow block used even if there is, at the
moment, only one overflow record? (4 points)
4. For each of the following two B+ trees, show the steps involved in the following queries: (10
points) (Note: there are two B+ trees. You are supposed to answer question #a and #b for both
trees).
a. Find records with a search-key value of 11
b. Find records with a search-key value between 11 and 19, inclusive.
B-tree 1
B-tree 2
5. What are the causes of bucket overflow in a hash file organization? What can be done to
reduce the occurrence of bucket overflows? (4 points)
6. Why is a hash structure not the best choice for a search key on which range queries are likely?
(4 points)
7. A drawback of cost-based optimization is the cost of optimization itself. Optimizers use
heuristics to reduce the cost of optimization. Please describe at least three heuristic approaches
for transforming relational-algebra queries. (4 points)
8. Consider the following two transactions: (10 points)
T13: read(A);
read(B);
if A = 0 then B := B + 1;
write(B).
T14: read(B);
read(A);
if B = 0 then A := A + 1;
write(A).
Let the consistency requirement be A = 0 or B = 0, with A = 0 and B = 0 as the initial values.
a. Show that every serial execution involving these two transactions preserves the consistency of
the database.
b. Show a concurrent execution of T13 and T14 that produces a nonserializable schedule.
c. Is there a concurrent execution of T13 and T14 that produces a serializable schedule?
9. Consider the log in Figure 16.5 below. Suppose there is a crash just before the < T0 abort> log
record is written out. Explain what would happen during recovery. Describe the redo and undo
phase of the recovery algorithm and the log records to be added during recovery. (8 points)