【发布时间】:2017-11-10 04:45:16
【问题描述】:
假设我有一个商店网站,用户可以在其中留下有关任何产品的 cmets。
假设我的网站数据库中有表格(实体):让它成为“鞋子”、“帽子”和“溜冰鞋”。 我不想为每个实体创建单独的“cmets”表(如“shoes_cmets”、“hats_cmets”、“skates_cmets”)。 我的想法是以某种方式将所有 cmets 存储在一张大表中。
我想到的一种方法是创建一个表:
table (comments):
ID (int, Primary Key),
comment (text),
Product_id (int),
isSkates (boolean),
isShoes (boolean),
isHats (boolean)
为每个可能拥有 cmets 的实体设置类似标志。
然后,当我想获取某些产品的 cmets 时,SELECT 查询将如下所示:
SELECT comment
FROM comments, ___SOMETABLE___
WHERE ____SOMEFLAG____ = TRUE
AND ___SOMETABLE___.ID = comments.Product_id
这是为所需功能实现数据库的有效方法吗? 我还有什么其他方法可以做到这一点?>
【问题讨论】:
标签: sql database architecture structure