SQL

数据库设计-何时拆分表?

发布于 2021-06-04 17:00:09

有时创建一个单独的表会产生更多的工作,我还是应该拆分它吗?

例如: 在我的项目中,我有一个客户表, 每个客户对每个产品都有自己的特价
(只有5个产品,将来不计划更多产品),每个客户在每个星期都有自己独特的时间公司向他提供产品。

当日期和产品价格是客户表中的列而不是单独的表时,更改客户的天数/价格,或显示所有客户的天数和价格之类的许多操作会容易得多,因此拒绝创建一个大客户在这种情况下的桌子?有什么缺点?

更新:
他们只是告诉我,大约一年后,他们有可能添加更多产品,他们说他们的业务无论如何都不会超过20-30个产品。我仍然不明白为什么在这种情况下,如果产品的价格没有关系(每个客户都有自己的特殊价格),那么将行添加到“产品”表中比添加“列”到“客户”表中更好?我能想到的唯一好处是,只有5种产品的客户将不必“携带”
20种可为空的产品(节省服务器空间)?我没有太多经验,所以也许我想不到明显的东西了吗?

关注者
0
被浏览
57
1 个回答
  • 面试哥
    面试哥 2021-06-04
    为面试而生,有面试问题,就找面试哥。

    显然,仅仅说一个人应该 始终 正常化并不是实用主义的。没有任何建议永远是正确的。

    如果您可以肯定地说5个“项目”足够长时间了,我认为将它们存储为列是完全可以的,这样可以节省您的工作。

    如果您的预测失败,并且需要存储第六项,则可以添加一个新列。只要列数不会非常高地失控,这应该不是问题。

    请注意一些策略,例如 许多程序员预测未来的能力非常有限。

    最后,只有一件事很重要:以最低的成本交付所需的解决方案。纯粹的代码不是目标。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看