创建自定义 CRM 系统时,我在为 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 中进行配置,但查看表格会变得一团糟。
还有其他想法吗?两者哪个更快?哪个最“常见”?
我觉得这些解决方案都不是最佳的,必须有更好的方法吗?