关系数据理论(精品).ppt
《关系数据理论(精品).ppt》由会员分享,可在线阅读,更多相关《关系数据理论(精品).ppt(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、关系规范化理论关系规范化理论计算机与信息工程学院计算机与信息工程学院王王 冲冲关系规范化理论关系规范化理论 关系数据库的逻辑设计问题关系数据库的逻辑设计问题函数依赖函数依赖 范式范式模式的分解模式的分解ContentsContents数据库逻辑设计主要解决的问题:数据库逻辑设计主要解决的问题:u 数据库应该组织成几个关系模式数据库应该组织成几个关系模式u 关系模式中有包括哪些属性关系模式中有包括哪些属性u 属性之间具有什么样的关系属性之间具有什么样的关系关系数据库逻辑设计问题关系数据库逻辑设计问题例:某学校的教务管理系统需要以下信息例:某学校的教务管理系统需要以下信息学号、姓名、所属院系、负责
2、人、联系方式、课程、成绩学号、姓名、所属院系、负责人、联系方式、课程、成绩设计关系模式如下:设计关系模式如下:s(sno,sname,sdept,manger,email,course,grade)关系数据库逻辑设计问题关系数据库逻辑设计问题样本数据如下:样本数据如下:sno snamesdeptmangermailcoursegrade0803010126 高天高天计算机计算机李老师李老师计算机导论计算机导论64 0803010126 高天高天计算机计算机李老师李老师C语言语言720803010126 高天高天计算机计算机李老师李老师高数高数810802020230 黎明黎明计算机计算机李老
3、师李老师计算机导论计算机导论560802020230 黎明黎明计算机计算机李老师李老师英语英语62 0702010205 刘芳刘芳 经济管理经济管理章老师章老师会计理论会计理论760601020212 张新张新经济管理经济管理章老师章老师数学分析数学分析840601020212 张新张新机电机电吴老师吴老师自动化理论自动化理论930603010114李亮李亮机电机电吴老师吴老师自动化理论自动化理论68关系数据库逻辑设计问题关系数据库逻辑设计问题存在的问题:存在的问题:sno snamesdeptmangermailcoursegrade0803010126 高天高天计算机计算机李老师李老师计算
4、机导论计算机导论64 0803010126 高天高天计算机计算机李老师李老师C语言语言720803010126 高天高天计算机计算机李老师李老师高数高数810802020230 黎明黎明计算机计算机李老师李老师计算机导论计算机导论560802020230 黎明黎明计算机计算机李老师李老师英语英语62 0702010205 刘芳刘芳 经济管理经济管理章老师章老师会计理论会计理论760601020212 张新张新机电机电吴老师吴老师数学分析数学分析840601020212 张新张新机电机电吴老师吴老师自动化理论自动化理论930603010114李亮李亮机电机电吴老师吴老师自动化理论自动化理论68删
5、除行删除行会丢失很多数据会丢失很多数据修改行修改行数据不一致数据不一致插入行插入行数据缺少数据缺少?建工建工刘老师刘老师L_?u 删除异常(删除异常(学生毕业,教师信息一起消失学生毕业,教师信息一起消失)问题:删除操作后,一些相关信息无法保存在数据库中。问题:删除操作后,一些相关信息无法保存在数据库中。对该数据库操作时,会出现以下问题对该数据库操作时,会出现以下问题(不好的数据库设计不好的数据库设计):u 数据冗余(数据冗余(李老师、吴老师信息重复存储李老师、吴老师信息重复存储)问题:数据重复存储、浪费存储空间、数据库维护困难问题:数据重复存储、浪费存储空间、数据库维护困难u 插入异常(插入异
6、常(新来教师没有学生的成绩信息新来教师没有学生的成绩信息)问题:主码为空的记录不能存储,导致不能进行插入操作问题:主码为空的记录不能存储,导致不能进行插入操作u 更新异常(更新异常(教师邮件地址更换教师邮件地址更换)问题:更新操作时,无法将相关记录全部该字段值全部更新。问题:更新操作时,无法将相关记录全部该字段值全部更新。关系数据库逻辑设计问题关系数据库逻辑设计问题两个表的差别?两个表的差别?sno snameE-mailsdept0803010126高天高天计算机计算机0802020230黎明黎明计算机计算机0701020205刘芳刘芳 经济管理经济管理0601020212张新张新机电机电0
7、603010114李亮李亮机电机电sno snamesdeptmangermailcoursegrade0803010126 高天高天计算机计算机李老师李老师计算机导论计算机导论64 0803010126 高天高天计算机计算机李老师李老师C语言语言720803010126 高天高天计算机计算机李老师李老师高数高数810802020230 黎明黎明计算机计算机李老师李老师计算机导论计算机导论560802020230 黎明黎明计算机计算机李老师李老师英语英语62 0702010205 刘芳刘芳 经济管理经济管理章老师章老师会计理论会计理论760601020212 张新张新机电机电吴老师吴老师数学分
8、析数学分析840601020212 张新张新机电机电吴老师吴老师自动化理论自动化理论930603010114李亮李亮机电机电吴老师吴老师自动化理论自动化理论68该表中的所有数据和学生有关。该表中的所有数据和学生有关。即该表中只有一个主题。即该表中只有一个主题。如果一个列表含有的数据指示了两个或两个以上如果一个列表含有的数据指示了两个或两个以上主题时,修改数据就会出现问题。主题时,修改数据就会出现问题。sdeptmangermail计算机计算机李老师李老师经济管理经济管理章老师章老师机电机电吴老师吴老师sno snameE-mailsdept08030126高天高天计算机计算机08020230黎
9、明黎明计算机计算机07010205刘芳刘芳 经济管理经济管理06010212张新张新机电机电06030114李亮李亮机电机电插入行插入行添加负责人添加负责人时,可以不添加任何时,可以不添加任何学生。学生。建工建工刘老师刘老师L_删除行删除行删除学生时删除学生时不会丢失老师信息不会丢失老师信息修改行修改行修改老师信修改老师信息时,不会出现不一息时,不会出现不一致致sno coursegrade08030126 计算机导论计算机导论64 08030126 C语言语言7208030126 高数高数81u 解决的方法:在关系数据库设计理论(解决的方法:在关系数据库设计理论(规范化理论规范化理论)的指导
10、下选)的指导下选 择较好的关系模式集合择较好的关系模式集合学习关系规范化理论的指导意义:学习关系规范化理论的指导意义:u 设计一个好的关系数据库系统,关键是要设计一个好的数据库模设计一个好的关系数据库系统,关键是要设计一个好的数据库模 式(数据库逻辑设计问题),要消除以上的式(数据库逻辑设计问题),要消除以上的“弊病弊病”,把上面的,把上面的关关 系数据库模式分解为三个关系模式:系数据库模式分解为三个关系模式:关系数据库逻辑设计问题关系数据库逻辑设计问题student(sno,sname,e-mail,dept)deparment(dept,manger,e-mail)score(sno,cn
11、ame,grade)关系规范化理论关系规范化理论 关系数据库的逻辑设计问题关系数据库的逻辑设计问题函数依赖函数依赖 范式范式模式的分解模式的分解ContentsContents函数依赖函数依赖u 关系模式的描述关系模式的描述u 函数依赖的概念函数依赖的概念u 平凡函数依赖和非平凡函数依赖平凡函数依赖和非平凡函数依赖u 完全函数依赖和部分函数依赖完全函数依赖和部分函数依赖u 传递函数依赖传递函数依赖u 码的概念码的概念关系模式的描述关系模式的描述1、关系模式、关系模式 描述为:描述为:R(U,D,DOM,F)其中:其中:R为关系名称,为关系名称,U属性名集合,属性名集合,D为为U中属性所来自的中
12、属性所来自的 域,域,DOM为属性向域的映象的集合,为属性向域的映象的集合,F为属性间数据为属性间数据 的依赖关系集合。的依赖关系集合。数据依赖讨论的是根据属性间值的相等与否体现出来的数数据依赖讨论的是根据属性间值的相等与否体现出来的数据间的相互关系。据间的相互关系。如:限定组成关系的各元组必须满足的完整性约束条件。如:限定组成关系的各元组必须满足的完整性约束条件。属性的取值范围属性的取值范围 属性间的相互关联(即属性间的相互关联(即函数依赖函数依赖)简化:简化:R(U,F)2、数据依赖、数据依赖函数依赖函数依赖1、定义、定义 设设R(U)是一个关系模式,)是一个关系模式,U是是R的属性集合,
13、的属性集合,X、Y是是U的的子集。对于子集。对于R(U)的任意一个可能的关系)的任意一个可能的关系r,如果,如果r中不存在两个中不存在两个元组,它们在元组,它们在X上的属性相同,而在上的属性相同,而在Y上的属性不同,则称上的属性不同,则称“X函函数确定数确定Y”或或“Y函数依赖于函数依赖于X”。记作:记作:XY例:设有关系为学生例:设有关系为学生(学号,姓名,学号,姓名,年龄,年龄,所属院系所属院系)U=学号,姓名,年龄,所属院系学号,姓名,年龄,所属院系R(U):学生学生(学号,姓名,年龄,所属院系学号,姓名,年龄,所属院系)学号学号 姓名姓名年龄年龄所属院系所属院系S0001王立王立19计
14、算机计算机S0002 黎明黎明18计算机计算机S0003 张新张新18机电机电S0004王立王立20经济管理经济管理X Y子集:子集:X=学号学号 Y=姓名姓名 Z=所属院系所属院系r1:若定义若定义r1为学号和姓名之间的联系,则为学号和姓名之间的联系,则r1的元组有:的元组有:X(学号学号)Y(姓名姓名)S0001 王立王立S0002 黎明黎明S0003 张新张新S0004王立王立由于由于X列没有重复元素,而列没有重复元素,而Y列有重复元素,列有重复元素,所以有:所以有:r2:若定义若定义r2为姓名和所属院系之间的联系,则为姓名和所属院系之间的联系,则r2的元组有:的元组有:Y(姓名姓名)Z
15、(所属院系所属院系)王立王立计算机计算机黎明黎明计算机计算机张新张新机电机电王立王立经济管理经济管理由于由于Y列有重复元素,而列有重复元素,而Z列也有重复元素列也有重复元素所以:所以:函数依赖函数依赖X Y说明:说明:u 函数依赖是语义范畴的概念,它反映了一种语义完整性约束,只函数依赖是语义范畴的概念,它反映了一种语义完整性约束,只 能根据语义来确定一个函数依赖。能根据语义来确定一个函数依赖。u 函数依赖是指关系函数依赖是指关系R模式的模式的所有关系元组所有关系元组均应满足的约束条件,均应满足的约束条件,而不是关系模式中的而不是关系模式中的某个或某些元组某个或某些元组满足的约束条件。满足的约束
16、条件。u 如如XY,则,则X称为决定属性集。称为决定属性集。u 若若XY,并且,并且YX,则记为,则记为X Y。u Y不函数依赖于不函数依赖于X,记作,记作X Y。函数依赖函数依赖学号学号 姓名姓名年龄年龄所属院系所属院系S0001王立王立19计算机计算机S0002 黎明黎明18计算机计算机S0003 张新张新18机电机电S0004王立王立20经济管理经济管理吴严吴严u 叠加性叠加性(合并性合并性)若若XY,XZ 则则XYZu 分配性分配性(分解性分解性)若若XYZ 则则XY,XZu 扩张性扩张性 若若XY,WZ 则则XWYZu 投影性投影性 若若Y是是X的子集的子集 则则XY 一组属性函数决
17、定它的所有子集一组属性函数决定它的所有子集函数依赖的基本性质:函数依赖的基本性质:函数依赖函数依赖2、平凡函数依赖与非、平凡函数依赖与非平凡函数依赖平凡函数依赖定义:定义:在关系模式在关系模式R(U),),U是是R的属性集合,的属性集合,X,Y是是U的子集,的子集,如果如果 XY,但,但Y不包含于不包含于X,则称,则称XY是非平凡函数依赖,若是非平凡函数依赖,若Y包含于包含于X,则称,则称XY是平凡函数依赖。是平凡函数依赖。函数依赖函数依赖子集:子集:X=学号学号 Y=姓名姓名例:在关系学生例:在关系学生(学号,姓名,学号,姓名,年龄,年龄,所属院系所属院系)中中 学号学号 姓名姓名姓名姓名
18、学号学号 非平凡函数依赖集非平凡函数依赖集学号学号 姓名姓名定义:定义:在关系模式在关系模式R(U),),U是是R的属性集合,的属性集合,X,Y是是U的子集。如的子集。如果果 XY,并且对于,并且对于X的任何一个真子集的任何一个真子集X1,都有,都有X1 Y,则称,则称“Y完全函数依赖于完全函数依赖于X”,记作:,记作:X Y。3、完全函数依赖与部分、完全函数依赖与部分函数依赖函数依赖 若若XY,但,但Y不完全函数依赖于不完全函数依赖于X,则称,则称Y部分函数依赖部分函数依赖X,记,记作:作:X Y。pf例:设关系为选修课程(学号,姓名,课程名称,成绩)例:设关系为选修课程(学号,姓名,课程名
19、称,成绩)函数依赖有函数依赖有(学号,课程名称)(学号,课程名称)姓名姓名决定因子决定因子fp函数依赖函数依赖学号学号姓名姓名课程名称课程名称成绩成绩S0001 王立王立计算机导论计算机导论64 S0001 王立王立C语言语言72S0001 王立王立高数高数81S0002黎明黎明计算机导论计算机导论56S0002 黎明黎明英语英语62 S0003 张新张新自动化理论自动化理论84S0003 张新张新数学分析数学分析93S0004王立王立会计学会计学68(学号,课程名称)(学号,课程名称)成绩成绩学号学号 课程名称课程名称学号学号 成绩成绩学号学号 姓名姓名课程名称课程名称 成绩成绩 4、传递函
20、数依赖、传递函数依赖定义:定义:在关系模式在关系模式R(U),如果),如果 XY,YZ,且,且Y不包含于不包含于X,且且Z不包含于不包含于Y,Y X,则称,则称“Z传递函数依赖于传递函数依赖于X”,记作:,记作:XZ例:学生(学号,姓名,所属院系,负责人)例:学生(学号,姓名,所属院系,负责人)函数依赖有:函数依赖有:学号学号 姓名姓名所属院系所属院系负责人负责人学号学号负责人负责人函数依赖函数依赖学号学号姓名姓名课程名称课程名称负责人负责人S0001 王立王立计算机计算机李老师李老师S0002黎明黎明计算机计算机李老师李老师S0003 张新张新机电机电吴老师吴老师S0004王立王立经济管理经
21、济管理章老师章老师5、码的形式定义、码的形式定义u 定义定义 在关系模式在关系模式R(U)中,中,K是是U中的属性或属性组,如果中的属性或属性组,如果K U,则称则称K为关系为关系R(U)的一个的一个候选码候选码;若关系候选码多于一个,则选;若关系候选码多于一个,则选 定其中一个作为定其中一个作为主码主码。其中包含在任意一个候选码中的属性称为。其中包含在任意一个候选码中的属性称为 主属性主属性,不包含在任意一个候选码中的属性称为,不包含在任意一个候选码中的属性称为非主属性。非主属性。u 候选码的两个性质候选码的两个性质 标识的唯一性:标识的唯一性:对于对于R(U)中的每一元组,中的每一元组,K
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 数据 理论 精品
限制150内