1

我现在正在设计新的应用程序,并给出以下问题很多想法。我从仓库中消耗大量数据,并且这些实体有很多基于字典的值(货币,国家,税收 - 无论数据) - 维度。我不能确定,但​​不会有空值。所以我在想:空数据问题 - 数据层还是DAL?

  • 在每个特殊keyID的字典中​​创建一个空值 - 即。 -1
  • 做ETL(SSIS)做正确的东西,然后插入-1需要它
  • 让DAL知道-1是
  • 不照顾特殊(力所能及的事静态常量)代码来检查字典条目的NULL的含量,因为它们总有一个值

但是,也许我应该思考:AS IS

    • 进口数据DAL使用空记录进行思考模式
    • 仍然不关心代码,因为业务层将具有DAL所需的内容。

    我认为更多的是一种方法,但也许我错过了一些重要的东西在这里......你认为什么?我清楚了吗?请不要将它与空记录问题混淆。我确实一直在用emptyCustomer和其他默认设置。

  • 回答

    1

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

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