Advanced Databases and Applications Assignment -
1. Transaction Processing -
Consider schedules S1 and S2 below.
S1: r2(Y), r2(Z), r3(Y), w2(Z), r3(X), r1(Z), w3(X), r3(Z), r1(X), w3(Y), w2(Y), w1(X), w3(Z), w1(Z)
S2: r2(X), r3(Y), r2(Z), w3(Y), r1(X), w2(Z), r1(Y), r3(Z), r1(Z), r2(Y), w2(Y), w3(Z), w1(X), w1(Z)
(a) Apply the basic timestamp ordering (BTO) algorithm to schedules S1 and S2. Determine whether or not the algorithm allows the execution of the schedules, and discuss cascading rollback (if any).
Hints: each operation takes one time unit, and timestamp of each transaction is the time associated to its first operation. For example, timestamps of transactions T1, T2, and T3 in schedule S1 are 6, 1, and 3 (respectively).
(b) Testing the serializability of S1 and S2 by serialization graph technique to prove that the successful execution of a schedule under BTO will ensure the serializability of the schedule.
(c) Examine the recoverable characteristic of S1 and S2. What schedule (S1 or S2) can be executed under the strict timestamp ordering (STO) algorithm and write an equivalent strict schedule for it? We assume that a transaction will be committed or aborted right after its last operation.
2. Deductive Database
Consider a deductive database with the following rules:
DESCENDANT(X, Y) :- PARENT(X, Y)
DESCENDANT (X, Y) :- DESCENDANT (X, Z), PARENT (Z, Y)
Notice that PARENT (X, Y) means that X is the (biological) parent of Y; DESCENDANT(X, Y) means that Y is the descendant of X.
Consider the following fact base:
PARENT(john, steve), PARENT(john, olivia), PARENT(olivia, emma), PARENT(olivia, sophia).
(a) Construct either a model theoretic interpretation of the above rules using the given facts.
Consider that a database contains the following relations PERSON(X), PARENT(X, Y), and a third relation BIRTH(X, B), where B is the birth date of a person X.
The following information is used for question (b), (c) and (d).
Assume that we have the following family tree:
(b)
1. Construct a proof theoretic interpretation of DESCENDANT(steve, X) to find all descendants of Steve.
2. State a rule named as SIBLING(X, Y) and construct a proof theoretic interpretation of this rule to find all siblings.
(c) Given the following rules:
FIRST_COUSIN(X, Y) :- FATHER(X, Z), FATHER(Y, T), SIBLING(Z, T)
COUSIN(X, Y) :- FIRST_COUSINS(X, Y)
COUSIN(X, Y) :- FATHER(X, Z), FATHER(Y, T), COUSIN(Z, T)
Note: Two people are first cousins if their parents are siblings. Cousins means any kind of cousins. Cousins can be second cousins who are the children of the two first cousins or third cousins who are the children of two second cousins etc.
1. Prove that FIRST_COUSIN(isabella, emma) is true.
2. Prove that COUSIN(david, christopher) is true.
(d) State a rule named as COUSIN_BORN_BEFORE_2000 that computes a pair of cousins such that both of them were born before the year 2000. You may use "<" (less than) as a built-in predicate.
Attachment:- Assignment Files.rar