https://onestopde.com/normalization-and-denormalization-balancing-performance-and-storage-needs/