views:

41

answers:

1

I am planning to make Q&A system (quite specific, has nothing to do with IT)

I was looking for Stackoverflow database map: http://meta.stackoverflow.com/questions/2677/anatomy-of-a-data-dump/2678#2678

And I am thinking is not it is better practice to make separate table for questions titles. With "firstPostId".

Instead of  
|- PostTypeId  
|    - 1: Question  
|    - 2: Answer  

So I want to know, why stackoverflow did not use separate table for questions title. Is it "Do not optimize yet" or does it have any logic behind it?

+1  A: 

Based just on the schema as shown in your link, I surmise that Questions and Answers have so many attributes in common that it was convenient to model it as was done. In short, symmetry and failing to multiply entities unnecessarily seem credible reasons for the approach.

I also suspect they use a key/value (a.k.a. nosql) database for the backing store which allows entries to not possess all possible attributes. For example, a question can have tags but an answer will not. Key/value databases don't fret over differences like that.

Disclaimer: I have no actual knowledge of how SO is implemented.

msw