You can also do it in the SO-way, where in addition to the join / map / intersection table, you have a list of tags for the entry that has taggable:
entries table: post_id: 3539744, .... tags: sql, database, database-design, tags, data-modeling
If you cannot take a performance hit when using the connection table, pulling related tags for writing. Of course, special care must be taken here because you are dealing with denormalized data.
NullUserException
source share