There are a few obvious ways to design your table:
1) You can have a master Comments table, and intermediate tables to connect each comment to your Articles, News, and Users tables:
Comments
--------
ID
News NewsComments
---- ------------
ID NewsID
CommentID
Articles ArticleComments
-------- ---------------
ID ArticleID
CommentID
Users UserComments
----- ------------
ID UserID
CommentID
Advantage of this is the relative ease of querying comments for each feature. However, this style suffers from referential integrity: its possible to connect a single comment to multiple comments, news articles, and users. Additionally, its not very scalable: if you add comments for RSS feeds, favorite links, user status, etc, then you have intermediate tables for all of those types.
2) Another approach is a slightly denormalized version:
Comments
--------
ID
TableName
PkID (Connects the primary key in other tables)
News
----
ID
Articles
--------
ID
Users
-----
ID
This works and it scales easily whenever you add new features, but you can't key your Comments.RefID field to multiple tables simultaneously, so you lose referential integrity.
3) The final option requires lots of redundant "comments" tables for each feature.
News NewsComments
---- ------------
ID NewsID
Articles ArticleComments
-------- ---------------
ID ArticleID
Users UserComments
----- ------------
ID UserID
Advantage of this style is the preservation of referential integrity, and that its readily understanable to anyone looking at your schema. Disadvantage is the excessive number of tables with an identical schema.