我该如何设计这个数据库?

时间:2016-02-19 14:28:48

标签: mysql database hibernate

假设我有1000万个产品名称,例如iPhone 6.对于每个产品名称,可能会有多个评论或评论。当用户搜索产品名称时,它将显示所有评论。我应该使用两个表来满足这个要求吗?

表一:ProductName,只有一列,“prodName” 表二:评论,只有一栏,“评论”

两者之间有什么关系?我是数据库设计的新手,并将使用MySql来实现这一点,使用Java中的Hibernate。我想尽可能简单地开始。

谢谢。

1 个答案:

答案 0 :(得分:4)

如果您要为该产品保留单个表格以获取产品信息和评论,则需要为每个评论复制产品名称。当必须存储1000万可能非常危险的产品时。

另一个问题是表扩展性。假设您想要添加与产品(即库存)紧密相关的名称之外的其他信息。您不希望根据为该产品发表的评论将表中的信息复制。

为避免出现这类问题,您可以考虑使用与此类似的架构:http://sqlfiddle.com/#!9/b50a8/2,将表格与其密钥相关联,避免信息重复。