<p>I'm working on a social networking system that will have comments coming from several different locations.  One could be friends, one could be events, one could be groups--much like Facebook.  What I'm wondering is, from a practical standpoint, what would be the simplest way to write a comments table?  Should I do it all in one table and allow foreign keys to all sorts of different tables, or should each distinct table have its own comment table?  Thanks for the help!</p>

This is an equivalent question to
this one
.
EDIT: Based on a comment, it isn't clear that this is an equivalent question, so I spell it out below.
Both questions ask about projects (both happen to be Social Networks, but that's just coincidence) where there is a question about the performance of the database. Both have a diverse set of objects that share a common collection of attributes (in one it is Events, that occur on each object, in the other it is Comments that occur on each object).
Both questions effectively ask whether it is more efficient to create a UNION query that combines the disparate common features, or to factor them out into a common table, with appropriate foreign keys.
I see them as equivalent; the best answer to one will apply equally to the other.
(If you disagree, I am happy to hear why; please leave a comment.)