Abstract:
Codd tables are databases that can carry Codd’s null “value unknown at present” in columns that are specified as NULL. Under Levene and Loizou’s possible world semantics we investigate the combined class of uniqueness constraints and functional dependencies over Codd tables. We characterize the implication problem of this class axiomatically, logically and algorithmically. Since the interaction of members in this class is intricate data engineers can benefit from concise sample tables. Therefore, we investigate structural and computational properties of Armstrong tables. These are Codd tables that satisfy the consequences of a given set of elements in our class and violate all those elements that are not consequences. We characterize when a given Codd table is an Armstrong table for any given set of our class. From this result we establish an algorithm that computes an Armstrong table in time that is at most quadratic in the number of rows in a minimum-sized Armstrong table. Data engineers can use our Armstrong tables to judge, justify, convey and test their understanding of the application domain.