假设我有一个商店网站,用户可以在其中对任何产品发表评论。
假设我的网站数据库中有表格(实体):让它成为“鞋子”、“帽子”和“溜冰鞋”。我不想为每个实体创建单独的“评论”表(如“shoes_comments”、“hats_comments”、“skates_comments”)。我的想法是以某种方式将所有评论存储在一张大表中。
我想到的一种方法是创建一个表:
table (comments):
ID (int, Primary Key),
comment (text),
Product_id (int),
isSkates (boolean),
isShoes (boolean),
isHats (boolean)
并为每个可能有评论的实体点赞。
然后,当我想获得某些产品的评论时,SELECT 查询将如下所示:
SELECT comment
FROM comments, ___SOMETABLE___
WHERE ____SOMEFLAG____ = TRUE
AND ___SOMETABLE___.ID = comments.Product_id
这是为所需功能实现数据库的有效方法吗?我还有什么其他方法可以做到这一点?>