This article is about a concept in relational database theory. For function dependencies in the Haskell programming language, see type class.
This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "Functional dependency" – news · newspapers · books · scholar · JSTOR(October 2012) (Learn how and when to remove this message)
In relational database theory, a functional dependency is a constraint between two sets of attributes in a relation from a database. In other words, a functional dependency is a constraint between two attributes in a relation.
Given a relation R and sets of attributes , X is said to functionally determineY (written X → Y) if and only if each X value in R is associated with precisely one Y value in R; R is then said to satisfy the functional dependency X → Y. Equivalently, the projection is a function, i.e. Y is a function of X.[1][2] In simple words, if the values for the X attributes are known (say they are x), then the values for the Y attributes corresponding to x can be determined by looking them up in any tuple of R containing x. Customarily X is called the determinant set and Y the dependent set. A functional dependency FD: X → Y is called trivial if Y is a subset of X.
In other words, a dependency FD: X → Y means that the values of Y are determined by the values of X. Two tuples sharing the same values of X will necessarily have the same values of Y.
The determination of functional dependencies is an important part of designing databases in the relational model, and in database normalization and denormalization. A simple application of functional dependencies is Heath's theorem; it says that a relation R over an attribute set U and satisfying a functional dependency X → Y can be safely split in two relations having the lossless-join decomposition property, namely into where Z = U − XY are the rest of the attributes. (Unions of attribute sets are customarily denoted by there juxtapositions in database theory.) An important notion in this context is a candidate key, defined as a minimal set of attributes that functionally determine all of the attributes in a relation. The functional dependencies, along with the attribute domains, are selected so as to generate constraints that would exclude as much data inappropriate to the user domain from the system as possible.
A notion of logical implication is defined for functional dependencies in the following way: a set of functional dependencies logically implies another set of dependencies , if any relation R satisfying all dependencies from also satisfies all dependencies from ; this is usually written . The notion of logical implication for functional dependencies admits a sound and complete finite axiomatization, known as Armstrong's axioms.
^Terry Halpin (2008). Information Modeling and Relational Databases (2nd ed.). Morgan Kaufmann. p. 140. ISBN 978-0-12-373568-3.
^Chris Date (2012). Database Design and Relational Theory: Normal Forms and All That Jazz. O'Reilly Media, Inc. p. 21. ISBN 978-1-4493-2801-6.
and 24 Related for: Functional dependency information
theory, a functionaldependency is a constraint between two sets of attributes in a relation from a database. In other words, a functionaldependency is a...
FunctionaldependencyFunctionaldependency is the property that a value in a tuple may be derived from another value in that tuple. A functional dependency...
Unified Modeling Language Dependency relation, a type of binary relation in mathematics and computer science. Functionaldependency, a relationship between...
attributes (e.g. database columns) are functionally dependent on solely a key, except the case of functionaldependency whose right hand side is a prime attribute...
software depends on directly. In a computer program a direct dependency is functionality from a library, or API, or any software component that is referenced...
are concerned with functionaldependencies, 4NF is concerned with a more general type of dependency known as a multivalued dependency. A table is in 4NF...
Dependency injection involves four roles: services, clients, interfaces and injectors. A service is any class which contains useful functionality. In...
multivalued dependency is a full constraint between two sets of attributes in a relation. In contrast to the functionaldependency, the multivalued dependency requires...
its dependency on Format can be preserved: Now, both the Book and Price tables conform to 2NF. The Book table still has a transitive functional dependency...
for F (a set of functionaldependencies on a relation scheme) is a set of dependencies such that F logically implies all dependencies in F c {\displaystyle...
isn't minimal, some subset of that will be minimal. There is a functionaldependency from the candidate key to all the attributes in the relation. The...
However, logical implication between dependencies that can be inclusion dependencies or functionaldependencies is undecidable by reduction from the word...
In object-oriented design, the dependency inversion principle is a specific methodology for loosely coupled software modules. When following this principle...
elementary functionaldependency is a full functionaldependency (a non-trivial functionaldependency X → A such that there is no functionaldependency X' →...
attribute that is functionally dependent on any proper subset of any candidate key of the relation (i.e. it lacks partial dependencies). A non-prime attribute...
class constraint Monad.State s m. In this constraint, there is a functionaldependency m -> s. This means that for a given monad m of type class Monad...
operating systems Freedesktop.org (fd.o), an interoperability project Functionaldependency, a constraint in a relation from a database Nissan FD engine, for...
the path of dependency grammar. The following frameworks are dependency-based: Algebraic syntax Operator grammar Link grammar Functional generative description...
join dependency is to say that the relationships in the join dependency are independent of each other. Unlike in the case of functionaldependencies, there...
other hand, the dependency tree identifies a phrase by any node that exerts dependency upon, or dominates, another node. And, using dependency analysis, there...
somewhat common in functional programming, where inductive and recursive definitions are often encouraged. Circular dependencies can cause many unwanted...
developed QuickTransit cross-platform virtualization Transitive dependency, a functionaldependency of database management which holds by virtue of transitive...
In computer science, functional programming is a programming paradigm where programs are constructed by applying and composing functions. It is a declarative...
Systemic functional grammar (SFG) is a form of grammatical description originated by Michael Halliday. It is part of a social semiotic approach to language...