
关系数据库设计理论 学时数:8学时 课程类型:理论
学时数:8学时 课程类型:理论 第四章 关系数据库设计理论

第四章关条数据库设计理论 教学目的 ·掌握函数依赖的概念 ·掌握关键字的概念 ·掌握第1、2、3和BCNF范式 ·掌握模式分解的方法 2023/7/17 天津中德职业技术学院信息工程系
2023/7/17 天津中德职业技术学院 信息工程系 2 教学目的 • 掌握函数依赖的概念 • 掌握关键字的概念 • 掌握第1、2、3和BCNF范式 • 掌握模式分解的方法 第四章关系数据库设计理论

第四章关条数据库设计理论 教学要求 牢记有关概念,掌握关系模式规范化的方法 教学重点 ·规范化问题的存在的原因 ·函数依赖、完全函数依赖、传递依赖、关键 字的定义 ·规范化过程 2023/7/17 3 天津中德职业技术学院信息工程系
2023/7/17 天津中德职业技术学院 信息工程系 3 教学要求 牢记有关概念,掌握关系模式规范化的方法 教学重点 • 规范化问题的存在的原因 • 函数依赖、完全函数依赖、传递依赖、关键 字的定义 • 规范化过程 第四章关系数据库设计理论

第四章关系数据库设计理论 课程章节 §4.1规范化问题 §4.2函数依赖 §4.3关系范式 2023/7/17 天津中德职业技术学院信息工程系
2023/7/17 天津中德职业技术学院 信息工程系 4 课程章节 §4.1规范化问题 §4.2函数依赖 §4.3关系范式 第四章关系数据库设计理论

第四章关条数据库设计理论 §4.1规范化问题 4.1.1讨论范围 关系数据库设计理论主要包括3方面的内容:数据依赖,范式 (normal forom),模式设计方法。数据依赖在此起着核心作用。 我们重点讨论函数依赖的概念,然后再介绍模式分解的标准,即 范式,为数据库的设计准备一定的基本理论基础。 2023/7117 天津中德职业技术学院信息工程系
2023/7/17 天津中德职业技术学院 信息工程系 5 §4.1 规范化问题 4.1.1 讨论范围 关系数据库设计理论主要包括3方面的内容:数据依赖,范式 (normal forom),模式设计方法。数据依赖在此起着核心作用。 我们重点讨论函数依赖的概念,然后再介绍模式分解的标准,即 范式,为数据库的设计准备一定的基本理论基础。 第四章关系数据库设计理论

第四章关条数据库设计理论 4.1.2存储异常问题 首先通过例子看一看某些不恰当的关系模式可能导致的 问题。例如,有教师任课模式TDC:TDC(T#,TNAME, TUITLE,ADDR,D#,DNAME,LOC,C#,CNAME,LEVEL CREDIT)其中各属性分别表示教师号、教师姓名、职称、教 师地址、系、系名称、系地址、课程号码、课程名、教学水 平、学分。 2023/7/17 天津中德职业技术学院信息工程系 6
2023/7/17 天津中德职业技术学院 信息工程系 6 4.1.2 存储异常问题 首先通过例子看一看某些不恰当的关系模式可能导致的 问题。例如,有教师任课模式TDC:TDC(T#,TNAME, TUITLE,ADDR,D#,DNAME,LOC,C#,CNAME,LEVEL, CREDIT)其中各属性分别表示教师号、教师姓名、职称、教 师地址、系、系名称、系地址、课程号码、课程名、教学水 平、学分。 第四章关系数据库设计理论

第四章关系数据库设计理论 该关系在使用过程中存在下面几个问题: 1.数据冗余 每当教师开设一门课程时,该教师的职称、地址等信息就重 复存储一次。一般每位教师都开设几门课,数据冗余不可避免。 一个系有很多教师,使关系中的数据冗余度很大。 2.更新异常 由于数据的重复存储,会给更新带来麻烦。如果一位任3门课 的教师改变了地址,3个元组的地址都要更新,一旦一个元组的 地址未修改就会导致数据不一致。如果某个系改变办公地址,所 要修改的数据量会更大。 2023/7/17 天津中德职业技术学院信息工程系
2023/7/17 天津中德职业技术学院 信息工程系 7 该关系在使用过程中存在下面几个问题: 1.数据冗余 每当教师开设一门课程时,该教师的职称、地址等信息就重 复存储一次。一般每位教师都开设几门课,数据冗余不可避免。 一个系有很多教师,使关系中的数据冗余度很大。 2.更新异常 由于数据的重复存储,会给更新带来麻烦。如果一位任3门课 的教师改变了地址,3个元组的地址都要更新,一旦一个元组的 地址未修改就会导致数据不一致。如果某个系改变办公地址,所 要修改的数据量会更大。 第四章关系数据库设计理论

第四章关条数据库设计理论 3.插入异常 如果学校新掉入一个教师,暂时未主讲任何课程。由于缺少 关键字的一部分,而关键字不允许出现空值,新教师就不能插 入到此关系中去。只有当他开设了课程之后才能插入,这是不 合理的。 4.删除异常 与插入异常相反,如果某些教师致力于科研不担任教学任务 了,就要从当前数据库中删除有关记录。那么关于这些教师的其 它信息将无法记载,这也是极不合理的。 上述在插入、删除或修改元组时产生的不希望发生的异常情 况是由于关系模式设计的不好造成的。如果用下面4个关系模式 代替原来的一个关系模式,上述4个方面的问题就基本解决了。 2023/7117 天津中德职业技术学院信息工程系
2023/7/17 天津中德职业技术学院 信息工程系 8 3.插入异常 如果学校新掉入一个教师,暂时未主讲任何课程。由于缺少 关键字的一部分,而关键字不允许出现空值,新教师就不能插 入到此关系中去。只有当他开设了课程之后才能插入,这是不 合理的。 4.删除异常 与插入异常相反,如果某些教师致力于科研不担任教学任务 了,就要从当前数据库中删除有关记录。那么关于这些教师的其 它信息将无法记载,这也是极不合理的。 上述在插入、删除或修改元组时产生的不希望发生的异常情 况是由于关系模式设计的不好造成的。如果用下面4个关系模式 代替原来的一个关系模式,上述4个方面的问题就基本解决了。 第四章关系数据库设计理论

第四章关条数据库设计理论 §4.2函数依赖 4.2.1属性间的联系 1.一对一联系 在读者关系中,借书证号是唯一的,如果读者没有重名的,姓 名与借书证号两个属性之间是1:1联系。姓名可以确定借书证号, 借书证号也可以确定姓名。 设X、Y为关系中的属性或属性组,它们的所有可能取值组成两 个集合。为简便起见,也叫X、Y,如果对于X中的任一具体值,中 至多有一个Y值与之相对应,并且对于Y中的任一具体值,中至多 有一个X值与之对应,称X、Y两个属性之间是一对一的关系。 2023/7117 天津中德职业技术学院信息工程系
2023/7/17 天津中德职业技术学院 信息工程系 9 §4.2 函数依赖 4.2.1 属性间的联系 1.一对一联系 在读者关系中,借书证号是唯一的,如果读者没有重名的,姓 名与借书证号两个属性之间是1:1联系。姓名可以确定借书证号, 借书证号也可以确定姓名。 设X、Y为关系中的属性或属性组,它们的所有可能取值组成两 个集合。为简便起见,也叫X、Y,如果对于X中的任一具体值,中 至多有一个Y值与之相对应,并且对于Y中的任一具体值,中至多 有一个X值与之对应,称X、Y两个属性之间是一对一的关系。 第四章关系数据库设计理论

第四章关系数据库设计理论 2.一对多联系 在读者关系中,一本书有若干副本,它们有相同的书名、作者、 分类号等,但每本书有唯一的编号。如果属性值集合X中的任一具体 值,至多与Y中的一个值相对应,而Y中的任一具体值却可以和X中的 多个值相对应,则称两个属性间从X到Y为m:1的联系。或从Y到X是 1:的联系。应当注意,这里指的是属性值个数的多少,而不是具 有相同属性值的有多少个元组,二者正好相反。书名与总编号之间是 1:m,即使一个书名与多个总编号与之对应。 2023/7/17 天津中德职业技术学院信息工程系 6
2023/7/17 天津中德职业技术学院 信息工程系 10 2.一对多联系 在读者关系中,一本书有若干副本,它们有相同的书名、作者、 分类号等,但每本书有唯一的编号。如果属性值集合X中的任一具体 值,至多与Y中的一个值相对应,而Y中的任一具体值却可以和X中的 多个值相对应,则称两个属性间从X到Y为m:1的联系。或从Y到X是 1:m的联系。应当注意,这里指的是属性值个数的多少,而不是具 有相同属性值的有多少个元组,二者正好相反。书名与总编号之间是 1:m,即使一个书名与多个总编号与之对应。 第四章关系数据库设计理论