x0102期数据库应用技术项目01项目数据库设计任务4范式

上传人:博****1 文档编号:589099044 上传时间:2024-09-09 格式:PPT 页数:50 大小:1.10MB
返回 下载 相关 举报
x0102期数据库应用技术项目01项目数据库设计任务4范式_第1页
第1页 / 共50页
x0102期数据库应用技术项目01项目数据库设计任务4范式_第2页
第2页 / 共50页
x0102期数据库应用技术项目01项目数据库设计任务4范式_第3页
第3页 / 共50页
x0102期数据库应用技术项目01项目数据库设计任务4范式_第4页
第4页 / 共50页
x0102期数据库应用技术项目01项目数据库设计任务4范式_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《x0102期数据库应用技术项目01项目数据库设计任务4范式》由会员分享,可在线阅读,更多相关《x0102期数据库应用技术项目01项目数据库设计任务4范式(50页珍藏版)》请在金锄头文库上搜索。

1、数据库应用技术数据库应用技术课程课程1数据库应用技术数据库应用技术课程课程2数据库应用技术数据库应用技术课程课程3例如:产品报价数据库例如:产品报价数据库数据库应用技术数据库应用技术课程课程41.5 关系的完整性规则关系的完整性规则关系数据库规范化理论关系数据库规范化理论关系数据库规范化理论关系数据库规范化理论 n n一个数据库应用系统往往涉及到多方面的复杂的数据信息。一个数据库应用系统往往涉及到多方面的复杂的数据信息。n n例如,在学生管理信息系统中例如,在学生管理信息系统中, ,要涉及到学生、院系、宿舍、要涉及到学生、院系、宿舍、课程、成绩等数据。课程、成绩等数据。n n例如,在产品销售数

2、据库中设计到产品、类别、仓库、销例如,在产品销售数据库中设计到产品、类别、仓库、销售单、销售明细单等数据。售单、销售明细单等数据。n n如何将所涉及到的数据组织存入到数据库中?是放在一个如何将所涉及到的数据组织存入到数据库中?是放在一个表中存放还是分放在几个表中存放?每个表应由哪些属性表中存放还是分放在几个表中存放?每个表应由哪些属性组成?怎样设计才是科学合理的呢?组成?怎样设计才是科学合理的呢?n n解决之法是用解决之法是用RDBRDB设计理论:设计理论:规范化理论规范化理论规范化理论规范化理论编辑ppt数据库应用技术数据库应用技术课程课程5关系数据库规范化理论关系数据库规范化理论关系数据库

3、规范化理论关系数据库规范化理论 建立一个关系数据库系统,首先要考虑怎样建立一个关系数据库系统,首先要考虑怎样建立数据模式,即应该建立数据模式,即应该构造几个关系模式构造几个关系模式,每个,每个关系模式中需要包含关系模式中需要包含哪些属性哪些属性等,这是数据库设等,这是数据库设计的问题。关系规范化主要讨论的就是建立关系计的问题。关系规范化主要讨论的就是建立关系模式的指导原则,所以有人把关系数据库规范化模式的指导原则,所以有人把关系数据库规范化理论称为设计关系数据库的规范化理论。理论称为设计关系数据库的规范化理论。1.5 关系的完整性规则关系的完整性规则编辑ppt数据库应用技术数据库应用技术课程课

4、程61.5.1 1.5.1 1.5.1 1.5.1 关系模型的完整性规则关系模型的完整性规则关系模型的完整性规则关系模型的完整性规则定义:定义:定义:定义:是对关系的某种约束条件,通过三类完整性是对关系的某种约束条件,通过三类完整性是对关系的某种约束条件,通过三类完整性是对关系的某种约束条件,通过三类完整性约束条件描述。约束条件描述。约束条件描述。约束条件描述。 (1)(1)实体完整性实体完整性实体完整性实体完整性:关系中的关系中的关系中的关系中的主关键字不能为空主关键字不能为空主关键字不能为空主关键字不能为空。如。如。如。如学生关系中的学生关系中的学生关系中的学生关系中的“ “学号学号学号学

5、号” ”属性值不能为空。属性值不能为空。属性值不能为空。属性值不能为空。( (一个关系对应现实世界一个关系对应现实世界一个关系对应现实世界一个关系对应现实世界的一个实体集,关系中每个元组对应一个实体。实的一个实体集,关系中每个元组对应一个实体。实的一个实体集,关系中每个元组对应一个实体。实的一个实体集,关系中每个元组对应一个实体。实体都具有体都具有体都具有体都具有唯一性标识。唯一性标识。唯一性标识。唯一性标识。)1.5 关系的完整性规则关系的完整性规则编辑ppt数据库应用技术数据库应用技术课程课程71.1.1.1.关系模型的完整性规则关系模型的完整性规则关系模型的完整性规则关系模型的完整性规则

6、(2)(2)参照完整性:参照完整性:参照完整性:参照完整性:关系中关系中关系中关系中外关键字外关键字外关键字外关键字的取值,只能是空值或外的取值,只能是空值或外的取值,只能是空值或外的取值,只能是空值或外键对应关系的主键值。键对应关系的主键值。键对应关系的主键值。键对应关系的主键值。外键:外键:外键:外键:A A是关系是关系是关系是关系R R中一属性中一属性中一属性中一属性, ,同时又是关系同时又是关系同时又是关系同时又是关系S S主键主键主键主键, ,则则则则A A为为为为R R外键外键外键外键 例:例:例:例:学生学生学生学生( (学号学号学号学号,姓名,年龄,性别,姓名,年龄,性别,姓名

7、,年龄,性别,姓名,年龄,性别,专业号专业号专业号专业号) )专业专业专业专业( (专业号专业号专业号专业号,专业名称,专业名称,专业名称,专业名称) )“ “学号学号学号学号” ”是关系是关系是关系是关系“ “学生学生学生学生” ”中的中的中的中的主关键字主关键字主关键字主关键字,输入时值,输入时值,输入时值,输入时值不能为空不能为空不能为空不能为空。 “ “专业号专业号专业号专业号” ”是关系是关系是关系是关系“ “专业专业专业专业” ”的的的的外键外键外键外键:空值空值空值空值:表示尚未给该学生分配专业:表示尚未给该学生分配专业:表示尚未给该学生分配专业:表示尚未给该学生分配专业非空值非

8、空值非空值非空值:必须是目标关系:必须是目标关系:必须是目标关系:必须是目标关系“ “专业专业专业专业” ”关系中某个元组的关系中某个元组的关系中某个元组的关系中某个元组的“ “专业号专业号专业号专业号” ”值值值值(1)(1)(1)(1)实体完整性实体完整性实体完整性实体完整性:1.5 关系的完整性规则关系的完整性规则编辑ppt数据库应用技术数据库应用技术课程课程8参照完整性例参照完整性例学号学号姓名姓名所在系所在系9901990299039904张三李四王五赵六计算机计算机计算机计算机课程号课程号课程名课程名学时数学时数C01C02C03C04高等数学数据结构操作系统数据库10070806

9、0学号学号课程号课程号成绩成绩99019901990299049904C01C02C04C04C039080908570学生关系学生关系学生关系学生关系课程关系课程关系课程关系课程关系学习成绩关系学习成绩关系学习成绩关系学习成绩关系外键外键外键外键主键主键主键主键数据库应用技术数据库应用技术课程课程9职工号职工号 部门编号部门编号 姓名姓名9801980298039804980501010203张三张三李四李四王五王五赵六赵六钱七钱七部门编号部门编号部门名称部门名称01020304经理办公室经理办公室人事部人事部公关部公关部技术部技术部职工表职工表职工表职工表( (R2)R2)部门表部门表部门

10、表部门表( (R1)R1)主键主键主键主键外键外键外键外键参照完整性例参照完整性例外键外键外键外键的取值,可以是的取值,可以是的取值,可以是的取值,可以是空值空值空值空值或外键对应关系的或外键对应关系的或外键对应关系的或外键对应关系的主键值主键值主键值主键值。数据库应用技术数据库应用技术课程课程10例:设有关系例:设有关系例:设有关系例:设有关系R R R R(A A A A,B B B B,C C C C)和)和)和)和S S S S(D D D D,A A A A),如图所示,),如图所示,),如图所示,),如图所示,R R R R的主键为的主键为的主键为的主键为A A A A,S S S

11、 S的主键为的主键为的主键为的主键为D D D D且外键为且外键为且外键为且外键为A. A. A. A. 则关系则关系则关系则关系S S S S中违反参照完整性约束的元组是()中违反参照完整性约束的元组是()中违反参照完整性约束的元组是()中违反参照完整性约束的元组是()A.A.A.A.(1 1 1 1,2 2 2 2) B.B.B.B.(2 2 2 2,NULLNULLNULLNULL)C.C.C.C.(3 3 3 3,3 3 3 3) D.D.D.D.(4 4 4 4,4 4 4 4) 数据库应用技术数据库应用技术课程课程111.1.1.1.关系模型的完整性规则关系模型的完整性规则关系模型

12、的完整性规则关系模型的完整性规则(2)(2)参照完整性:参照完整性:参照完整性:参照完整性:(1)(1)实体完整性实体完整性实体完整性实体完整性:(3)(3)用户定义完整性:用户定义完整性:用户定义完整性:用户定义完整性:通常定义除主关键字与外关键字之外的通常定义除主关键字与外关键字之外的通常定义除主关键字与外关键字之外的通常定义除主关键字与外关键字之外的其他属性其他属性其他属性其他属性取值取值取值取值的约束。的约束。的约束。的约束。前两种是任何关系数据库系统应满足的数据约束条件。前两种是任何关系数据库系统应满足的数据约束条件。前两种是任何关系数据库系统应满足的数据约束条件。前两种是任何关系数

13、据库系统应满足的数据约束条件。用户定义完整性是用户定义完整性是用户定义完整性是用户定义完整性是用户定义具体数据库时,由具体应用环用户定义具体数据库时,由具体应用环用户定义具体数据库时,由具体应用环用户定义具体数据库时,由具体应用环境来决定应满足的约束条件。境来决定应满足的约束条件。境来决定应满足的约束条件。境来决定应满足的约束条件。例:例:例:例: 性别(男,女)性别(男,女)性别(男,女)性别(男,女)成绩(成绩(成绩(成绩(0 0100100)或)或)或)或(0-150)(0-150)课程学分课程学分课程学分课程学分(1(13 3)1.5 关系的完整性规则关系的完整性规则编辑ppt数据库应

14、用技术数据库应用技术课程课程12【任务描述任务描述任务描述任务描述】将将将将E-RE-R图转换为关系模式后,需对每个关系模图转换为关系模式后,需对每个关系模图转换为关系模式后,需对每个关系模图转换为关系模式后,需对每个关系模式检查,判断是否最优,其方法是检查关系模式是否符合第式检查,判断是否最优,其方法是检查关系模式是否符合第式检查,判断是否最优,其方法是检查关系模式是否符合第式检查,判断是否最优,其方法是检查关系模式是否符合第几范式。几范式。几范式。几范式。【任务分析任务分析任务分析任务分析】要对每个关系模式用范式的标准进行检查,从要对每个关系模式用范式的标准进行检查,从要对每个关系模式用范

15、式的标准进行检查,从要对每个关系模式用范式的标准进行检查,从一范式,到二范式,直到满足三范式的要求,若不满足三范一范式,到二范式,直到满足三范式的要求,若不满足三范一范式,到二范式,直到满足三范式的要求,若不满足三范一范式,到二范式,直到满足三范式的要求,若不满足三范式的要求,对不满足三范式的关系模式进行分解,直到满足式的要求,对不满足三范式的关系模式进行分解,直到满足式的要求,对不满足三范式的关系模式进行分解,直到满足式的要求,对不满足三范式的关系模式进行分解,直到满足为止。为止。为止。为止。【任务实现任务实现任务实现任务实现】项目一、学生成绩的数据库设计项目一、学生成绩的数据库设计项目一、

16、学生成绩的数据库设计项目一、学生成绩的数据库设计任务任务8:用三范式规范项目数据库的设计:用三范式规范项目数据库的设计数据库应用技术数据库应用技术课程课程13n n在概念设计阶段,不同的人从不同的角度,标示出不同的在概念设计阶段,不同的人从不同的角度,标示出不同的在概念设计阶段,不同的人从不同的角度,标示出不同的在概念设计阶段,不同的人从不同的角度,标示出不同的实体,实体又包含不同的属性,结果设计出不同的实体,实体又包含不同的属性,结果设计出不同的实体,实体又包含不同的属性,结果设计出不同的实体,实体又包含不同的属性,结果设计出不同的E-RE-RE-RE-R图,图,图,图,然后将然后将然后将然

17、后将E-RE-RE-RE-R图转换为关系模式(数据表图转换为关系模式(数据表图转换为关系模式(数据表图转换为关系模式(数据表) ) ) )。n n如何审核这些设计?判断是否最优?一般通过数据库设计如何审核这些设计?判断是否最优?一般通过数据库设计如何审核这些设计?判断是否最优?一般通过数据库设计如何审核这些设计?判断是否最优?一般通过数据库设计符合第几范式来判断。符合第几范式来判断。符合第几范式来判断。符合第几范式来判断。n n规范化理论是研究如何将一个不好的关系模式转化为好的规范化理论是研究如何将一个不好的关系模式转化为好的规范化理论是研究如何将一个不好的关系模式转化为好的规范化理论是研究如

18、何将一个不好的关系模式转化为好的关系模式的理论,规范化理论是围绕范式而建立的。关系模式的理论,规范化理论是围绕范式而建立的。关系模式的理论,规范化理论是围绕范式而建立的。关系模式的理论,规范化理论是围绕范式而建立的。n n规范化理论认为:一个关系数据库中所有的关系,都应满规范化理论认为:一个关系数据库中所有的关系,都应满规范化理论认为:一个关系数据库中所有的关系,都应满规范化理论认为:一个关系数据库中所有的关系,都应满足一定的规范(约束条件足一定的规范(约束条件足一定的规范(约束条件足一定的规范(约束条件) ) ) )n n关系规范化的目的:关系规范化的目的:关系规范化的目的:关系规范化的目的

19、:是消除关系模式中的数据冗余,以解是消除关系模式中的数据冗余,以解是消除关系模式中的数据冗余,以解是消除关系模式中的数据冗余,以解决数据更新、插入、删除时发生的异常现象。决数据更新、插入、删除时发生的异常现象。决数据更新、插入、删除时发生的异常现象。决数据更新、插入、删除时发生的异常现象。相关知识相关知识相关知识相关知识关系数据库规范化理论关系数据库规范化理论数据库应用技术数据库应用技术课程课程14n n通常将关系数据库规范过中(优化过程中通常将关系数据库规范过中(优化过程中通常将关系数据库规范过中(优化过程中通常将关系数据库规范过中(优化过程中) ) ) )为规范化程度要为规范化程度要为规范

20、化程度要为规范化程度要求设立的不同标准称为求设立的不同标准称为求设立的不同标准称为求设立的不同标准称为范式范式范式范式。n n在关系规范化中,通常将关系分为在关系规范化中,通常将关系分为在关系规范化中,通常将关系分为在关系规范化中,通常将关系分为5 5 5 5个级别,即个级别,即个级别,即个级别,即5 5 5 5种范式。种范式。种范式。种范式。n n满足最低条件的称为第一范式,简称满足最低条件的称为第一范式,简称满足最低条件的称为第一范式,简称满足最低条件的称为第一范式,简称1NF1NF1NF1NF。n n1NF1NF1NF1NF是关系模式应满足的起码条件。在是关系模式应满足的起码条件。在是关

21、系模式应满足的起码条件。在是关系模式应满足的起码条件。在1NF1NF1NF1NF范式的基础上进一范式的基础上进一范式的基础上进一范式的基础上进一步满足一些要求的可升级为步满足一些要求的可升级为步满足一些要求的可升级为步满足一些要求的可升级为2NF2NF2NF2NF范式,依次类推。标准越高,范式,依次类推。标准越高,范式,依次类推。标准越高,范式,依次类推。标准越高,对应关系数据库的规范程度越高。对应关系数据库的规范程度越高。对应关系数据库的规范程度越高。对应关系数据库的规范程度越高。一般的应用满足第三范式一般的应用满足第三范式一般的应用满足第三范式一般的应用满足第三范式即可。即可。即可。即可。

22、n n一个低一级范式的关系模式,通过一个低一级范式的关系模式,通过一个低一级范式的关系模式,通过一个低一级范式的关系模式,通过分解分解分解分解可能转换为若干个高可能转换为若干个高可能转换为若干个高可能转换为若干个高一级的关系模式,这种过程称为一级的关系模式,这种过程称为一级的关系模式,这种过程称为一级的关系模式,这种过程称为关系的规范化。关系的规范化。关系的规范化。关系的规范化。相关知识相关知识相关知识相关知识关系数据库规范化理论关系数据库规范化理论数据库应用技术数据库应用技术课程课程15关系数据库规范化理论关系数据库规范化理论n n一、问题的提出一、问题的提出一、问题的提出一、问题的提出课号

23、课号课号课号课名课名课名课名学分学分学分学分学时学时学时学时课程课程课程课程学生学生学生学生选修选修选修选修n nmm学号学号学号学号姓名姓名姓名姓名性别性别性别性别年龄年龄年龄年龄成绩成绩课程课程课程课程( (课号课号课号课号,课名,学分,学时,课名,学分,学时,课名,学分,学时,课名,学分,学时) )学生学生学生学生( (学号学号学号学号,姓名,性别,年龄,姓名,性别,年龄,姓名,性别,年龄,姓名,性别,年龄) )选修选修选修选修( (学号,课号学号,课号学号,课号学号,课号,成绩成绩成绩成绩) )选修选修选修选修( (学号,课号学号,课号学号,课号学号,课号,姓名,性别,课名姓名,性别,

24、课名姓名,性别,课名姓名,性别,课名,成绩成绩成绩成绩) )有人希望用一个关系替代其它两个关系有人希望用一个关系替代其它两个关系有人希望用一个关系替代其它两个关系有人希望用一个关系替代其它两个关系主键是:主键是:学号,课号学号,课号学号,课号学号,课号相关知识相关知识相关知识相关知识数据库应用技术数据库应用技术课程课程16关系数据库规范化理论关系数据库规范化理论n n问题的提出问题的提出问题的提出问题的提出这个关系存在的问题是:这个关系存在的问题是:这个关系存在的问题是:这个关系存在的问题是:(1 1)数据冗余)数据冗余)数据冗余)数据冗余 当一个学生选修多门课程就会出现数据冗余。当一个学生选

25、修多门课程就会出现数据冗余。当一个学生选修多门课程就会出现数据冗余。当一个学生选修多门课程就会出现数据冗余。学号学号学号学号姓名姓名姓名姓名性别性别性别性别课号课号课号课号课名课名课名课名成绩成绩成绩成绩S10102S10102S10102S10102王华王华王华王华男男男男C108C108C108C108C C C C语言语言语言语言84848484S10102S10102S10102S10102王华王华王华王华男男男男C206C206C206C206数据库数据库数据库数据库92929292S10102S10102S10102S10102王华王华王华王华男男男男C204C204C204C20

26、4体育体育体育体育92929292S10103S10103S10103S10103刘丽刘丽刘丽刘丽女女女女C204C204C204C204体育体育体育体育78787878数据库应用技术数据库应用技术课程课程17关系数据库规范化理论关系数据库规范化理论这个关系存在的问题是:这个关系存在的问题是:这个关系存在的问题是:这个关系存在的问题是:(2 2)更新异常)更新异常)更新异常)更新异常 由于数据冗余,当更新某些数据项时,就有可能一部分字段由于数据冗余,当更新某些数据项时,就有可能一部分字段由于数据冗余,当更新某些数据项时,就有可能一部分字段由于数据冗余,当更新某些数据项时,就有可能一部分字段修改

27、了而另一部分字段未修改。造成数据的不一致。修改了而另一部分字段未修改。造成数据的不一致。修改了而另一部分字段未修改。造成数据的不一致。修改了而另一部分字段未修改。造成数据的不一致。学号学号学号学号姓名姓名姓名姓名性别性别性别性别课号课号课号课号课名课名课名课名成绩成绩成绩成绩S10102S10102S10102S10102王华王华王华王华男男男男C108C108C108C108C C C C语言语言语言语言84848484S10102S10102S10102S10102王华王华王华王华女女女女C206C206C206C206数据库数据库数据库数据库92929292S10102S10102S10

28、102S10102王华王华王华王华男男男男C206C206C206C206体育体育体育体育92929292S10103S10103S10103S10103刘丽刘丽刘丽刘丽女女女女C204C204C204C204体育体育体育体育78787878数据库应用技术数据库应用技术课程课程18关系数据库规范化理论关系数据库规范化理论这个关系存在的问题是:这个关系存在的问题是:这个关系存在的问题是:这个关系存在的问题是:(3 3)插入异常)插入异常)插入异常)插入异常 如果某个学生未选修课程,则其学号,姓名,性别属性值无如果某个学生未选修课程,则其学号,姓名,性别属性值无如果某个学生未选修课程,则其学号,姓

29、名,性别属性值无如果某个学生未选修课程,则其学号,姓名,性别属性值无法插入,因为其课号为空。法插入,因为其课号为空。法插入,因为其课号为空。法插入,因为其课号为空。(主键不能为空或部分为空)(主键不能为空或部分为空)(主键不能为空或部分为空)(主键不能为空或部分为空)学号学号学号学号姓名姓名姓名姓名性别性别性别性别课号课号课号课号课名课名课名课名成绩成绩成绩成绩S10101S10101S10101S10101王华王华王华王华男男男男S10102S10102S10102S10102王华王华王华王华男男男男C206C206C206C206数据库数据库数据库数据库92929292S10102S101

30、02S10102S10102王华王华王华王华男男男男C204C204C204C204体育体育体育体育92929292S10103S10103S10103S10103刘丽刘丽刘丽刘丽女女女女C204C204C204C204体育体育体育体育78787878数据库应用技术数据库应用技术课程课程19关系数据库规范化理论关系数据库规范化理论这个关系存在的问题是:这个关系存在的问题是:这个关系存在的问题是:这个关系存在的问题是:(4 4)删除异常)删除异常)删除异常)删除异常 当删除所有学生成绩时,所有当删除所有学生成绩时,所有当删除所有学生成绩时,所有当删除所有学生成绩时,所有学号,姓名,性别学号,姓名

31、,性别学号,姓名,性别学号,姓名,性别属性值也被属性值也被属性值也被属性值也被删除。删除。删除。删除。学号学号学号学号姓名姓名姓名姓名性别性别性别性别课号课号课号课号课名课名课名课名成绩成绩成绩成绩S10101S10101S10101S10101王华王华王华王华男男男男C206C206C206C206C C C C语言语言语言语言96969696S10102S10102S10102S10102王华王华王华王华男男男男C206C206C206C206数据库数据库数据库数据库92929292S10102S10102S10102S10102王华王华王华王华男男男男C204C204C204C204体育

32、体育体育体育92929292S10103S10103S10103S10103刘丽刘丽刘丽刘丽女女女女C204C204C204C204体育体育体育体育78787878删除课程数据时,学生信息也被删除删除课程数据时,学生信息也被删除删除课程数据时,学生信息也被删除删除课程数据时,学生信息也被删除数据库应用技术数据库应用技术课程课程20 在在在在 选修选修选修选修 关系模式中,由于存在:关系模式中,由于存在:关系模式中,由于存在:关系模式中,由于存在:数据冗余、更新数据冗余、更新数据冗余、更新数据冗余、更新异常、插入异常、删除异常异常、插入异常、删除异常异常、插入异常、删除异常异常、插入异常、删除异

33、常问题,我们说,问题,我们说,问题,我们说,问题,我们说, 选修选修选修选修 关系关系关系关系模式不是一个好的关系模式。模式不是一个好的关系模式。模式不是一个好的关系模式。模式不是一个好的关系模式。 产生上述问题的原因产生上述问题的原因产生上述问题的原因产生上述问题的原因? ? 问题分析问题分析问题分析问题分析是因为关系中是因为关系中是因为关系中是因为关系中“ “包罗万象包罗万象包罗万象包罗万象” ”,内容太复杂了内容太复杂了内容太复杂了内容太复杂了。 怎样才能得到一个好的关系模式呢?解决怎样才能得到一个好的关系模式呢?解决怎样才能得到一个好的关系模式呢?解决怎样才能得到一个好的关系模式呢?解

34、决这些问题的办法就是重新设计数据库。这些问题的办法就是重新设计数据库。这些问题的办法就是重新设计数据库。这些问题的办法就是重新设计数据库。数据库应用技术数据库应用技术课程课程21方法方法方法方法:将:将:将:将 选修选修选修选修 关系模式关系模式关系模式关系模式分解分解分解分解为如下的为如下的为如下的为如下的3 3个关个关个关个关系系系系课程课程课程课程( (课号课号课号课号,课名,课名,课名,课名) )学生学生学生学生( (学号学号学号学号,姓名,性别,姓名,性别,姓名,性别,姓名,性别) )选修选修选修选修( (学号,课号学号,课号学号,课号学号,课号,成绩成绩成绩成绩) )学号学号学号学

35、号姓名姓名姓名姓名性别性别性别性别S10101S10101S10101S10101刘华刘华刘华刘华男男男男S10102S10102S10102S10102王华王华王华王华男男男男S10103S10103S10103S10103刘丽刘丽刘丽刘丽女女女女课号课号课号课号课名课名课名课名C108C108C108C108C C C C语言语言语言语言C206C206C206C206数据库数据库数据库数据库C204C204C204C204体育体育体育体育学号学号学号学号课号课号课号课号成绩成绩成绩成绩S10101S10101S10101S10101C108C108C108C10896969696S101

36、02S10102S10102S10102C206C206C206C20692929292S10102S10102S10102S10102C204C204C204C20492929292S10103S10103S10103S10103C204C204C204C20478787878学生表学生表课程表课程表选课表选课表经分解后,上述异常都得到了解决。经分解后,上述异常都得到了解决。经分解后,上述异常都得到了解决。经分解后,上述异常都得到了解决。分解的思想:一事一地分解的思想:一事一地分解的思想:一事一地分解的思想:一事一地数据库应用技术数据库应用技术课程课程22经分解后,上述异常都得到了解决。经分

37、解后,上述异常都得到了解决。n n首先是数据冗余问题,对于选修多门课程的学生,在学生首先是数据冗余问题,对于选修多门课程的学生,在学生首先是数据冗余问题,对于选修多门课程的学生,在学生首先是数据冗余问题,对于选修多门课程的学生,在学生表中只有一条记录,只需在选课表中存放对应的成绩记录,表中只有一条记录,只需在选课表中存放对应的成绩记录,表中只有一条记录,只需在选课表中存放对应的成绩记录,表中只有一条记录,只需在选课表中存放对应的成绩记录,同一学生的姓名、性别不会重复存放。同时课名也不出现同一学生的姓名、性别不会重复存放。同时课名也不出现同一学生的姓名、性别不会重复存放。同时课名也不出现同一学生

38、的姓名、性别不会重复存放。同时课名也不出现在选课表中,也避免课名的数据冗余。在选课表中,也避免课名的数据冗余。在选课表中,也避免课名的数据冗余。在选课表中,也避免课名的数据冗余。n n更新异常是由于数据冗余引起的,解决了数据冗余,数据更新异常是由于数据冗余引起的,解决了数据冗余,数据更新异常是由于数据冗余引起的,解决了数据冗余,数据更新异常是由于数据冗余引起的,解决了数据冗余,数据不一致性的问题自然就解决了。不一致性的问题自然就解决了。不一致性的问题自然就解决了。不一致性的问题自然就解决了。n n如某学生没有选课,仍可将学生信息插入到学生表中。如某学生没有选课,仍可将学生信息插入到学生表中。如

39、某学生没有选课,仍可将学生信息插入到学生表中。如某学生没有选课,仍可将学生信息插入到学生表中。n n当要删除所有学生成绩时,只从选课表中删除就是,而学当要删除所有学生成绩时,只从选课表中删除就是,而学当要删除所有学生成绩时,只从选课表中删除就是,而学当要删除所有学生成绩时,只从选课表中删除就是,而学生个人信息仍能保存。生个人信息仍能保存。生个人信息仍能保存。生个人信息仍能保存。数据库应用技术数据库应用技术课程课程23从而得出结论,一个好的关系模式应该具从而得出结论,一个好的关系模式应该具备以下四个条件:备以下四个条件:1. 尽可能少的数据冗余。尽可能少的数据冗余。2. 没有插入异常。没有插入异

40、常。3. 没有删除异常。没有删除异常。4. 没有更新异常没有更新异常。数据库应用技术数据库应用技术课程课程24 为什么将为什么将为什么将为什么将选课选课选课选课关系分解为三个关系后,所有异常问关系分解为三个关系后,所有异常问关系分解为三个关系后,所有异常问关系分解为三个关系后,所有异常问题就解决了呢?题就解决了呢?题就解决了呢?题就解决了呢?这是由于关系模式中某些属性之间存在这是由于关系模式中某些属性之间存在这是由于关系模式中某些属性之间存在这是由于关系模式中某些属性之间存在数据依赖数据依赖数据依赖数据依赖。我们采用。我们采用。我们采用。我们采用的的的的” ”分解分解分解分解” ”的方法,就能

41、很好的消除关系模式中不合适的数的方法,就能很好的消除关系模式中不合适的数的方法,就能很好的消除关系模式中不合适的数的方法,就能很好的消除关系模式中不合适的数据依赖。据依赖。据依赖。据依赖。 规范化理论正是用来改造关系模式,通过分解关系模规范化理论正是用来改造关系模式,通过分解关系模规范化理论正是用来改造关系模式,通过分解关系模规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异式来消除其中不合适的数据依赖,以解决插入异常、删除异式来消除其中不合适的数据依赖,以解决插入异常、删除异式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据

42、冗余问题。常、更新异常和数据冗余问题。常、更新异常和数据冗余问题。常、更新异常和数据冗余问题。 数据库应用技术数据库应用技术课程课程25二、函数依赖(二、函数依赖(数据依赖数据依赖)n n函数依赖函数依赖函数依赖函数依赖n n是指关系中各属性或属性组之间的相互依赖关系是指关系中各属性或属性组之间的相互依赖关系是指关系中各属性或属性组之间的相互依赖关系是指关系中各属性或属性组之间的相互依赖关系( ( ( (决定决定决定决定关系关系关系关系) ) ) )。它是关系规范化的理论基础。它是关系规范化的理论基础。它是关系规范化的理论基础。它是关系规范化的理论基础。设有关系:设有关系:设有关系:设有关系:

43、学生(学号,姓名,性别,出生日期,系名)学生(学号,姓名,性别,出生日期,系名)学生(学号,姓名,性别,出生日期,系名)学生(学号,姓名,性别,出生日期,系名)在这个关生系中,显然有:在这个关生系中,显然有:在这个关生系中,显然有:在这个关生系中,显然有:学生学号确定时,该学生的姓名将唯一确定(学生学号确定时,该学生的姓名将唯一确定(学生学号确定时,该学生的姓名将唯一确定(学生学号确定时,该学生的姓名将唯一确定(学号学号学号学号姓名姓名姓名姓名)学生学号确定时,该学生的系名将唯一确定(学生学号确定时,该学生的系名将唯一确定(学生学号确定时,该学生的系名将唯一确定(学生学号确定时,该学生的系名将

44、唯一确定(学号学号学号学号系名系名系名系名)1.1.1.1.概念、类型概念、类型概念、类型概念、类型数据库应用技术数据库应用技术课程课程26二、函数依赖(二、函数依赖(数据依赖数据依赖)n n函数依赖的定义函数依赖的定义函数依赖的定义函数依赖的定义n n给定一个关系模式给定一个关系模式给定一个关系模式给定一个关系模式R R R R(X X X X,Y Y Y Y),),),),X X X X和和和和Y Y Y Y都是都是都是都是R R R R的属性或属性组,的属性或属性组,的属性或属性组,的属性或属性组,对于对于对于对于X X X X的每个确定值在任何时刻的每个确定值在任何时刻的每个确定值在任

45、何时刻的每个确定值在任何时刻Y Y Y Y只有一个确定的值与之对应,只有一个确定的值与之对应,只有一个确定的值与之对应,只有一个确定的值与之对应,则称则称则称则称“ “X X X X函数决定函数决定函数决定函数决定Y Y Y Y” ”,或称为,或称为,或称为,或称为“ “Y Y Y Y函数依赖于函数依赖于函数依赖于函数依赖于X X X X” ”,X X X X称为决称为决称为决称为决定因素,记为:定因素,记为:定因素,记为:定因素,记为:X X X XY Y Y Y。1.1.1.1.概念、类型概念、类型概念、类型概念、类型n n函数依赖的类型函数依赖的类型n n完全函数依赖完全函数依赖完全函数

46、依赖完全函数依赖n n部分函数依赖部分函数依赖部分函数依赖部分函数依赖n n传递函数依赖传递函数依赖传递函数依赖传递函数依赖数据库应用技术数据库应用技术课程课程27二、函数依赖二、函数依赖n n定义定义n n如果属性如果属性如果属性如果属性Y Y Y Y函数依赖于函数依赖于函数依赖于函数依赖于复合属性复合属性复合属性复合属性X X X X,且不与,且不与,且不与,且不与X X X X的任的任的任的任何子集函数相依赖,则称何子集函数相依赖,则称何子集函数相依赖,则称何子集函数相依赖,则称“ “Y Y Y Y完全函数依赖于完全函数依赖于完全函数依赖于完全函数依赖于X X X X” ”。 n n示例

47、示例n n选修(选修(学号,课号学号,课号,成绩),成绩)“ “学号,课号学号,课号学号,课号学号,课号” ” “ “成绩成绩成绩成绩” ”,是完全函数依赖。,是完全函数依赖。,是完全函数依赖。,是完全函数依赖。成绩成绩完全函数依赖于完全函数依赖于完全函数依赖于完全函数依赖于学号学号学号学号+ +课号课号课号课号 2.2.2.2.完全函数依赖完全函数依赖完全函数依赖完全函数依赖数据库应用技术数据库应用技术课程课程28二、函数依赖二、函数依赖n n定义定义n n对于一个函数依赖:对于一个函数依赖:对于一个函数依赖:对于一个函数依赖:XYXYXYXY,如果存在,如果存在,如果存在,如果存在ZXZX

48、ZXZX(Z Z Z Z属于属于属于属于X X X X),且有),且有),且有),且有ZYZYZYZY成立,则称成立,则称成立,则称成立,则称“ “Y Y Y Y部分函数依赖于部分函数依赖于部分函数依赖于部分函数依赖于X X X X” ”。 n n示例示例n nSDC(SDC(SDC(SDC(学号学号学号学号,姓名,姓名,姓名,姓名,课程号课程号课程号课程号,成绩,系名,系主任,成绩,系名,系主任,成绩,系名,系主任,成绩,系名,系主任) ) ) )n n主码为复合码:学号主码为复合码:学号主码为复合码:学号主码为复合码:学号+ + + +课程号课程号课程号课程号n n“ “姓名、系名、系主任

49、姓名、系名、系主任姓名、系名、系主任姓名、系名、系主任” ”与主码是部分函数依赖与主码是部分函数依赖与主码是部分函数依赖与主码是部分函数依赖“ “学号,课号学号,课号学号,课号学号,课号” ” “ “成绩成绩成绩成绩” ”学号学号学号学号姓名姓名姓名姓名学号学号学号学号系名系名系名系名学号学号学号学号系主任系主任系主任系主任3.3.3.3.部分函数依赖(局部依赖)部分函数依赖(局部依赖)部分函数依赖(局部依赖)部分函数依赖(局部依赖)x xy yZ Z数据库应用技术数据库应用技术课程课程29二、函数依赖二、函数依赖n n定义定义n n在关系模式中,如果在关系模式中,如果在关系模式中,如果在关系

50、模式中,如果XY(XY(XY(XY(不能不能不能不能YX)YX)YX)YX),YZYZYZYZ,若存在若存在若存在若存在XZ XZ XZ XZ ,则称,则称,则称,则称“ “Z Z Z Z传递依赖于传递依赖于传递依赖于传递依赖于X X X X” ”。n n示例示例n n有如下的关系模式有如下的关系模式有如下的关系模式有如下的关系模式 SDSDSDSD(学号学号学号学号,姓名,系名,系主任),姓名,系名,系主任),姓名,系名,系主任),姓名,系名,系主任)“ “学号学号学号学号系名,系名系名,系名系名,系名系名,系名系主任系主任系主任系主任” ”,则系主任传递依赖,则系主任传递依赖,则系主任传递

51、依赖,则系主任传递依赖于学号。于学号。于学号。于学号。4.4.4.4.传递函数依赖传递函数依赖传递函数依赖传递函数依赖数据库应用技术数据库应用技术课程课程30三、关系的规范化三、关系的规范化n n引引n n在关系数据库的设计过程中,对于同一个问题,选用不在关系数据库的设计过程中,对于同一个问题,选用不在关系数据库的设计过程中,对于同一个问题,选用不在关系数据库的设计过程中,对于同一个问题,选用不同的关系模式,其性能的优劣是大不相同的,为了区分同的关系模式,其性能的优劣是大不相同的,为了区分同的关系模式,其性能的优劣是大不相同的,为了区分同的关系模式,其性能的优劣是大不相同的,为了区分关系模式的

52、优劣,人们常常把关系模式分为各种不同等关系模式的优劣,人们常常把关系模式分为各种不同等关系模式的优劣,人们常常把关系模式分为各种不同等关系模式的优劣,人们常常把关系模式分为各种不同等级的范式。级的范式。级的范式。级的范式。关系数据库的规范化过程中为不同程关系数据库的规范化过程中为不同程关系数据库的规范化过程中为不同程关系数据库的规范化过程中为不同程度的规范化要求设立的不同标准。度的规范化要求设立的不同标准。度的规范化要求设立的不同标准。度的规范化要求设立的不同标准。范式范式范式范式(Normal FormNormal Form)数据库应用技术数据库应用技术课程课程31三、关系的规范化三、关系的

53、规范化n n类型类型n n第一范式第一范式第一范式第一范式(1NF)(1NF)(1NF)(1NF)n n第二范式第二范式第二范式第二范式(2NF)(2NF)(2NF)(2NF)n n第三范式第三范式第三范式第三范式(3NF)(3NF)(3NF)(3NF) n n关系规范化的概念关系规范化的概念n n将低级范式转换为若干个高级范式过程。将低级范式转换为若干个高级范式过程。将低级范式转换为若干个高级范式过程。将低级范式转换为若干个高级范式过程。低低 高高1. 1. 1. 1. 概念和范式的类型概念和范式的类型概念和范式的类型概念和范式的类型uu每种范式都规定了一每种范式都规定了一每种范式都规定了一

54、每种范式都规定了一些限制约束条件。些限制约束条件。些限制约束条件。些限制约束条件。 数据库应用技术数据库应用技术课程课程32三、关系的规范化三、关系的规范化n n定义定义n n如果关系模式如果关系模式如果关系模式如果关系模式R R R R的每个属性是的每个属性是的每个属性是的每个属性是不可分解不可分解不可分解不可分解的基本数据项,的基本数据项,的基本数据项,的基本数据项,则称则称则称则称R R R R是属于是属于是属于是属于1NF1NF1NF1NF模式。模式。模式。模式。n n第一范式是对关系的最低要求。第一范式是对关系的最低要求。第一范式是对关系的最低要求。第一范式是对关系的最低要求。n n

55、示例示例示例示例: : : :判断哪一张表是判断哪一张表是判断哪一张表是判断哪一张表是1NF1NF1NF1NF?2.2.2.2.第一范式第一范式第一范式第一范式(1NF)(1NF)(1NF)(1NF)数据库应用技术数据库应用技术课程课程33n n即实体中某个属性不能有多个值或者不能有重复的属性。(在同一个表即实体中某个属性不能有多个值或者不能有重复的属性。(在同一个表即实体中某个属性不能有多个值或者不能有重复的属性。(在同一个表即实体中某个属性不能有多个值或者不能有重复的属性。(在同一个表中,同类字段不允许重复出现,在一个字段内也不允许存放多个数据项)中,同类字段不允许重复出现,在一个字段内也

56、不允许存放多个数据项)中,同类字段不允许重复出现,在一个字段内也不允许存放多个数据项)中,同类字段不允许重复出现,在一个字段内也不允许存放多个数据项)学号学号学号学号 课程编课程编课程编课程编号号号号课程名称课程名称课程名称课程名称 成绩成绩成绩成绩1 1 1 1课程编号课程编号课程编号课程编号数据库应用技术数据库应用技术课程课程34三、关系的规范化三、关系的规范化第一范式可能存在的问题:第一范式可能存在的问题:uu数据冗余:如各位老师的信息重复。数据冗余:如各位老师的信息重复。数据冗余:如各位老师的信息重复。数据冗余:如各位老师的信息重复。uu插入异常:如果要插入刘老师的个人信息,但刘老师未

57、开插入异常:如果要插入刘老师的个人信息,但刘老师未开插入异常:如果要插入刘老师的个人信息,但刘老师未开插入异常:如果要插入刘老师的个人信息,但刘老师未开课,会造成缺关键字课,会造成缺关键字课,会造成缺关键字课,会造成缺关键字“学号学号学号学号”、“课程号课程号课程号课程号”。uu删除异常:当要删除删除异常:当要删除删除异常:当要删除删除异常:当要删除 课程号课程号课程号课程号=“C3” =“C3” =“C3” =“C3” 的元组,会丢失李老的元组,会丢失李老的元组,会丢失李老的元组,会丢失李老师的信息。师的信息。师的信息。师的信息。uu修改量大修改量大修改量大修改量大。学号学号学号学号课号课号

58、课号课号成绩成绩成绩成绩教师教师教师教师教师年龄教师年龄教师年龄教师年龄办公室办公室办公室办公室01010101C1C1C1C190909090王王王王343434342-142-142-142-1401010101C2C2C2C278787878周周周周454545452-112-112-112-1102020202C1C1C1C177777777王王王王343434342-142-142-142-1403030303C3C3C3C389898989李李李李505050503-63-63-63-603030303C2C2C2C256565656周周周周454545452-112-112-11

59、2-1104040404C1C1C1C179797979王王王王343434342-142-142-142-142.2.2.2.第一范式第一范式第一范式第一范式(1NF)(1NF)(1NF)(1NF)数据库应用技术数据库应用技术课程课程35三、关系的规范化三、关系的规范化n n定义定义定义定义n n如果关系模式如果关系模式如果关系模式如果关系模式R R R R为第一范式,且为第一范式,且为第一范式,且为第一范式,且R R R R中中中中每个每个每个每个非主属性非主属性非主属性非主属性完全完全完全完全函数依赖函数依赖函数依赖函数依赖于于于于R R R R的主码的主码的主码的主码( ( ( (复合

60、码复合码复合码复合码) ) ) ),则称,则称,则称,则称R R R R为为为为2NF2NF2NF2NF模式。模式。模式。模式。不是。因为:不是。因为:“ “姓名、系名、系主任姓名、系名、系主任” ”与主码是部分函数依与主码是部分函数依赖(即:只依赖于学号)赖(即:只依赖于学号)解决方法:消除部分函数依赖。解决方法:消除部分函数依赖。解决方法:消除部分函数依赖。解决方法:消除部分函数依赖。分解分解分解分解3.3.3.3.第二范式第二范式第二范式第二范式(2NF)(2NF)(2NF)(2NF)n n示例示例示例示例n n下列关系模式是下列关系模式是下列关系模式是下列关系模式是1NF1NF1NF1

61、NF,是否是,是否是,是否是,是否是2NF2NF2NF2NF?为什么?为什么?为什么?为什么?SCDSCDSCDSCD(学号学号学号学号,姓名,姓名,姓名,姓名,课程号课程号课程号课程号,成绩,系名,系主任),成绩,系名,系主任),成绩,系名,系主任),成绩,系名,系主任)n n主码为复合码:学号主码为复合码:学号主码为复合码:学号主码为复合码:学号+ + + +课程号课程号课程号课程号数据库应用技术数据库应用技术课程课程36三、关系的规范化三、关系的规范化n n分解为分解为分解为分解为2NF2NF2NF2NF的方法:的方法:的方法:的方法:n n把把把把关关关关系系系系模模模模式式式式中中中

62、中对对对对主主主主码码码码完完完完全全全全函函函函数数数数依依依依赖赖赖赖的的的的非非非非主主主主属属属属性性性性与与与与决决决决定定定定它它它它们们们们的的的的主主主主码码码码放在一个关系模式中。放在一个关系模式中。放在一个关系模式中。放在一个关系模式中。n n把把把把对对对对主主主主码码码码部部部部分分分分函函函函数数数数依依依依赖赖赖赖的的的的非非非非主主主主属属属属性性性性和和和和决决决决定定定定它它它它们们们们的的的的主主主主属属属属性性性性放放放放在在在在一一一一个个个个关系模式中。关系模式中。关系模式中。关系模式中。n n检查分解后的新模式,如果仍不是检查分解后的新模式,如果仍不

63、是检查分解后的新模式,如果仍不是检查分解后的新模式,如果仍不是2NF2NF2NF2NF,则继续按照前面的方法,则继续按照前面的方法,则继续按照前面的方法,则继续按照前面的方法进行分解,直到达到要求。进行分解,直到达到要求。进行分解,直到达到要求。进行分解,直到达到要求。n n关系模式关系模式关系模式关系模式SCDSCDSCDSCD的分解结果如下:的分解结果如下:的分解结果如下:的分解结果如下:n nSCSCSCSC(学号学号学号学号,课程号课程号课程号课程号,成绩成绩成绩成绩)n nSDSDSDSD(学号学号学号学号,姓名,系名,系主任),姓名,系名,系主任),姓名,系名,系主任),姓名,系名

64、,系主任)SCDSCD(学号学号学号学号,姓名姓名姓名姓名,课程号课程号课程号课程号,成绩,成绩,成绩,成绩,系名,系主任系名,系主任系名,系主任系名,系主任)3.3.3.3.第二范式第二范式第二范式第二范式(2NF)(2NF)(2NF)(2NF)数据库应用技术数据库应用技术课程课程37三、关系的规范化三、关系的规范化n n定义定义定义定义如果关系模式如果关系模式如果关系模式如果关系模式R R R R为第二范式,且为第二范式,且为第二范式,且为第二范式,且R R R R中每个非主属性都中每个非主属性都中每个非主属性都中每个非主属性都不不不不传传传传递函数依赖于递函数依赖于递函数依赖于递函数依赖

65、于R R R R的某个候选码,则称的某个候选码,则称的某个候选码,则称的某个候选码,则称R R R R为为为为3NF3NF3NF3NF模式。模式。模式。模式。n n示例示例示例示例n n下列关系模式是下列关系模式是下列关系模式是下列关系模式是2NF2NF2NF2NF,是否为,是否为,是否为,是否为3NF3NF3NF3NF?为什么?为什么?为什么?为什么?SDSDSDSD(学号学号学号学号,姓名,系名,系主任),姓名,系名,系主任),姓名,系名,系主任),姓名,系名,系主任)n n解决方法:消除传递函数依赖。解决方法:消除传递函数依赖。解决方法:消除传递函数依赖。解决方法:消除传递函数依赖。分解

66、分解分解分解不是。因为:学号不是。因为:学号系名,系名系名,系名系主任,存在传递依赖关系。系主任,存在传递依赖关系。4. 4. 第三范式第三范式第三范式第三范式(3NF)(3NF)数据库应用技术数据库应用技术课程课程38三、关系的规范化三、关系的规范化n n分解为分解为分解为分解为3NF3NF3NF3NF的方法:的方法:的方法:的方法:n n把把把把直直直直接接接接对对对对主主主主码码码码函函函函数数数数依依依依赖赖赖赖的的的的非非非非主主主主属属属属性性性性与与与与决决决决定定定定它它它它们们们们的的的的主主主主码码码码放放放放在在在在一一一一个个个个关系模式中。关系模式中。关系模式中。关系

67、模式中。n n把把把把造造造造成成成成传传传传递递递递函函函函数数数数依依依依赖赖赖赖的的的的决决决决定定定定因因因因素素素素连连连连同同同同被被被被它它它它们们们们决决决决定定定定的的的的属属属属性性性性放放放放在在在在一一一一个关系模式中。个关系模式中。个关系模式中。个关系模式中。n n检检检检查查查查分分分分解解解解后后后后的的的的新新新新模模模模式式式式,如如如如果果果果不不不不是是是是3NF3NF3NF3NF,则则则则继继继继续续续续按按按按照照照照前前前前面面面面的的的的方方方方法法法法进进进进行分解,直到达到要求。行分解,直到达到要求。行分解,直到达到要求。行分解,直到达到要求。

68、n n关系模式关系模式关系模式关系模式SDSDSDSD的分解结果如下:的分解结果如下:的分解结果如下:的分解结果如下:n nSDSDSDSD(学号学号学号学号,姓名,系名),姓名,系名),姓名,系名),姓名,系名)n nSDSDSDSD(系名系名系名系名,系主任),系主任),系主任),系主任)SDSD(学号学号学号学号,姓名,系名,系主任),姓名,系名,系主任),姓名,系名,系主任),姓名,系名,系主任)4. 4.第三范式第三范式第三范式第三范式(3NF)(3NF)数据库应用技术数据库应用技术课程课程39三、关系的规范化三、关系的规范化n n各范式之间的关系各范式之间的关系各范式之间的关系各范

69、式之间的关系 5.5.5.5.各范式间的关系各范式间的关系各范式间的关系各范式间的关系非结构化关系非结构化关系非结构化关系非结构化关系1NF1NF2NF2NF3NF3NF消除多属性值消除多属性值消除多属性值消除多属性值消除非主属性对码的消除非主属性对码的消除非主属性对码的消除非主属性对码的部分函数依赖部分函数依赖部分函数依赖部分函数依赖消除非主属性对码的消除非主属性对码的消除非主属性对码的消除非主属性对码的传递函数依赖传递函数依赖传递函数依赖传递函数依赖 在实际应用中,最有在实际应用中,最有价值的是价值的是3NF,3NF,在进行关系在进行关系模式的设计时,通常分解模式的设计时,通常分解到到3N

70、F3NF就足够了就足够了n n 分解原则分解原则分解原则分解原则: :一个表,表示一个实体一个表,表示一个实体一个表,表示一个实体一个表,表示一个实体数据库应用技术数据库应用技术课程课程40n n规范化是一种形式化的技术,它利用主关键字或候选键字,以及属性规范化是一种形式化的技术,它利用主关键字或候选键字,以及属性规范化是一种形式化的技术,它利用主关键字或候选键字,以及属性规范化是一种形式化的技术,它利用主关键字或候选键字,以及属性间的函数依赖来分析关系。间的函数依赖来分析关系。间的函数依赖来分析关系。间的函数依赖来分析关系。n n随着规范化的进行,关系模式将逐渐变得更加规范,表现为具有更少随

71、着规范化的进行,关系模式将逐渐变得更加规范,表现为具有更少随着规范化的进行,关系模式将逐渐变得更加规范,表现为具有更少随着规范化的进行,关系模式将逐渐变得更加规范,表现为具有更少的更新异常。的更新异常。的更新异常。的更新异常。n n对于关系数据模型,对于关系数据模型,对于关系数据模型,对于关系数据模型,在建立关系时在建立关系时在建立关系时在建立关系时1NF1NF1NF1NF是必需的,后继的其他范式都是是必需的,后继的其他范式都是是必需的,后继的其他范式都是是必需的,后继的其他范式都是可选的可选的可选的可选的。但是为了避免更新异常,通常需要将规范化进行到。但是为了避免更新异常,通常需要将规范化进

72、行到。但是为了避免更新异常,通常需要将规范化进行到。但是为了避免更新异常,通常需要将规范化进行到3NF.3NF.3NF.3NF.n n对于哪些只要求查询而不要求插入、删除等操作的系统,几种异常现对于哪些只要求查询而不要求插入、删除等操作的系统,几种异常现对于哪些只要求查询而不要求插入、删除等操作的系统,几种异常现对于哪些只要求查询而不要求插入、删除等操作的系统,几种异常现象的存在并不影响数据库的操作。这时不宜过度分解,否则当要对整象的存在并不影响数据库的操作。这时不宜过度分解,否则当要对整象的存在并不影响数据库的操作。这时不宜过度分解,否则当要对整象的存在并不影响数据库的操作。这时不宜过度分解

73、,否则当要对整体查询进,需要更多的多表连接操作。体查询进,需要更多的多表连接操作。体查询进,需要更多的多表连接操作。体查询进,需要更多的多表连接操作。数据库应用技术数据库应用技术课程课程41实例实例1 1:判断以下的关系是否满足:判断以下的关系是否满足1NF1NF的要求的要求姓名姓名姓名姓名性别性别性别性别班级班级班级班级联系电话联系电话联系电话联系电话张明张明张明张明男男男男网络网络网络网络091109110911091113454690037134546900371345469003713454690037李红李红李红李红女女女女网张网张网张网张0912091209120912(010)8

74、4342355(010)84342355(010)84342355(010)84342355联系电话是否可再分?联系电话是否可再分?联系电话是否可再分?联系电话是否可再分?姓名姓名姓名姓名性别性别性别性别班级班级班级班级手机号码手机号码手机号码手机号码固定电话固定电话固定电话固定电话张明张明张明张明男男男男网络网络网络网络091109110911091113454690037134546900371345469003713454690037 (023)86342351(023)86342351(023)86342351(023)86342351李红李红李红李红女女女女网张网张网张网张09120

75、9120912091213690234355136902343551369023435513690234355 (010)84342355(010)84342355(010)84342355(010)84342355学生情况关系学生情况关系学生情况关系学生情况关系学生情况关系学生情况关系学生情况关系学生情况关系提示:提示:提示:提示:关键是判断,关系模式中的所有属性都是不可再分的。关键是判断,关系模式中的所有属性都是不可再分的。关键是判断,关系模式中的所有属性都是不可再分的。关键是判断,关系模式中的所有属性都是不可再分的。数据库应用技术数据库应用技术课程课程42实例实例2 2:判断以下的关系是

76、否满足:判断以下的关系是否满足2NF2NF的要求的要求学号学号学号学号姓名姓名姓名姓名性别性别性别性别班级班级班级班级课程号课程号课程号课程号分数分数分数分数1001100110011001张明张明张明张明男男男男网络网络网络网络0911091109110911K001K001K001K001808080801001100110011001张明张明张明张明男男男男网络网络网络网络0911091109110911K002K002K002K002676767671002100210021002何明何明何明何明女女女女商务商务商务商务0911091109110911K003K003K003K0037

77、87878781005100510051005李红李红李红李红男男男男软件软件软件软件0912091209120912K004K004K004K00490909090学生情况关系学生情况关系学生情况关系学生情况关系学生情况关系学生情况关系学生情况关系学生情况关系提示:提示:提示:提示:关键是判断,关系模式中非主属是否完全依赖于主键。关键是判断,关系模式中非主属是否完全依赖于主键。关键是判断,关系模式中非主属是否完全依赖于主键。关键是判断,关系模式中非主属是否完全依赖于主键。(学号,课程号(学号,课程号(学号,课程号(学号,课程号) )是主键是主键是主键是主键学号学号学号学号姓名姓名姓名姓名性别

78、性别性别性别班级班级班级班级1001100110011001张明张明张明张明男男男男网络网络网络网络09110911091109111001100110011001张明张明张明张明男男男男网络网络网络网络09110911091109111002100210021002何明何明何明何明女女女女商务商务商务商务09110911091109111005100510051005李红李红李红李红男男男男软件软件软件软件0912091209120912学号学号学号学号课程号课程号课程号课程号分数分数分数分数1001100110011001K001K001K001K001808080801001100110

79、011001K002K002K002K002676767671002100210021002K003K003K003K003787878781005100510051005K004K004K004K00490909090选修关系选修关系选修关系选修关系数据库应用技术数据库应用技术课程课程43实例实例3 3:判断以下的关系是否满足:判断以下的关系是否满足3NF3NF的要求的要求学号学号学号学号姓名姓名姓名姓名性别性别性别性别系部系部系部系部地点地点地点地点1001100110011001张明张明张明张明男男男男动力系动力系动力系动力系1201120112011201100210021002100

80、2刘江刘江刘江刘江男男男男动力系动力系动力系动力系12011201120112011003100310031003何明何明何明何明女女女女电力系电力系电力系电力系12021202120212021005100510051005李红李红李红李红男男男男计科系计科系计科系计科系1203120312031203学生情况关系学生情况关系学生情况关系学生情况关系学生情况关系学生情况关系学生情况关系学生情况关系提示:提示:提示:提示:关键是判断,关系模式中是否传递依赖。关键是判断,关系模式中是否传递依赖。关键是判断,关系模式中是否传递依赖。关键是判断,关系模式中是否传递依赖。(学号(学号(学号(学号) )

81、是主键是主键是主键是主键学号学号学号学号姓名姓名姓名姓名性别性别性别性别系部系部系部系部1001100110011001张明张明张明张明男男男男动力系动力系动力系动力系1002100210021002刘江刘江刘江刘江男男男男动力系动力系动力系动力系1003100310031003何明何明何明何明女女女女电力系电力系电力系电力系1005100510051005李红李红李红李红男男男男计科系计科系计科系计科系系部系部系部系部地点地点地点地点动力系动力系动力系动力系1201120112011201电力系电力系电力系电力系1202120212021202计科系计科系计科系计科系120212021202

82、1202班级关系班级关系班级关系班级关系数据库应用技术数据库应用技术课程课程44实例实例3 3:判断以下的关系是否满足:判断以下的关系是否满足3NF3NF的要求的要求学号学号学号学号姓名姓名姓名姓名性别性别性别性别系部系部系部系部地点地点地点地点1001100110011001张明张明张明张明男男男男动力系动力系动力系动力系12011201120112011002100210021002刘江刘江刘江刘江男男男男动力系动力系动力系动力系12011201120112011003100310031003何明何明何明何明女女女女电力系电力系电力系电力系1202120212021202100510051

83、0051005李红李红李红李红男男男男计科系计科系计科系计科系1203120312031203学生情况关系学生情况关系学生情况关系学生情况关系学生情况关系学生情况关系学生情况关系学生情况关系提示:提示:提示:提示:关键是判断,关系模式中是否传递依赖。关键是判断,关系模式中是否传递依赖。关键是判断,关系模式中是否传递依赖。关键是判断,关系模式中是否传递依赖。(学号(学号(学号(学号) )是主键是主键是主键是主键学号学号学号学号姓名姓名姓名姓名性别性别性别性别1001100110011001张明张明张明张明男男男男1002100210021002刘江刘江刘江刘江男男男男10031003100310

84、03何明何明何明何明女女女女1005100510051005李红李红李红李红男男男男系部系部系部系部地点地点地点地点动力系动力系动力系动力系1201120112011201电力系电力系电力系电力系1202120212021202计科系计科系计科系计科系1203120312031203班级关系班级关系班级关系班级关系错误原因是学生情错误原因是学生情错误原因是学生情错误原因是学生情况关系中没有外键,况关系中没有外键,况关系中没有外键,况关系中没有外键,两相关系失去联系。两相关系失去联系。两相关系失去联系。两相关系失去联系。要求非主属性之间不要求非主属性之间不要求非主属性之间不要求非主属性之间不应该

85、有从属关系。应该有从属关系。应该有从属关系。应该有从属关系。数据库应用技术数据库应用技术课程课程45小结:小结:n n规范化的规范化的规范化的规范化的目的目的目的目的:使结构更合理,使数据冗长余尽量小,便于:使结构更合理,使数据冗长余尽量小,便于:使结构更合理,使数据冗长余尽量小,便于:使结构更合理,使数据冗长余尽量小,便于数据更新、插入、删除。数据更新、插入、删除。数据更新、插入、删除。数据更新、插入、删除。n n规范化的规范化的规范化的规范化的原则原则原则原则:概念的单一化,:概念的单一化,:概念的单一化,:概念的单一化,“ “一事一地一事一地一事一地一事一地” ”,一个关系模,一个关系模

86、,一个关系模,一个关系模式描述一个实体或实体间的一个联系。若多于一个实体,就式描述一个实体或实体间的一个联系。若多于一个实体,就式描述一个实体或实体间的一个联系。若多于一个实体,就式描述一个实体或实体间的一个联系。若多于一个实体,就把它把它把它把它“ “分离分离分离分离” ”出来。出来。出来。出来。 n n规范化的规范化的规范化的规范化的方法方法方法方法:将关系模式分解成两个或两个以上的关系模:将关系模式分解成两个或两个以上的关系模:将关系模式分解成两个或两个以上的关系模:将关系模式分解成两个或两个以上的关系模式。式。式。式。n n规范化的规范化的规范化的规范化的要求:要求:要求:要求:无损分

87、解无损分解无损分解无损分解,即分解后的关系模式经过自然联,即分解后的关系模式经过自然联,即分解后的关系模式经过自然联,即分解后的关系模式经过自然联接可以恢复原关系而不丢失信息,关保持属性间合理的联系。接可以恢复原关系而不丢失信息,关保持属性间合理的联系。接可以恢复原关系而不丢失信息,关保持属性间合理的联系。接可以恢复原关系而不丢失信息,关保持属性间合理的联系。数据库应用技术数据库应用技术课程课程46使用使用Visio2003Visio2003绘制绘制E-RE-R图图n n1.1.使用使用visiovisio绘制绘制E-RE-R图图n n2.2.将将E-RE-R图转化为数据表。图转化为数据表。选

88、数据流图表形状,可选用需要的图例选数据流图表形状,可选用需要的图例数据库应用技术数据库应用技术课程课程47n n操作步骤:操作步骤:操作步骤:操作步骤:visio2003visio2003visio2003visio2003。选择选择选择选择【文件文件文件文件】【新建新建新建新建】【框图框图框图框图】【基本框图基本框图基本框图基本框图】命令,命令,命令,命令,打开图所示的窗口。打开图所示的窗口。打开图所示的窗口。打开图所示的窗口。在左侧窗体,选择在左侧窗体,选择在左侧窗体,选择在左侧窗体,选择【基本形状文件基本形状文件基本形状文件基本形状文件】【矩形矩形矩形矩形】或或或或【椭圆椭圆椭圆椭圆】命

89、令,然后在页面的适当位置拖动鼠标,就可以绘制实体或命令,然后在页面的适当位置拖动鼠标,就可以绘制实体或命令,然后在页面的适当位置拖动鼠标,就可以绘制实体或命令,然后在页面的适当位置拖动鼠标,就可以绘制实体或属性。在搜索形状下拉框中输入属性。在搜索形状下拉框中输入属性。在搜索形状下拉框中输入属性。在搜索形状下拉框中输入“ “菱形菱形菱形菱形” ”,并单击右箭头按,并单击右箭头按,并单击右箭头按,并单击右箭头按 便可搜索到与便可搜索到与便可搜索到与便可搜索到与“ “菱形菱形菱形菱形” ”有关的形状,在页面的适当位有关的形状,在页面的适当位有关的形状,在页面的适当位有关的形状,在页面的适当位置拖动鼠

90、标,就可以绘制实体之间的联系。置拖动鼠标,就可以绘制实体之间的联系。置拖动鼠标,就可以绘制实体之间的联系。置拖动鼠标,就可以绘制实体之间的联系。绘制直线,选择绘制直线,选择绘制直线,选择绘制直线,选择【视图视图视图视图】【工具栏工具栏工具栏工具栏】【绘制绘制绘制绘制】命令,打命令,打命令,打命令,打开图所示的工具栏,在其中选择直线工具。开图所示的工具栏,在其中选择直线工具。开图所示的工具栏,在其中选择直线工具。开图所示的工具栏,在其中选择直线工具。n n 更深入的学习,请课后上网学习。更深入的学习,请课后上网学习。更深入的学习,请课后上网学习。更深入的学习,请课后上网学习。数据库应用技术数据库

91、应用技术课程课程48(1)(1)(1)(1)打开打开打开打开visiovisiovisiovisio软件软件软件软件(2)(2)(2)(2)新建数据库模型图。新建数据库模型图。新建数据库模型图。新建数据库模型图。n n选择选择选择选择【文件文件文件文件】【新建新建新建新建】【数据数据数据数据库库库库】【数据库模型图数据库模型图数据库模型图数据库模型图】命令。命令。命令。命令。(3 3 3 3)添加实体。在左侧窗体,选择)添加实体。在左侧窗体,选择)添加实体。在左侧窗体,选择)添加实体。在左侧窗体,选择【实实实实体关系体关系体关系体关系】【实体实体实体实体】选项,并将其选项,并将其选项,并将其选

92、项,并将其拖动到页面的适当位置,双击,在拖动到页面的适当位置,双击,在拖动到页面的适当位置,双击,在拖动到页面的适当位置,双击,在窗体下半部的窗体下半部的窗体下半部的窗体下半部的【数据库属性数据库属性数据库属性数据库属性】中定中定中定中定义实体的物理名称及概念名称,如义实体的物理名称及概念名称,如义实体的物理名称及概念名称,如义实体的物理名称及概念名称,如图所示。图所示。图所示。图所示。 数据库应用技术数据库应用技术课程课程49n n(4 4 4 4)添加数据列。在窗体下半部的)添加数据列。在窗体下半部的)添加数据列。在窗体下半部的)添加数据列。在窗体下半部的【数据库属性数据库属性数据库属性数据库属性】中选择中选择中选择中选择【列列列列】命命命命令,添加列、数据类型、注释等,如图所示。令,添加列、数据类型、注释等,如图所示。令,添加列、数据类型、注释等,如图所示。令,添加列、数据类型、注释等,如图所示。 数据库应用技术数据库应用技术课程课程50ENDEND问题:、信息,数据的关系?数据处理?信息,数据的关系?数据处理?、数据库的发展经历了哪几个过程?特点?、数据库的发展经历了哪几个过程?特点?

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号