穿越柯南之我是白马探:关系数据库,比如学生(学号,姓名,性别,班级)和课程(班级,名称)两个实体型的属性中的班级会产生冗余吗?

来源:百度文库 编辑:中科新闻网 时间:2020/04/10 21:46:01
关系数据库怎么减少冗余,比如学生(学号,姓名,性别,班级)和课程(班级,名称)两个实体型的属性中的班级会产生冗余吗?
请说出为什么

你所描述的两个实体间不会产生冗余。

答:数据冗余是指各个数据文件中存在重复的数据。理论上那就是冗余,但实际上这种冗余又是必要的,在建立联合查询时又必须用上它。只能说是减少冗余而不会说杜绝冗余!请看下面的比较就更明白些。

在文件管理系统中,数据被组织在一个个独立的数据文件中,每个文件都有完整的体系结构,对数据的操作是按文件名访问的。数据文件之间没有联系,数据文件是面向应用程序的。每个应用都拥有并使用自己的数据文件,各数据文件中难免有许多数据相互重复,数据的冗余度比较大。

数据库系统以数据库方式管理大量共享的数据。数据库系统由许多单独文件组成,文件内部具有完整的结构,但它更注重文件之间的联系。数据库系统中的数据具有共享性。数据库系统是面向整个系统的数据共享而建立的,各个应用的数据集中存储,共同使用,数据库文件之间联系密切,因而尽可能地避免了数据的重复存储,减少和控制了数据的冗余。