同桌或不同桌子?

时间:2017-03-28 23:30:40

标签: mysql

我的应用程序跟踪库存的购买和销售情况。我无法决定是否应该使用具有自动增量的单独表格,或者使用具有区分类型字段和手动自动增量ID的相同表格。这些表将存储接近相同的数据。我担心将这两个表结合起来会使未来的库存变动变得更加可视化。我知道这纯粹是为了人类的安慰,但我不确定是否还有其他与性能相关的问题。我想听听两端的意见。

假设我决定将销售发票和采购订单表合并到同一个表中,所需列中只有一个区别 - 采购订单存储已支付的税,而销售发票则使用bool来判断订单是否已征税。我有两个选择:

  1. 使用两个字段 - 一个bool和一个十进制
  2. 在应用程序级别使用相同的字段和类型转换值
  3. 有人知道第二个是否会导致更多问题吗?

    由于

1 个答案:

答案 0 :(得分:0)

如果您使用的是单表设计,则可能需要两列,每个目的一列,其中一些记录可能使用A列,另一列B列,但其余的则是共享的。

真正的问题是,在根据数据和关系发言时,采购订单和发票是否真的相同。通常,采购订单与发票相关,但发票可能没有关联的采购订单。在某些系统中,您将在多个采购订单和多个发票之间进行复杂的安排,这取决于所销售产品的性质以及包装的方式。

如果您正在处理相当细微的事情,例如可以进行单独跟踪的大型,昂贵的项目,那么您的系统可以获得很多细节。如果它跟踪大量销售的廉价商品,那么很难管理它。如果你正在处理按订单生产的东西,事情会变得更加复杂。

我会对您可能遇到的情况类型进行更多研究,按概率排序,然后针对您可能遇到的最丑陋案例测试您的架构。