A very good example of denormalization. It clearly demonstrates that the process of normalization is to minimize anomalies in update and insert actions sometimes at the expense of retrieval actions. Denormalization is used to obtain acceptable data retrieval from the design. The key to effective use of denormalization is to only do it when the benefit (amount of performance increase) outwiegth the costs (problems of keeping everything consistent).