У меня проблемы с моделированием конкретной структуры базы данных, над которой я работаю. Короче говоря, учитывая следующее:
- Веб-страница может иметь одну или несколько тем
- Тема состоит из одного или нескольких комментариев
- На комментарии могут быть поданы одна или несколько жалоб
- Жалобы также могут быть поданы против потока в целом
- Жалобы также могут подаваться на страницу
Я не могу понять, как смоделировать это на уровне БД. Первые три легко:
webpage
----------
id
name
thread
---------
id
page_id
name
comment
--------
id
thread_id
name
Но если бы я хотел единую таблицу жалоб, как бы это смоделировать? Я не думаю, что вы хотели бы сделать:
complaint
----------
id
page_id
thread_id
comment_id
Если вы когда-нибудь добавили новый тип объекта, например рисунок, вам нужно будет добавить больше столбцов в жалобу. Есть ли лучший способ сделать это, или он настолько хорош, насколько это возможно?
Заранее спасибо,
- Энтони