Working on an idea for a (1) Question (2) Answer and (3) Blog site. For the content of each of these, I can store them all in one table with some columns applying or not applying to each of these different types with a type column to differentiate each - OR, I can separate them into two tables Q, and Answer/Blog (or other combo), or into 3 tables for each type.
There are is only a minor difference between them:
In the one table idea, the columns would look like heading / detail / type - type column would differentiate each by 'id / question' / 'blog' / 'answer' / 'qid'
QUESTION: heading, detail, type
BLOG: heading, detail, type
ANSWER: qid, detail, type (does not use heading column, but references question in qid column)
I think storing all in one table may make queries simpler where there is a relationship between them, but the table gets much larger quicker... What is a good approach to a database/table design like this with the expectation this community can grow quite large over time (10K to 100K active users)?
Some typical relationships:
- A would be related to Q as being the answer(s) to Q
- Q, A, B will all be listed on the same window with checkbox choices
- Answers to Q can be associated with A or B
Quantity of A will far outweigh all of them, with Q following and B the least.
Thanks for your thoughts!