什么是数据库中的数据冗余如何消除数据冗余

什么是数据库中的数据冗余如何消除数据冗余,第1张

学号

姓名

课程名

成绩

001

张三

数学

90

001

张三

语文

91

002

李四

数学

90

002

李四

语文

91

这样的表称为有数据冗余

我们常常把这样的表分为两个表,如:

表1

学号

姓名

001

张三

002

李四

表2

学号

课程名

成绩

001

数学

90

001

语文

91

002

数学

90

002

语文

91

这样处理后既可满足数据的第二范式要求,当然还不是最好的。通过关系模式的范式可以消除数据冗余,基本的数据库应满足第三范式(3NF)。

看看数据库的“范式”内容

你就更好理解了。

数据库设计时为了提高读取速度可能造成的冗余。

比如有一个学生表,字段为学号,姓名,电话,住址等。有一个成绩表,字段有,课程id,学生id,分数等。有一个课程表,字段有,课程名,教师id等。如果我们需要查询某个学生某个课程的成绩即获取学生名,课程名,分数字段。就需要三个表连接查询。

首先你要明白连接查询是要耗费资源的。远没有在一个表快,所以当业务对这种连接查询过多,连接更复杂时,就会影响查询效率,拖慢响应时间。所以我们可能在某些表中加入一些字段用来减少表之间的连接。比如在成绩表中直接加入学号,学生姓名等字段,这就造成数据的冗余。

在数据库中的数据冗余大概是这么个意思:数据重复,浪费空间例如:

一个数据库中有两个表,一个表中有一字段存放某个人员的照片,如果在第二个表中再次存放照片就是典型的数据冗余

其实我们在描述一个对象的时候,这个对象又很多的属性在用数据库保存这些属性时,就应该将这些属性恰当的放到数据库中的某个具体的表中去设计好的表,数据冗余就小例如描述一个学生的属性有一些基本星信和成绩信息等,这样就应该将基本信息和成绩信息分成两个表分别存储,否则当你查看基本信息时,成绩信息就是多余的,影响性能,浪费时间

数据库冗余 指的多余的相同数据

举个例子

表 s (学号, 班级,姓名 ) c(课程名, 课程号 ) 表 cc(学号 课程号)

表 d(学号 班级 课程名)

学生选课关系 ,s表定义学生信息 ,c表定义课程信息 ,cc表定义选课信息

表 d则属于数据数据 , 因为表d可以用语句

select 学号 班级 课程名

from s,cc

where s学号=cc学号

来表示

以上就是关于什么是数据库中的数据冗余如何消除数据冗余全部的内容,包括:什么是数据库中的数据冗余如何消除数据冗余、excel工作表产生数据冗余的原因、电脑中冗余是什么意思等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9547767.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存