三、关系模式中存在异常的原因 异常现象产生的根源,就是由于关系模式中属性间存在着复杂 的依赖关系; 如学生学号和学生姓名、学生学号和院系名称、院系名称和院 系系领导之间都存在着依赖关系,这种依赖都称为数据依赖; 数据依赖是一个关系内部属性与属性之间的一种约束关系; 数据冗余的产生和数据依赖有着密切的关系
1 • 异常现象产生的根源,就是由于关系模式中属性间存在着复杂 的依赖关系; • 如学生学号和学生姓名、学生学号和院系名称、院系名称和院 系系领导之间都存在着依赖关系,这种依赖都称为数据依赖; • 数据依赖是一个关系内部属性与属性之间的一种约束关系; • 数据冗余的产生和数据依赖有着密切的关系。 三、关系模式中存在异常的原因
三、关系模式中存在异常的原因 数据依赖 是通过一个关系内部属性与属性之间的一种约束关系; 是语义的体现; ·是现实世界属性间相互联系的抽象; 是数据内在的性质; 2.数据依赖的类型 函数依赖( Functional Dependency,简记为FD) 多值依赖( Multivalued Dependency,简记为MVD) 其他
1 1. 数据依赖 • 是通过一个关系内部属性与属性之间的一种约束关系; • 是语义的体现; • 是现实世界属性间相互联系的抽象; • 是数据内在的性质; 2. 数据依赖的类型 • 函数依赖(Functional Dependency,简记为FD) • 多值依赖(Multivalued Dependency,简记为MVD) • 其他 三、关系模式中存在异常的原因
三、关系模式中存在异常的原因 函数依赖 函数依赖极普遍地存在现实生活中; 描述一个学生的关系:学生(学号、姓名、系名、系领导); 如果语义是:一个学号只对应的学生,一个学生只在一个系学习; 则:学号→姓名;学号→系名;系名→系领导; Y=F(x)函数,变量x确定后,相应y的值也确定了; 可写为: Sname=f(Sno), Sdept=f(Sno), Mname=f( Sdept) 称为: Sname和Sdep函数依赖于Sno, Mname函数依赖于 Sdept
1 函数依赖 函数依赖极普遍地存在现实生活中; 描述一个学生的关系:学生(学号、姓名、系名、系领导); 如果语义是:一个学号只对应的学生,一个学生只在一个系学习; 则:学号→姓名;学号→系名;系名→系领导; Y = F(x) 函数,变量x确定后,相应y的值也确定了; 可写为:Sname =f(Sno),Sdept =f(Sno),Mname =f(Sdept) 称为:Sname和Sdept函数依赖于Sno,Mname函数依赖于Sdept。 三、关系模式中存在异常的原因
三、关系模式中存在异常的原因 对于关系模式: Student={Sno, Sdept, Mname,Cno, Grade} 由语义可得出一组函数依赖 F={Sno→ Sdept, Sdept→→ Mname,(Sno,cno)→ Grade S no C no Grade Sdept Mname
1 对于关系模式:Student={Sno, Sdept, Mname, Cno, Grade } 由语义可得出一组函数依赖: F={Sno→Sdept, Sdept→Mname, (Sno, cno)→Grade } 三、关系模式中存在异常的原因 Sno Cno Sdept Mname Grade
三、关系模式中存在异常的原因 如何构造一个好的关系模式呢? 消除数据冗余,更新异常,插入异常和删除异常的关系模式; 2.如何改造关系模式? 分析一个关系模式有哪些数据依赖,消除不合适的数据依赖 这就是关系数据库设计过程中要讨论的规范化理论问题
1 1. 如何构造一个好的关系模式呢? 消除数据冗余,更新异常,插入异常和删除异常的关系模式; 2. 如何改造关系模式? • 分析一个关系模式有哪些数据依赖,消除不合适的数据依赖; • 这就是关系数据库设计过程中要讨论的规范化理论问题。 三、关系模式中存在异常的原因