【发布时间】:2016-07-12 17:42:52
【问题描述】:
我的数据库中有两个表:
营销人员:
Id, Username, Password, Email
商店:
Marketer Id, 1 Store, 2 Store, 3 Store, 4 Store, ...., 10 store
Stores 表中有每个营销人员的 10 家商店的名称。 所以这两个表之间是一对一的关系。对? 我想知道将这两个表结合起来是否更好。 我不想为第二个表(存储表)发送大量查询。所以我认为如果我将这两者分开会更好,因为我很少需要存储在“营销人员表”中的信息。
【问题讨论】:
-
我不清楚 Stores 是不是有 10 个商店字段的行?还是每个都是单独的行?
-
每一行都有一个营销商 ID,它是一个外键。以及十个不同列中十个商店的名称。
-
似乎异常。我想你会有一个营销人员表。一个 store 表和一个 StoreMarketer 表,其中 storeNo 查找的值为 1-10,具有唯一索引 Marketers 和 StoreNo Lookup。唯一索引和查找确保没有标记可以拥有超过 10 个商店。您甚至可以向商店添加唯一索引,以确保单个商店只有 1 个营销人员。您当前的方法允许为不同的标记重复存储并重复相同的存储。如果您向每个营销人员添加更多商店,也不允许增长。
-
是的,参见规范化。枚举列(比如“2”以上)从来都不是一个好主意
标签: mysql