Design by exmple: An application of Armstrong relations
Journal of Computer and System Sciences
Computing covers for embedded functional dependencies
PODS '87 Proceedings of the sixth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Some results about functional dependencies
Acta Cybernetica
Acta Cybernetica
Computational problems related to the design of normal form relational schemas
ACM Transactions on Database Systems (TODS)
On the Structure of Armstrong Relations for Functional Dependencies
Journal of the ACM (JACM)
An improved algorithm for finding a key of a relation
PODS '85 Proceedings of the fourth ACM SIGACT-SIGMOD symposium on Principles of database systems
Principles of Database Systems
Principles of Database Systems
Decomposition of object-oriented database schemas
Annals of Mathematics and Artificial Intelligence
Differential dependencies: Reasoning and discovery
ACM Transactions on Database Systems (TODS)
Discovering XSD keys from XML data
Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data
Hi-index | 0.06 |
Several decision problems for relational schemas with functional dependencies are computationally hard. Such problems include determining whether an attribute is prime and testing if a schema is in normal form. Algorithms for these problems are needed in database design tools. The problems can be solved by trivial exponential algorithms. Although the size of the instance is usually given by the number of attributes and hence is fairly small, such exponential algorithms are not usable for all design tasks. We give algorithms for these problems whose running time is polynomial in the number of maximal sets not determining an attribute or, equivalently, the number of generators of the family of closed attribute sets. There is theoretical and practical evidence that this quantity is small for the schemas occurring in practice and exponential only for pathological schemas. The algorithms are simple to implement and fast in practice. They are in use in the relational database design tool Design-By-Example.