Given a relational database, a key is a set of attributes such that a value
assignment to this set uniquely determines the values of all other attributes.
The database uniquely defines a pure Horn function h, representing the
functional dependencies. If the knowledge of the attribute values in set A
determines the value for attribute v, then A→v is an implicate
of h. If K is a key of the database, then K→v is an implicate
of h for all attributes v.
Keys of small sizes play a crucial role in various problems. We present
structural and complexity results on the set of minimal keys of pure Horn
functions. We characterize Sperner hypergraphs for which there is a unique pure
Horn function with the given hypergraph as the set of minimal keys.
Furthermore, we show that recognizing such hypergraphs is co-NP-complete
already when every hyperedge has size two. On the positive side, we identify
several classes of graphs for which the recognition problem can be decided in
polynomial time.
We also present an algorithm that generates the minimal keys of a pure Horn
function with polynomial delay. By establishing a connection between keys and
target sets, our approach can be used to generate all minimal target sets with
polynomial delay when the thresholds are bounded by a constant. As a byproduct,
our proof shows that the Minimum Key problem is at least as hard as the Minimum
Target Set Selection problem with bounded thresholds.Comment: 12 pages, 5 figure