3.7.107. Functional dependency

A constraint that allows for representing a functional dependency between possibly several domain variables and a single domain variable. A sequence of variables X 1 ,X 2 ,,X n is said to functionally determine another variable Y if and only if each potential tuple of values of X 1 ,X 2 ,,X n is associated with exactly one potential value of Y (i.e., Y is a function of X 1 ,X 2 ,,X n ). For each constraint we indicate whether its functional dependency is defined in intention or in extension. We also indicate which variable var is determined by the functional dependency. Within the Arg. properties slot of a constraint that mentions the functional dependency keyword, we also mention which variables determine var .

Finally, the keyword Pure functional dependency provides the list of constraints that are only defined by one or several functional dependencies. For instance the 𝚗𝚟𝚊𝚕𝚞𝚎(n,v 1 ,v 2 ,,v m ) constraint is only defined in term of a functional dependency (i.e., n is equal to the number of distinct values in v 1 ,v 2 ,,v m ), while the 𝚝𝚛𝚎𝚎(n,𝑛𝑜𝑑𝑒 1 ,𝑛𝑜𝑑𝑒 2 ,,𝑛𝑜𝑑𝑒 m ) constraint is not only defined in term of a functional dependency since, in addition of counting trees, it also enforces no cycle in the corresponding graph.