【发布时间】:2016-02-19 14:28:48
【问题描述】:
假设我有 1000 万个产品名称,例如iPhone 6。对于每个产品名称,可能有多个 cmet 或评论。当用户搜索产品名称时,它会显示它的所有 cmets。我应该使用两张表来满足这个要求吗?
表一:ProductName,只有一列,“prodName” 表二:评论,只有一列,“cmets”
这两者有什么关系?我是数据库设计的新手,将使用 MySql 来做到这一点,Java 中的 Hibernate。我正在考虑让它尽可能简单,开始。
谢谢。
【问题讨论】:
-
1000 万件产品,您想保持简单吗?这是一个错误。第一次设计正确。为此,您应该只在每个表中拥有一次信息。除了将表连接在一起的 ID 之外,没有任何重复。
-
也许您可以考虑迁移到 大数据 架构,例如使用 NoSQL 数据库,例如 MongoDB。
-
只要做一些简单但快速有效的事情:将
product_id映射到评论表,这样您的产品就可以拥有任意数量的 cmets,但会与一个产品相关。