problems (20+ FDs for K’s method (Wastl, 1998a) as
it has been demonstrated in previous studies of this
work (Cordero et al., 2013)). However, a very in-
teresting property within search spaces induced by
tableaux methods, is the fully independence of their
branches, so we can directly consider them as sep-
arated sub-problems leading to several solutions of
the original problem. It is in this spirit that tableaux
paradigm supplies us an optimal guide to build par-
allel algorithms finding all minimal keys in a table,
since the building of the tableaux tree directs the par-
allel and independent processing.
In this work, we have developed parallel imple-
mentations of tableaux-like methods to solve mini-
mal keys finding problems. As shown in the follow-
ing, they have significantly increased the size of the
problem these methods are able to handle. Intention-
ally, we have executed them under different hardware
configurations trying to discover tendencies in which
the efficiency within method could be influenced. As
already implied above, a processing cluster will be
available for us to engage problems with a substantial
size at the input so we can deal with them in terms of
storage capacity and execution time.
The paper is organized as follows: In Section 2
we introduce several background. A brief study of
the state-of-the-art is exposed in Section 3. Section
4 introduces us into sequential tableaux-like methods
showing some experimental results. Parallelism im-
plementations enter the scene in Section 5 presenting
their way to proceed, and showing the high benefits
obtained. Several conclusions are then given in Sec-
tion 6.
2 BACKGROUND
We begin this section with three brief definitions of
basic concepts.
Definition 1 (Functional dependency). Let U be a set
of attributes. A functional dependency (FD) over U
is an expression of the form X → Y , where X, Y are
attribute sets. It is satisfied in a table R if for every
two tuples of R, if they agree on X, then they agree on
Y.
A key of a relational table is a subset of attributes
that allows us to uniquely characterize each row. It
may be defined by means of functional dependencies
as follows:
Definition 2 (Key). Given a table R over the set of at-
tributesU, we say that K is a key in R if the functional
dependency K → U holds in R.
Definition 3 (Minimal Key). Given the table R, the
attribute set K ⊂ U is said to be a minimal key if it
is a key of R and for all attribute k ∈ K the subset
K − {k} is not a key of R.
Due to space limitation, we refer those readers non
familiar with the formal notions of FDs, keys and rela-
tional tables to (Elmasri and Navathe, 2010). In Table
1, we just illustrate its semantics by a basic example.
From the information in Table 1, we may ensure
that the following FDs are satisfied: Title, Year →
Country, Title, Year → Director and Director →
Nationality. Moreover, the table has only one min-
imal key: {Title, Year, Star}
Inferring minimal keys from a set of FDs has been
well studied. The algorithm of Lucchesi and Osborn
(Lucchesi and Osborn, 1978) to find all the keys in
a relational schema is considered the first deep study
around this problem. Yu and Johnson (Yu and John-
son, 1976) established that the number of keys is lim-
ited by the factorial of the number of dependencies,
so, there does not exist a polynomial algorithm for
this problem.
3 TABLEAUX-LIKE METHODS
Some authors have used several techniques to solve
this problem. Saiedian and Spencer (Saiedian and
Spencer, 1996) propose an algorithm for computing
the candidate keys using attribute graphs. Zhang in
(Zhang, 2009) uses Karnaughmaps to calculate all the
keys. Nevertheless, we are interested in the use of ar-
tificial intelligence techniques and, more specifically,
in the use of logic. Armstrong’s axiomatic system
(Armstrong, 1974) is the former system introduced to
manage FDs in a logic style. In (Wastl, 1998b), for the
first time a Hilbert-styled inference system for deriv-
ing all keys of a relation schema was introduced. Al-
ternatively, in (Cordero et al., 2013) the authors tackle
the key finding problem with another inference rule
inspired by the Simplification Logic for Functional
Dependencies. These two papers constitute the tar-
get algorithms to be compared in this work. We refer
the reader to the original papers for further details.
Both works are strongly based on tableaux
paradigm. Tableaux-like methods represent the
search space as a tree, where its leaves contain the so-
lutions (keys). Tree building process begins with an
initial root and from there on, inference rules generate
new branches labeled with nodes representing simpler
instances of the parent node. The very best advan-
tage of this process goes to its versatility, since devel-
oping new inference systems –which is not a trivial
task indeed– allows us to design a new method. Com-
IncreasingtheEfficiencyofMinimalKeyEnumerationMethodsbyMeansofParallelism
513