Department of CSE
Assignment - 2
Sub: DBMS Marks: 10 Last date: 20/06/2022
------------------------------------------------------------------------------------------------------------------------------------------Answer all Questions:
(Roll No: 1-20)
→
1) In the BCNF decomposition algorithm, suppose you use a functional dependency α -> β to decompose a relation schema r (α, β, γ) into r1(α, β) and r2(α, γ ).
What primary and foreign-key constraint do you expect to hold on the decomposed relations?
Give an example of an inconsistency that can arise due to an erroneous update, if the foreign-key constraint were not enforced on the decomposed relations above.
c. When a relation is decomposed into 3NF using the algorithm, what primary and foreign key dependencies would you expect will hold on the decomposed schema?
2) Write the following inserts, deletes or updates in SQL, using the university schema.
Increase the salary of each instructor in the Comp. Sci. department by 10%.
Delete all courses that have never been offered (that is, do not occur in the section relation).
c. Insert every student whose tot cred attribute is greater than 100 as an instructor in the same department, with a salary of $10,000.
3) Show by example that there are schedules possible under the tree protocol that are not possible under the two-phase locking protocol, and vice versa.
(Roll No: 21-40)
−
1)Suppose you are given a relation grade points(grade, points), which provides a conversion from letter grades in the takes relation to numeric scores; for example an “A” grade could be specified to correspond to 4 points, an “A ”
to 3.7 points, a “B+” to 3.3 points, a “B” to 3 points, and so on. The grade points earned by a student for a course offering (section) is defined as the number of credits for the course multiplied by the numeric points for the grade that the student received.
Given the above relation, and our university schema, write each of the following queries in SQL. You can assume for simplicity that no takes tuple has the null value for grade.
Find the total grade-points earned by the student with ID 12345, across all courses taken by the student.
Find the grade-point average (GPA) for the above student, that is, the total grade-points divided by the total credits for the associated courses.
Find the ID and the grade-point average of every student.
2) Consider the following two transactions:
T34: read(A);
read(B);
if A = 0 then B := B + 1;
write(B).
T35: read(B);
read(A);
if B = 0 then A := A + 1;
write(A).
Add lock and unlock instructions to transactions T31 and T32, so that they observe the two-phase locking protocol. Can the execution of these transactions result in a deadlock?
3) Let R1, R2,... , Rn be a decomposition of schema U. Let u(U) be a relation, and let ri = ПRI (u). Show that
u ⊆ r1 0 r2 0 ··· 0 rn
(Roll No: 41-60, 301-306)
→
→ →
Let a prime attribute be one that appears in at least one candidate key. Let α and β be sets of attributes such that α -> β holds, but β ->α does not hold. Let A be an attribute that is not in α, is not in β, and for which β A holds. We say that A is transitively dependent on α. We can restate our definition of 3NF as follows: A relation schema R is in 3NF with respect to a set F of functional dependencies if there are no nonprime attributes A in R for which A is transitively dependent on a key for R. Show that this new definition is equivalent to the original one.
2) Suppose that we have a relation marks(ID, score) and we wish to assign grades to students based on the score as follows: grade F if score < 40, grade C if 40 ≤ score < 60, grade B if 60 ≤ score < 80, and grade A if 80 ≤ score. Write SQL queries to do the following:
a. Display the grade for each student, based on the marks relation.
b. Find the number of students with each grade.
3)Consider the timestamp-ordering protocol, and two transactions, one that writes two data items p and q, and another that reads the same two data items. Give a schedule whereby the timestamp test for a write operation fails and causes the first transaction to be restarted, in turn causing a cascading abort of the other transaction. Show how this could result in starvation of both transactions. (Such a situation, where two or more processes carry out actions, but are unable to complete their task because of interaction with the other processes, is called a livelock.)
Paper set by T.Prashanthi , Assistant Professor, CSE dept CBIT.
Share with your friends: |