有时创建一个单独的表会产生更多的工作,我还是应该拆分它吗?
例如: 在我的项目中,我有一个客户表, 每个客户对每个产品都有自己的特价 (只有5个产品,将来不计划更多产品),每个客户在每个星期都有自己独特的时间公司向他提供产品。
当日期和产品价格是客户表中的列而不是单独的表时,更改客户的天数/价格,或显示所有客户的天数和价格之类的许多操作会容易得多,因此拒绝创建一个大客户在这种情况下的桌子?有什么缺点?
更新: 他们只是告诉我,大约一年后,他们有可能添加更多产品,他们说他们的业务无论如何都不会超过20-30个产品。我仍然不明白为什么在这种情况下,如果产品的价格没有关系(每个客户都有自己的特殊价格),那么将行添加到“产品”表中比添加“列”到“客户”表中更好?我能想到的唯一好处是,只有5种产品的客户将不必“携带” 20种可为空的产品(节省服务器空间)?我没有太多经验,所以也许我想不到明显的东西了吗?
显然,仅仅说一个人应该 始终 正常化并不是实用主义的。没有任何建议永远是正确的。
如果您可以肯定地说5个“项目”足够长时间了,我认为将它们存储为列是完全可以的,这样可以节省您的工作。
如果您的预测失败,并且需要存储第六项,则可以添加一个新列。只要列数不会非常高地失控,这应该不是问题。
请注意一些策略,例如 许多程序员预测未来的能力非常有限。
最后,只有一件事很重要:以最低的成本交付所需的解决方案。纯粹的代码不是目标。