Good idea to include summary of frequently accessed data from another foreign-keyed table?
Is there some particular reason you're worried about how much work your computer has to do to join three tables?  

The purpose of normalizing your schema is to make it much harder to corrupt your data when you insert, update and delete it.  Normalizing your schema means that reading your data will be more work (generally), but your code for maintaining your data will be much simpler and therefore much less prone to data corruption errors, as well as being cheaper to build and maintain, of course.

If your data is pretty static, i.e. you write it once and then read it a lot, then the benefits of normalization are less important.  

If your performance or resource utilization is very critical, and you can't get the performance you need from normalized data, then you can consider denormalizing your schema.  However, whenever you use denormalization you should do it with full knowledge of all of the potential traps you've set for yourself with respect to data corruption.

Normalize by default and denormalize as necessary, and with caution.