Database Design: Relation Predicates and “Identical Relations”
&gt; If two relations have identical designs, the difference can only be encoded in the relation (and possibly attribute) <i>names</i>, in violation of the IP [information principle]. As such, it is inaccessible to the DBMS, which cannot rely on the RPs [relation predicates] to accept&#x2F;reject tuples as correct&#x2F;incorrect. Users--with little, or no help from the DBMS--must ensure that the correct tuples are inserted in the proper relation. Moreover, because information is not represented explicitly (as data values), relational operations lose it: if you UNION the two relations, you get users that either viewed or downloaded items, or both.<p>The author appears to be suggesting that the name of a relation has nothing to do with the meaning of a tuple in it. I&#x27;ve read dozens of books and papers on database design and I have never come across anyone ever suggesting any such thing.<p>He also seems to be saying:<p>(1) The name of a relation is inaccessible to the DBMS.<p>(2) You should be able to throw tuples at a DBMS and it should just figure out where they go.<p>(3) If there are tables A and B in your database and you can&#x27;t reconstitute A and B separately from (A UNION B), then there&#x27;s something wrong with your database design.