Database Qualifying Exam, Exams of Algorithms and Programming

The instructions and questions for the Database Qualifying Exam held in Spring 2013 at the Computer Sciences Department of the University of Wisconsin-Madison. The exam consists of four questions related to concurrency control, normal forms and inference rules, query optimization, and distributed databases. The instructions provide guidelines on how to answer the questions and how to label the answer books. The document also mentions the policy on misprints and ambiguities.

Typology: Exams

2012/2013

Uploaded on 05/11/2023

anvi
anvi 🇺🇸

4.8

(4)

228 documents

1 / 3

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
University of Wisconsin-Madison
Computer Sciences Department
Database Qualifying Exam
Spring 2013
GENERAL INSTRUCTIONS
Answer each question in a separate book.
Indicate on the cover of each book the area of the exam, your code number, and the
question answered in that book. On one of your books list the numbers of all the
questions answered. Return all answer books in the folder provided. Additional answer
books are available if needed.
Do not write your name on any answer book.
SPECIFIC INSTRUCTIONS
Answer all four (4) questions. Before beginning to answer a question make sure that you
read it carefully. If you are confused about what the question means, state any
assumptions that you have made in formulating your answer. Good luck!
The grade you will receive for each question will depend on both the correctness of your
answer and the quality of the writing of your answer.
Policy on misprints and ambiguities:
The Exam Committee tries to proofread the exam as carefully as possible. Nevertheless,
the exam sometimes contains misprints and ambiguities. If you are convinced a problem
has been stated incorrectly, mention this to the proctor. If necessary, the proctor can
contact a representative of the area to resolve problems during the first hour of the exam.
In any case, you should indicate your interpretation of the problem in your written answer.
Your interpretation should be such that the problem is nontrivial.
pf3

Partial preview of the text

Download Database Qualifying Exam and more Exams Algorithms and Programming in PDF only on Docsity!

University of Wisconsin-Madison Computer Sciences Department

Database Qualifying Exam Spring 2013

GENERAL INSTRUCTIONS

Answer each question in a separate book.

Indicate on the cover of each book the area of the exam, your code number, and the question answered in that book. On one of your books list the numbers of all the questions answered. Return all answer books in the folder provided. Additional answer books are available if needed.

Do not write your name on any answer book.

SPECIFIC INSTRUCTIONS

Answer all four (4) questions. Before beginning to answer a question make sure that you read it carefully. If you are confused about what the question means, state any assumptions that you have made in formulating your answer. Good luck!

The grade you will receive for each question will depend on both the correctness of your answer and the quality of the writing of your answer.

Policy on misprints and ambiguities:

The Exam Committee tries to proofread the exam as carefully as possible. Nevertheless, the exam sometimes contains misprints and ambiguities. If you are convinced a problem has been stated incorrectly, mention this to the proctor. If necessary, the proctor can contact a representative of the area to resolve problems during the first hour of the exam. In any case, you should indicate your interpretation of the problem in your written answer. Your interpretation should be such that the problem is nontrivial.

1: CONCURRENCY CONTROL

Consider a DBMS that implements a Gray-style hierarchical locking for concurrency control. Applications in this DBMS often run transaction in which attributes are updated by adding or subtracting constant values. In addition to the lock types introduced in the Gray et al.’79 paper, such systems often implement increment and decrement locks. Such locks protect the attribute that is locked and allow the locked object to be incremented/decremented. Answer the following questions for this scheme:

  • Explain why such locks make sense, i.e. explain the advantages of using these locks.
  • What do you think is the right compatibility of these (increment and decrement) locks with the existing lock types proposed in the Gray et al. paper?
  • Can you think of the disadvantages of using these special lock types, as opposed to using just the lock types introduced in the Gray et al.’79 paper?

2: NORMAL FORMS AND INFERENCE RULES

Fix a set of attributes Z in a relation R.

A functional dependency is a statement X  Y where X, Y are subsets of Z. It is said to hold if whenever s and t are tuples in R such that s[X] = t[X] then s[Y] = t[Y].

A multivalued dependency is a statement of the form X Y, where X and Y are subsets of Z. It is said to hold whenever there are tuples s and t in R such that if s[X] = t[Y], then there is a tuple u in R such that u[XY] = s[XY] and u[Z – XY] = t[Z – XY].

(1) Prove or provide an explicit counterexample (i.e., a relation) for the following where X, Y, and U are sets of attributes, i.e., subsets of Z.

(a) If X  Y then X Y (b) If X  Y then X  Y (c) If X Y and YU then X  U (d) If X Y and Y U, then X  U

(2) Describe the connection between dependencies, normal forms, and update consistency.