数据库/表结构 - 类似的条目与过多的规范化?

时间:2015-12-11 16:12:46

标签: database design-patterns database-design rdbms

我设计了这个关系数据库,随着时间的推移跟踪各种资产及其所有者。我想要做的最重要的分析之一是跟踪这些资产随时间的价值:预期的原始成本,实际的原始成本,实际成本等。所以我一直把数据相对于成本/价值放在一个单独的表名为“Support_Value”。更复杂的是,我跟踪的一些资产是在有外币的国家,因此我以美元收取成本/价值数据,但也以当地货币(“LC”)收集,这最终使我拥有的列数增加一倍在这张表中。我还使用此表作为以类似方式跟踪资产所有者自身价值的方法。 - 该表的列如下:

enter image description here

我最初的计划是开辟单独的表来处理(1)与成本和价值相关的条目的各种“质量”(即“计划”,“上限”,“下限”,“估计” “由分析师,”实际“和另一个表格来跟踪)和(2)另一个货币。但我意识到这可能会破裂,因为它不允许有一个初步的“计划”成本,然后随后进行修订,除非我们通过为修订附属物创建新列来明确说明,但之后可能有多个修订版。所以仍然不完美。

我现在设想的是创建一个具有以下列的不同值表:

  • ID(代表成本/价值估算的个别实例的PK)
  • 货币(FK到我的货币表)
  • 资产(FK到我的资产表) - 即这个成本或价值是指什么
  • 日期(FK到我的日期表) - 即实际跟踪修订
  • 类型(即“费用”或“价值”)
  • 质量(即“计划”,“上限”,“下限”,“估计”,“实际”)
  • 估值 - 即第二栏中指定货币的实际绝对金额

怎么看待这种方法?这是改进吗?

感谢您提出任何建议!

1 个答案:

答案 0 :(得分:1)

两种方法都很好。

但是,如果您认为可能需要其他类似的列, 然后第二个方法更具可扩展性。

你的第二种方法,它确实看起来有过度标准化, 我建议拆分"质量"专栏回到它的部分。

有些事情:

  • " ID"
  • "货币"
  • "资产"
  • "日期"
  • "类型"

  • "计划"

  • "下"
  • "上"
  • "估计"

  • "实际"

  • "估价"

干杯。