
manifestation being explicit, and the other being concealed in customerCode. Likewise,
the table Customer (customerCode, customerName, salesAreaName) also looks fully-
normalised, but the salesAreaCode hidden in customerCode is a determinant of
salesAreaName but not a candidate identifier of Customer. However, many attributes are
potentially composite, and excessive zeal in decomposing them will cause an unnecessary
proliferation of attributes. A price might be decomposed into {poundsPrice, pencePrice} or
a date into {year, month, day}, but in most cases neither decomposition will be useful.
Step 4 Doubtful entity types should be omitted at this stage. ...