>>Just as aside, I have seen a number of data designs that were fully normalized where the developer insisted that there was redundant data. A full analysis showed that what was thought to be redundant was, in fact, not redundant at all.
>
>I'm not sure what you're trying to say here, I tend to use redundant data for debugging and recovering purpose, and of course to deal with the history problem. How do you handle history problems ?
What I am saying is that all data that initially might appear as redundant is not redundant data. Attribute domains can be very close to the same and yet not be exactly the same.
I don't know what you mean by "history problem". I often use vertical partitioning to keep historical data away form teh current data, but that has nothing to do with normalization. It is an implementationd eati. Ther is still only one logical entity, I just store the data in two files. And the surrogate PK goes with the record when they are moved from the current tabel to the history table.