Using constraints for efficient query processing in nondeterministic databases
Kumar V. Vadaparty, Shamim A. Naqvi · IEEE Transactions on Knowledge and Data Engineering · 1995
Nondeterministic databases store disjunctive data using OR-objects. For example, data such as "Part#1 is implementable using Nickel or Cobalt" is stored as Implement(Part#1, o/sub 1/) where Dom(o/sub 1/)={Nickel, Cobalt} is the domain of the OR-object o/sub 1/. A possible world of a database is obtained by replacing every OR-object by a member from its domain, and it is said to be conforming if it satisfies all the FDs (functional dependencies) associated with the database. A database D is said to fully incorporate a set F of FDs if every possible world of D is conforming. This paper studies the problem of preprocessing databases to achieve full incorporation, and also the problem of incrementally maintaining a database fully incorporated under insertions and deletions. We first define a certain property called goodness of a class D of databases for a set F of FDs; goodness can be tested efficiently and enforced easily at schema design time. For any class D of databases that is good for F, we present: 1) a quadratic time algorithm for fully incorporating F; 2) efficient algorithms for maintaining full incorporation under updates; and 3) lower-bounds for the algorithms of (1) and (2). Next, we show that, for classes of databases that are not good, the problem of full incorporation is, in general, coNP-complete. We also examine the complexity when OR-objects are restricted to have no more than two members, and obtain some interesting tractable algorithms, and intractability results.