Codd would probably have prohibited the design of Example 1 on the grounds that values of attribute ADDR aren’t “atomic” (though I’m not aware that he ever explicitly addressed the question of tuple valued attributes as such in any of his writings). Now, I don’t agree with this position myself, for reasons I’ve explained in detail in SQL and Relational Theory and elsewhere—but the point isn’t worth fighting over, because we can obviously replace that tuple valued attribute by an attribute of type CHAR as shown in Figure 15-2. Codd would surely have allowed that revised design, and yet it suffers from redundancies precisely analogous to those in Example 1.
And if you don’t like this example, consider what could happen if attribute ADDR is of some user defined type (ADDRESS, say) instead of type CHAR.