swa66 - 12:13 am on Nov 16, 2012 (gmt 0)
Sounds like an N:N relation even.
What I'd model are 3 tables:
These essentially descibe a widget for each row, leaving out all info about tags
These essentially define a tag without thinking to what widget they apply
These link the tags and widgets together.
A tag can be used on multiple widgets and a widget can have multiple tags.
That way a query to find all widgets with a given tag can be made, a query to know all possible tags, en query to find what tags a widget has are all eauqlly easy (just a couple of joins in one select statement)