When (how often) would you want to get the user's name? That's the question I would ask before deciding whether to denormalize this or not.
If you're just doing a listing on a table, you could do Notification.includes(:user).where ... and that would lazy-load the users for you, so you could get the user's name without an N+1 lookup. If you are showing the user all of their notifications, then you would be doing something like current_user.notifications ... so you would have the user already that way.
The answer to your question depends on the context.
Walter