I want to build a threaded forum for an elearning site (opensource asp.net mvc ofcourse, though this doesn't matter for this question).

What should be the DB structure which will help retrieve the forum postings with optimum performance? I am not putting a no. to it as it may vary with the amount of rows being retrieved.

Besides I should be able to link a particular thread with another threads. For eg. show "Related Forum Links".

I am using SQL Server 2005.