关系模式s<U,F>中存在的问题 3、插入异常 ■该插入的数据插不进去 例:如果一个系刚成立,尚无学生,我们就无法把这个系及其系 主任的信息存入数据库。 如果一个学生没有选修任何一门课程,则学生的信息无法插入。 4、删除异常 ■不该删除的数据不得不删 例:如果某个条的学生全部毕业了,我们在删除该系学生信息的 同时,把这个系及其系主任的信息也丢掉了。 如果一个学生就选了一门课,现在这门课也不选了,在删除选 课信息的同时这个学生的信息就会被删除。 An Introduction to Database System
An Introduction to Database System 关系模式s<U, F>中存在的问题 3.插入异常 ◼ 该插入的数据插不进去 例:如果一个系刚成立,尚无学生,我们就无法把这个系及其系 主任的信息存入数据库。 如果一个学生没有选修任何一门课程,则学生的信息无法插入。 4.删除异常 ◼ 不该删除的数据不得不删 例:如果某个系的学生全部毕业了,我们在删除该系学生信息的 同时,把这个系及其系主任的信息也丢掉了。 如果一个学生就选了一门课,现在这门课也不选了,在删除选 课信息的同时这个学生的信息就会被删除
关系模式s<U,F>中存在的问题 结论: ,s关系模式不是一个“好”的模式。 ,怎样的模式才是“好”的模式: 不会发生插入异常、删除异常,数据冗余应尽可能少。 原因:由存在于模式中的某些数据依赖引起的 解决方法:通过分解关系模式来消除其中不合适 的数据依赖。 An Introduction to Database System
An Introduction to Database System 关系模式s<U, F>中存在的问题 结论: ➢ s关系模式不是一个“好”的模式。 ➢ 怎样的模式才是“好”的模式: 不会发生插入异常、删除异常,数据冗余应尽可能少。 原因:由存在于模式中的某些数据依赖引起的 解决方法:通过分解关系模式来消除其中不合适 的数据依赖
6.2规范化 规范化理论正是用来改造关条模式, 通过分解关系模式来消除其中不合适的数 据依赖,以解决插入异常、删除异常和数 据兄余等问题。 An Introduction to Database System
An Introduction to Database System 6.2 规范化 规范化理论正是用来改造关系模式, 通过分解关系模式来消除其中不合适的数 据依赖,以解决插入异常、删除异常和数 据冗余等问题
6.2.1函数依赖 一、函数依赖 二、平凡函数依赖与非平凡函数依赖 三、完全函数依赖与部分函数依赖 四、传递函数依赖 An Introduction to Database System
An Introduction to Database System 6.2.1 函数依赖 一、函数依赖 二、平凡函数依赖与非平凡函数依赖 三、完全函数依赖与部分函数依赖 四、传递函数依赖
函数依赖 定义6.1设R(U)是一个属性集U上的关系模式,X和Y是U的 子集。 若对于R(U)的任意一个可能的关系r,K中不可能存 在两个元组在X上的属性值相等,而在Y上的属性值不等, 则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。 Y=f(x) An Introduction to Database System
An Introduction to Database System 一、函数依赖 定义6.1 设R(U)是一个属性集U上的关系模式,X和Y是U的 子集。 若对于R(U)的任意一个可能的关系r,r中不可能存 在两个元组在X上的属性值相等,而在Y上的属性值不等, 则称 “X函数确定Y” 或 “Y函数依赖于X”,记作X→Y。 Y=f(x)