Abstract
Functional dependency (FD) is one of the most analyzed integrity constraints for any data model. In the relational data model, FDs are defined in a natural way: the values of an attribute set Y depend on the values of another attribute set X, that is, "Y is a function of X". FDs are well studied and are widely used in normalization theory. XML functional dependencies (XFD) can be defined in different ways and no universally best definition has been proposed. They are defined by very intricate concepts, and they are mostly based upon XML elements described by XML schema languages such as a DTD or an XML Schema definition. The instances of these elements are semi-structured tuples. A semi-structured tuple is an ordered list of (attribute: value) pairs. We may think of a tuple as a sentence of a formal language, where the values are the terminal symbols and the attribute names are the nonterminal symbols. In this way, the sequence of the attribute names is the left side of a production rule used to accept the next terminal symbol, that is, the next value of the tuple. So the list of values forms the sentence and the list of attributes forms the dual sentence. In this paper, we introduce the notion of the extended tuple as a sentence from a regular language generated by a grammar where the nonterminal symbols of the grammar are the attribute names of the tuple. Sets of extended tuples are the extended relations (relations are instances). We then introduce the dual language, which generates the tuple types allowed to occur in extended relations. We define functional dependencies over extended relations. The syntax of functional dependencies will be given on the graph of the finite state automaton accepting the regular language. Using this model, we can also handle extended relations generated by recursive regular expressions. The implication problem of our class of dependencies is decidable and finitely axiomatizable by a version of the Chase algorithm performed on the graph of the associated finite state automaton.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have