$25
Question 1
Consider a relation π
(π΄, π΅, πΆ, π·, πΈ, πΊ, π», πΌ, π½) and its FD set πΉ = {π΄ → π·πΈ, π΅ → πΊπΌ, πΈ → πΆπ·, πΆπΈ → π΄π·π», π» → πΊ, π΄π» → πΌ}.
Check if π΄ → πΌ ∈ F+.
Find a candidate key for π
.
Determine the highest normal form of π
with respect to πΉ. Justify your answer.
Find a minimal cover πΉπ for πΉ.
Decompose into a set of 3NF relations if it is not in 3NF step by step. Make sure your decomposition is dependency-preserving and lossless-join.
Question 2
Consider the schedule below. Here, R(*) and W(*) stand for ‘Read’ and ‘Write’, respectively. , , and represent four transactions and ti represents a time slot.
Time
t1
t2
t3
t4
t5
t6
t7
t8
t9
t10
t11
t12
R(B)
R(A)
W(B)
W(A)
R(B)
W(B)
R(A)
W(A)
R(A)
W(A)
R(B)
W(B)
Each transaction begins at the time slot of its first Read and commits right after its last Write (same time slot).
Regarding the following questions, give and justify your answers.
Is the transaction schedule conflict serialisable? Give the precedence graph to justify your answer. (4 marks)
Give a serial schedule of these four transactions. (3 marks)
Lock the transactions and according to the simple locking scheme. You only need to consider the order of the operations, not the timestamps. (3 marks)