Denormalization deliberately stores redundant or combined data so an application can retrieve what it needs with fewer joins or queries. It trades some storage efficiency and update simplicity for faster, simpler reads. section 10.2.1 section 11.3.1
Keep a comment count with each post
A blog can add a comment-count column to its Posts table. A list of posts can then show each count without joining Posts to Comments and counting the matching rows every time. The catch: when comments change, the stored count must stay accurate. section 10.2.1
Figure 10.2 Denormalizing the Posts table by adding the count of comments on each post
Shows the comment count stored on each post rather than calculated from the Comments table for every list view. section 10.2.1
The same idea applies to documents. In Azure Cosmos DB, related supplier details can sit inside a product document, allowing a complete product to be retrieved in one query instead of assembled through joins. Duplication still needs care: updates may have to reach multiple copies, and missed updates can leave inconsistent data. Choose where to denormalize based on the reads, writes, and maintenance your application actually needs—not because every join is a villain. section 11.3.1 section 10.2.1





