Предположим, что у меня есть веб-сайт магазина, где пользователь может оставлять комментарии о любом продукте.Структура базы данных, один большой объект для нескольких объектов
Предположим, что у меня есть таблицы (сущности) в базе данных моего сайта: пусть это будут «Обувь», «Шляпы» и «Коньки». Я не хочу создавать отдельные таблицы комментариев для каждой сущности (например, «shoes_comments», «hats_comments», «skates_comments»). Моя идея - как-то хранить все комментарии в одной большой таблице.
Один из способов сделать это, что я думал, это создать таблицу:
table (comments):
ID (int, Primary Key),
comment (text),
Product_id (int),
isSkates (boolean),
isShoes (boolean),
isHats (boolean)
и как флаг для каждого объекта, который может иметь комментарии.
Затем, когда я хочу, чтобы получить комментарии для некоторого продукта ВЫБОР запрос будет выглядеть так:
SELECT comment
FROM comments, ___SOMETABLE___
WHERE ____SOMEFLAG____ = TRUE
AND ___SOMETABLE___.ID = comments.Product_id
Это эффективный способ для реализации базы данных для необходимой функциональности? Какие еще способы я могу сделать это?>
Моя идея несколько отличается. Поскольку я понял вашу идею: добавьте внешний ключ в глобальную таблицу комментариев для каждой таблицы Entity. –