关系数据库的规范化理论.ppt
文本预览下载声明
模式分解要遵循两个原则: (1)无损连接:当对关系模式R 进行分解时,R的元组将分别在相应属性集进行投影而产生新的关系,如果对新的关系进行自然连接得到的元组的集合与原关系完全一致,则称无损连接 。 无损连接反映了模式分解的数据等价原则。 (2)保持依赖:分解前后总的函数依赖集应保持一致。 无损连接反映了模式分解的依赖等价原则。 第四章 关系数据库的规范化理论 本章内容 1、问题的提出 2、函数依赖 3、 关系范式 4、 函数依赖理论 5、 关系分解原则 4.1 问题的提出 学号 姓名 年龄 性别 系名 系主任 课程名 成绩 011121 王强 19 男 计算机 王金喜 操作系统 87 011132 李琳 18 女 信息 刘成 数据结构 90 020923 刘过 19 男 信息 刘成 C语言 97 021206 张克 20 男 数学 刘国民 高等数学 88 021511 吴雯 18 女 计算机 王金喜 软件工程 76 出现的问题: 1、数据冗余 2、修改异常 3、插入异常 4、删除异常 例:教学关系--S1实例 出现问题的原因: 有太多相互之间相联系的属性保存在了同一个关系模式中,这就造成因一种信息被捆绑在其他信息上而产生的信息之间相互依附存储的问题——数据依赖 解决问题的方法:将相互之间有太多依赖关系的属性分别存放在不同的关系中。 分解后的三个关系 学号 姓名 年龄 性别 系名 011121 王强 19 男 计算机 011132 李琳 18 女 信息 020923 刘过 19 男 信息 021206 张克 20 男 数学 021511 吴雯 18 女 计算机 系名 系主任 计算机 王金喜 信息 刘成 信息 刘成 数学 刘国民 计算机 王金喜 学号 课程名 成绩 011121 操作系统 87 011132 数据结构 90 020923 C语言 97 021206 高等数学 88 021511 软件工程 76 学生 S1 系 S2 选修 S3 4.2关系模式的函数依赖 4.2.1 函数依赖的相关定义 (1)函数依赖 定义4.1 设一个关系为R(U),X、Y是属性集U的子集。若对于元组中X上的每个值都有Y上的一个唯一值与之对应, 则称X和Y具有函数依赖关系,并称X函数决定Y,或称Y函数依赖于X,记作X?Y,称X为决定因素。(同书上的概念p106) 例1:设一个职工关系为(职工号,姓名,性别,年龄,职称) 职工号为决该函数依赖的决定因素 例2: U=(学号,姓名,性别,班级,系,课程号,成绩) 则其函数依赖情况是: F={学号?姓名,学号?性别,学号?班级,学号?系,班级?系,(学号,课程号)?成绩 } 注意:几点说明 4.2.2 函数依赖的类型 (1)平凡函数依赖与非平凡函数依赖 定义4.3 对于函数依赖X?Y,如果满足 ,则称此函数依赖为非平凡函数依赖, 否则称之为平凡函数依赖。 例如:学号?姓名,学号?性别,(学号,课程号)?成绩 等都是非平凡函数依赖。 例如: (学号,课程号)?学号,(学号,课程号)?课程号 是平凡函数依赖 对于任一关系模式,平凡函数依赖必然是成立的。 通常讨论的都是非平凡函数依赖。 (2)完全函数依赖与部分函数依赖 定义4.4 对于函数依赖X?Y,若Y函数依赖于X,但不依赖于X的任意一个真子集 ,则称Y完全函数依赖于X。记作: 例:(学号,课程号) 成绩 定义4.4 若Y函数依赖于X,但并非完全依赖于X,则称Y部分函数依赖于X,或称Y函数依赖于X的某个真子集。 记作: 例:(学号,课程号)?姓名 (学号,课程号) ?姓名,而对于每个学生都有唯一的学号值,所以 学号?姓名。因此(学号,课程号) 姓名 是部分函数依赖。 (3)传递函数依赖 定义4.5 如果X?Y,( ), , Y?Z,则称Z传递依赖于X。记作: 例:学号?班级,班级?系,学号 系 例:有以下班级关系: 班级(班号,专业名,系名,人数,入学年份) 其中,主码是班号。 经分析,有:班号?专业名,班号?人数,班号?入学年份,专业名?系名。 又因为:班号?专业名,专业名 班号,专业名?系名,所以有:班号 系名。 4.2.3 关键字的相关定义 1、关键字 定义:在关系模式R(U)中,若 ,且满足 ,则称K为R的候选键或候选关键字。 2、候选关键字、主关键字 3、主属性、非主属性、主属性集、非主属性集 4.2.4 函数依赖的推理规则 1、函数依赖的逻辑蕴涵 2、Armst
显示全部