数据依赖对关系模式的影响(续) Student关系模式不是一个好的模式 “好”的模式: 不会发生插入异常、删除异常、更新异常, 数据冗余应尽可能少。 原因:由存在于模式中的某些数据依赖引起的 解决方法:通过分解关系模式来消除其中不合适 的数据依赖 An Introduction to Database System
An Introduction to Database System 数据依赖对关系模式的影响(续) 结论: • Student关系模式不是一个好的模式。 • “好”的模式: 不会发生插入异常、删除异常、更新异常, 数据冗余应尽可能少。 原因:由存在于模式中的某些数据依赖引起的 解决方法:通过分解关系模式来消除其中不合适 的数据依赖
52规范化 规范化理论正是用来改造关系模式,通 过分解关系模式来消除其中不合适的数 据依赖,以解决插入异常、删除异常、 更新异常和数据冗余问题。 An Introduction to Database Sy
An Introduction to Database System 5.2 规范化 规范化理论正是用来改造关系模式,通 过分解关系模式来消除其中不合适的数 据依赖,以解决插入异常、删除异常、 更新异常和数据冗余问题
521函数依赖 函数依赖 二、平凡函数依赖与非平凡函数依赖 三、完全函数依赖与部分函数依赖 四、传递函数依赖 An Introduction to Database System
An Introduction to Database System 5.2.1 函数依赖 一、函数依赖 二、平凡函数依赖与非平凡函数依赖 三、完全函数依赖与部分函数依赖 四、传递函数依赖
函数依赖 定义51设R(U)是一个属性集U上的关系模式,Ⅹ和Y 是U的子集 若对于R(U)的任意一个可能的关系r,「中不可能存在 两个元组在X上的属性值相等,而在Y上的属性值不等, 则称“X函数确定Y”或“Y函数依赖于Ⅹ,记作Ⅹ→Y。 X称为这个函数依赖的决定属性集( Determinant) Y=f(x) An Introduction to Database System
An Introduction to Database System 一、函数依赖 定义5.1 设R(U)是一个属性集U上的关系模式,X和Y 是U的子集。 若对于R(U)的任意一个可能的关系r,r中不可能存在 两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称 “X函数确定Y” 或 “Y函数依赖于X”,记作X→Y。 X称为这个函数依赖的决定属性集(Determinant)。 Y=f(x)
说明 1.函数依赖不是指关系模式R的某个或某些关系实例满足的 约束条件,而是指R的所有关系实例均要满足的约束条件 2.函数依赖是语乂范畴的概念。只能根据数据的语义来确定 函数依赖。 例如“姓名→年龄”这个函数依赖只有在不允许有同名人 的条件下成立 3.数据库设计者可以对现实世界作强制的规定。例如规定不 允许同名人出现,函数依赖“姓名→年龄”成立。所插入 的元组必须满足规定的函数依赖,若发现有同名人存在, 则拒绝装入该元组。 An Introduction to Database System
An Introduction to Database System 说明: 1. 函数依赖不是指关系模式R的某个或某些关系实例满足的 约束条件,而是指R的所有关系实例均要满足的约束条件。 2. 函数依赖是语义范畴的概念。只能根据数据的语义来确定 函数依赖。 例如“姓名→年龄”这个函数依赖只有在不允许有同名人 的条件下成立 3. 数据库设计者可以对现实世界作强制的规定。例如规定不 允许同名人出现,函数依赖“姓名→年龄”成立。所插入 的元组必须满足规定的函数依赖,若发现有同名人存在, 则拒绝装入该元组