创建一个自定义的CRM系统我跑进了一堵墙,找出了MySQL布局的正确方法。该系统必须是动态的,即。随着时间的推移,可扩展为多种新产品。 每个产品应该有单独的账单,每个联系人应该有多个产品。正确的MySQL数据库布局
我应该用表是这样的:
Contacts{ ID }
Product_1{ ID; FK_ID; +Custom columns}
Product_2{ ID; FK_ID; +Custom columns}
Product_3{ ID; FK_ID; +Custom columns}
+ 15 more products (Expanding)
或者我应该使用这样的:
Contacts{ ID }
Products{ ID; FK_ID; +100 other columns (expanding)}
第一个例子将是易于配置,但将在包含大量的表时间。 也绑定与产品的联系人需要另一个表。
最后一个例子会更容易在PHP中进行配置,但看起来很乱。
还有其他想法吗?两者中哪一个更快?哪个最“常见”?
我感觉这些解决方案都不是最优的,还有更好的方法吗?
为什么每种产品需要不同的色谱柱?你建议的方法都不好看。你应该试着让事情更通用,找到所有不同产品之间的相似之处。您仍然可能会得到一些不同的表格和列(例如,针对不同的产品类型),但这仍然是一个改进。 – acfrancis
这些产品的共同点很少,所以不太可能。 – Jeppe