Need help with deciding on the association

Every entity can have its own table. Then you can define the
relationships between them. The use cases will drive the actual design
decisions. You will be able to figure out whether habtm or has many
through will satisfy your requirements. I don't think STI is a good
solution for your scenario.