Abstract
In the last year or so, a number of generalizations of these dependencies have appeared: Nicolas's mutual dependencies [Ni], which say that a relation is the join of three of its projections; Rissanen's and Aho, Beeri, and Ullman's join dependencies ([Ri], [ABU]), which generalize further to an arbitrary number of projections; Paradaens' transitive dependencies [Pa], which generalize both FDs and MVDs; Sagiv and Walecka's subset dependencies [SW] which generalize embedded MVDs; and Sadri and Ullman's template dependencies [SU], which generalize embedded join dependencies. The purpose of this paper is to help bring order to the chaos by presenting certain mathematical properties shared by all of these dependencies. In Section 2, we introduce the concept of “faithfulness” (with respect to direct product), and show that IDs and EIDs are faithful, whereas slight variations are not necessarily faithful. In Section 3, we discuss “Armstrong relations”, which were known to exist in certain special cases (such as when the only sentences of interest were functional, multivalued, and join dependencies).In Section 4, we discuss finite Armstrong relations.In Section 5, we present some more counterexamples about the existence of Armstrong relations. In Section 6, we discuss projections of classes of relations. Although Zaiddan [Za] showed that projections of FD classes are not necessarily FD classes, it turns out that projections of FD classes (and, even more, of ID classes) are ID classes. In Section 7, we discuss certain extensions of our results.