【问题标题】:Empty data problem - data layer or DAL?空数据问题 - 数据层还是 DAL?
【发布时间】:2011-01-27 09:24:05
【问题描述】:

我现在正在设计新的应用程序,并对以下问题进行了深思熟虑。我从仓库中消耗了大量数据,实体有很多基于字典的值(货币、国家、税收等数据) - 维度。我不能保证不会有空值。所以我在想:

  • 在每个具有特殊 keyID 的字典中创建一个空值 - 即。 -1
  • 让 ETL (ssis) 做正确的事情并在需要的地方插入 -1
  • 让 DAL 知道 -1 是特殊的(无论什么都是静态 const)
  • 不要在代码中检查字典条目是否为空,因为它们总是有一个值

但也许我应该想:

  • 按原样导入数据
  • 让 DAL 使用空记录模式进行思考
  • 仍然不在乎代码,因为业务层将从 DAL 获得所需的内容。

我认为这更像是一种方法,但也许我在这里遗漏了一些重要的东西......你怎么看?我清楚了吗?请不要将其与空记录问题混淆。我确实一直在使用 emptyCustomer 思考和其他默认值。

【问题讨论】:

    标签: database-design data-warehouse data-access-layer etl architecture


    【解决方案1】:

    使用数据分析工具并检查这些维度。通常,维度表中不应有空值。具有“特殊”维度行也很常见,例如:0=未知、-1= 无等。您的数据仓库设计师(可能)已经处理了这些问题。

    如果您碰巧发现空值,请将问题传递给数据仓库团队来处理。仓库应该充当参考数据存储并服务于多个客户端应用程序——如果每个应用程序设计人员都必须决定如何处理未知值,他们最终将基于相同的数据集生成不同的结果(报告)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-11
      • 2013-12-05
      • 2012-08-18
      • 2014-04-08
      • 2020-06-01
      • 2012-01-05
      • 2011-05-04
      • 2011-11-02
      相关资源
      最近更新 更多