How do you decide whether to use a string column or an id column to differentiate between different types of records?
Suppose you have a relationships table that maps users to forums. The possible relationships can be: subscriber, moderator, owner.
When does it make sense to move those relationship types to their own table and reference them through a relationship_type_id column? What’s the criteria? Or is it better to use a string column to differentiate them?