suppose I needed to design a database for a bulltin-board website.
something like stackoverflow which means there is a topic and a series of posts
but, no threaded posts (not a tree-based design)
I thought about two main options:
- Topic table and Post table. Post has “topic_id” field
- no Topic table. only one big Post table.
what do you think is the more preferable option?
Well, stackoverflow is a tagged based design, where a post may have multiple topics/tags.
So to capture this in a relational-style design, you would have three tables:
The reason for POSTTOPIC is because a post may have multiple tags. Using #3, it becomes easy to assign/unassign tags to a post or to find posts with certain topics. None of which a column in POST would be able to accommodate.