您的位置:首页 > 其它

冗余字段

2015-10-24 15:26 176 查看
什么是数据冗余?
数据库表的设计一般都要求满足第三范式。每个字段都是不可再拆分的最小单元。 
而如果你这样存储数据: 
员工表(id,姓名,...),员工亲属表(id,员工姓名,亲属姓名,...) 
这里亲属表的员工姓名就是冗余。
下面我再更简单的举个小例子来说明到底什么是数据冗余。
比如有一个学生表hz_student,字段为学号,姓名,电话,住址等。

有一个成绩表,字段有,课程id,学生id,分数等。




如果我们需要查询某个学生某个课程的成绩即获取学生名,课程名,分数字段。就需要2个表连接查询。

首先你要明白连接查询是要耗费资源的。

远没有在一个表快,所以当业务对这种连接查询过多,连接更复杂时,

就会影响查询效率,拖慢响应时间。

所以我们可能在某些表中加入一些字段用来减少表之间的连接。比如

在成绩表中直接加入学号,学生姓名等字段,这就造成数据的冗余。

这样违反了数据库三范式要求,但是执行效率却会快许多。

也就是说有利有弊,关键是看你的需求是什么。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: