Associations between database tables is incredibly important.  I’ve been working on a volunteer tracking app for nonprofits that has several tables and many associations.

I found out the hard way why you should always choose the has_many through association instead of the has_and_belongs_to_many_association (habtm).  I needed a very simple many to many association so I thought habtm would be all I needed.  The trouble is that if you ever need to validate anything (i.e. the uniqueness of the join table entries) you need the has_many through association.   

Don’t waste your time.  Always use has_many through association.