[CareerCup] 15.5 Denormalization 逆规范化

Posted Grandyang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[CareerCup] 15.5 Denormalization 逆规范化相关的知识,希望对你有一定的参考价值。

 

15.5 What is denormalization? Explain the pros and cons.

 

逆规范化Denormalization是一种通过添加冗余数据的数据库优化技术,可以帮助我们减少关系数据库中耗时的交Join。在一般的规范化的数据库中,我们将数据存在不同的表中是为了减少冗余数据,所以我们会尝试着每条数据在数据库中只有一份。

比如说,在一个规范化的数据库中,我们有Courses表和Teachers表,每个Courses表的一项都会保存teacherID,但是没有teacherName,当我们想要返回Course和teacherName时,我们需要联合两个表。当老师需要改名时,我们只需要修改Teachers表,这是这样做的好处,但是,当表很大的时候,我们联合两表就会很耗时。

逆规范化这里就有用武之地了,我们容忍部分冗余数据和更新表所需多余的一些工作,以此换来快速高效的检索和较少的交操作。很多大公司同时使用规范化和拟规范化数据库。

 

拟规范的优点:

- 检索数据更加快速由于交减少了。

- 检索可能更加简单了,因为不用联合多个表。

拟规范的缺点:

- 更新和插入操作更费事了。

- 更新和插入的脚本更加难写了。

- 数据可能不一致了。

- 由于存在数据冗余,更占空间了。

 

CareerCup All in One 题目汇总

以上是关于[CareerCup] 15.5 Denormalization 逆规范化的主要内容,如果未能解决你的问题,请参考以下文章

[CareerCup] Single Valid Tree

[CareerCup] 15.2 Renting Apartment II 租房之二

CareerCup Questions List 职业杯题目列表

CareerCup All in One 题目汇总 (未完待续...)

[CareerCup] 2. Bomberman 炸弹人

CareerCup All in One 题目汇总