I'd like some opinons on whether I'm over-modeling my app. In this app, I'm saving off html meta data I download from websites. I download the meta tags and make them part of an an array. For each element in the meta_tags array, I want to save that element. But I need to account for situations where, for instance, there are two robots meta metas (one for index and one for follow). So my initial thought was to solve this by creating a "meta_tags" table and saving any meta tags off to their. That woud keep the sites table lean. I would just specify that the site table has many meta_tags.
But then I realized that the meta_tags is going to have a lot of duplicate entries. For instance, if I have two websites that have two robots meta tags (again, one for index and one for follow), then I've got four rows on that table, when I only have two unique records. So now I'm thinking that I should have the sites model do the downloading of html and then have a separate model called "meta tags" that lists all unique meta tags. And then I would associate the sites table with the meta_tags table through a join table called "site_meta_tags" that identifies which site had which meta tags. Is that the best way to set this up? Or am I making this too complicated?
UPDATE: I posted a follow up question here: Rails app has trouble with inter-model saving