数据库设计需要建议

时间:2014-01-16 13:13:45

标签: mysql sql database database-design

我是数据库设计的新手。在我的情况下,我必须为每个产品每个产品生成很多密钥。所以,我有两个选择 -

  1. 为所有用户创建一个包含product_id和key的表,或
  2. 为每个用户创建一个单独的表
  3. 在前一种情况下,我将只有一个表,但查询可能需要更多时间,因为所有用户都在同一个表中。  在后面的情况下,查询可能会更快地返回结果,但更多的表,如果用户跨越100或更多,则意味着很多表。

2 个答案:

答案 0 :(得分:2)

绝对不要为每个用户创建一个表。如果为所有用户创建单个表,则可以使用关系数据库设计并添加与每个用户相关的特定信息(如地址或员工信息),并使用users表中的主键作为外键。并且不会有任何明显的滞后。维护将变得更加容易

答案 1 :(得分:1)

如果你想在你的用户和产品之间建立关系,那就制作如下表

user_product [table name]

id [Primary Key] 
user_id [Reference key of user table]
product_id [Reference key of product table]
key 

这是你必须使用的表模式。

如果生成每个表,那么数据库和关系管理将会更复杂。所以,只需使用上面的行基格式。

如果有用,请告诉我。

由于