开发者社区> 问答> 正文

数据仓库当中的反范式化是什么意思?

数据仓库当中的反范式化是什么意思?

展开
收起
游客ahv54x37wvm7u 2021-12-12 17:18:36 564 0
1 条回答
写回答
取消 提交回答
  • 一般说来,数据库只需满足第三范式(3NF)就行了。

    没有冗余的数据库设计可以做到。但是,没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。具体做法是:在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理数据模型设计时考虑。降低范式就是增加字段,允许冗余,达到以空间换时间的目的。
    

    〖例〗:有一张存放商品的基本表,如表1所示。“金额”这个字段的存在,表明该表的设计不满足第三范式,因为“金额”可以由“单价”乘以“数量”得到,说明“金额”是冗余字段。但是,增加“金额”这个冗余字段,可以提高查询统计的速度,这就是以空间换时间的作法。

    在Rose 2002中,规定列有两种类型:数据列和计算列。“金额”这样的列被称为“计算列”,而“单价”和“数量”这样的列被称为“数据列”。
    
    2021-12-12 17:18:52
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
面向应用的反范式化数据建模 立即下载
数据在PG中的升华:流计算、OLTP、OLAP、轻学习 立即下载
阿里巴巴海量数据场景下的列式数据库 HiStore 立即下载