Комментарий таблица:
comment(comment_id,text, created, userid, other_field,...)
стол Ссылка
link(comment_id,comment_type, refID,)
где comment_type
бы имя таблицы, в которую комментировал ("картинка", "пост", ...). comment_id
будет идентификатором комментария пользователя. refID
является id
таблицы пользователь комментировал (POST_ID, Picture_id, ...)
Допустим, у вас есть эти записи в таблице:
POST(id, some_text,other_stuff,...):
(1, "Hello Hello", "something",...)
(2, "Hey there", "something_else",...)
...
(57, "TEST TEST", "another something",...)
PICTURE(pic_id, description, other_stuff):
(4, "A cat", "something",...)
(2, "Another cat", "something_else",...)
...
(57, "finally a dog", "another something",...)
Когда объявления пользователя А новый комментарий:
Комментарий
(1,"What a cute cat", 2015-10-02, user24)
(3,"That something is awesome", 2015-10-02, user87)
ссылка
(1,"Picture", 4) //That comment is about the cat (Picture ID 4)
(3, "Post",57) //That comment is about the post with ID 57
добавить столбец 'type' или' rel_table' или что-то еще – Alex
Я бы рассмотрел 2 таблицы: post_comment и picture_comment, с обратной стороны по отношению к соответствующей родительской таблице. Пытается использовать один способ, подходящий для всех, может работать, но также может привести к головной боли целостности данных в будущем. – JRD