为了报告而对实时数据进行反规范化 - 好还是坏?

Tra*_*man 7 report normalization relational-database

将企业应用程序数据库去标准化的优缺点是什么,因为它会使编写报告更容易?

Pro - 在SSRS中设计报告可能会"更容易",因为不需要加入.

由于数据重复和同步,开发/维护应用程序以处理非标准化数据将变得更加困难.

其他?

Bob*_*Bob 19

为了报告,非规范化是坏的,m'kay.

创建视图或非规范化数据仓库是很好的.

意见已解决了我的大部分报告相关需求.当用户几乎不断地生成报告或者您的视图开始变慢时,数据仓库非常棒.

这就是您想要规范化数据库的原因

  1. 从不受欢迎的插入,更新和删除依赖项中释放关系集合;
  2. 随着新型数据的引入,减少重建关系集合的需要,从而延长应用程序的使用寿命;
  3. 使关系模型对用户更具信息性;
  4. 使查询统计中的关系集合中立,这些统计信息随着时间的推移可能会发生变化.

-EF Codd,"通过维基百科进一步规范化数据库关系模型"

  • 视图并不总是答案,即使有很多人推荐它们.如果由于高度规范化的数据库设计而具有复杂连接,则视图的运行时间可能变得不可接受. (2认同)

enn*_*ler 6

您应该考虑去正规化的唯一时间是报告生成所需的时间是不可接受的.反规范化将导致有时无法确定的一致性问题,尤其是在大型数据集中