Practice with associations, validations, and efficient queries in ActiveRecord