Functions in databases
- 1 March 1983
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Database Systems
- Vol. 8 (1) , 81-109
- https://doi.org/10.1145/319830.319835
Abstract
We discuss the objectives of including functional dependencies in the definition of a relational database. We find two distinct objectives. The appearance of a dependency in the definition of a database indicates that the states of the database are to encode a function. A method based on the chase of calculating the function encoded by a particular state is given and compared to methods utilizing derivations of the dependency. A test for deciding whether the states of a schema may encode a nonempty function is presented as is a characterization of the class of schemas which are capable of encoding nonempty functions for all the dependencies in the definition. This class is the class of dependency preserving schemas as defined by Beeri et al. and is strictly larger than the class presented by Bernstein. The second objective of including a functional dependency in the definition of a database is that the dependency be capable of constraining the states of the database; that is, capable of uncovering input errors made by the users. We show that this capability is weaker than the first objective; thus, even dependencies whose functions are everywhere empty may still act as constraints. Bounds on the requirements for a dependency to act as a constraint are derived. These results are founded on the notion of a weak instance for a database state, which replaces the universal relation instance assumption and is both intuitively and computationally more nearly acceptable.Keywords
This publication has 11 references indexed in Scilit:
- Testing satisfaction of functional dependenciesJournal of the ACM, 1982
- A normal form for relational databases that is based on domains and keysACM Transactions on Database Systems, 1981
- Equivalence of Relational Database SchemesSIAM Journal on Computing, 1981
- Variations on the Common Subexpression ProblemJournal of the ACM, 1980
- Testing the universal instance assumptionInformation Processing Letters, 1980
- Testing implications of data dependenciesACM Transactions on Database Systems, 1979
- Equivalences among Relational ExpressionsSIAM Journal on Computing, 1979
- Synthesizing independent database schemasPublished by Association for Computing Machinery (ACM) ,1979
- Synthesizing third normal form relations from functional dependenciesACM Transactions on Database Systems, 1976
- GRAPH THEORYPublished by Defense Technical Information Center (DTIC) ,1969