In the project I'm developing I've got several "common objects" that span and associate several other tables.
Think, for example, at the object "Comment". It should be applicable to many kind of different objects: a photo, an action, an event... and it always haves the same structure (author, text, insertion_time, ...)
The first solution I adopted was to have separate tables for each kind of comment: PhotoComments, EventComments and relate those to pertinent objects with a one-to-many relationship with (for example) a photo_id column.
The second (and current one) consist in having a single Comments table (each with its own id) and have as many as needed "many-to-one" support tables to relate those comments with (ie) their photo.
Are there any downsides in having such a design?