内容正文:
项目十 任务五、六
数据库的实施与维护及关系模式的规范化
数据库原理与应用技术--MySQL
同步精品课堂
河北科学技术出版社
教学目标
一
掌握数据库运行维护阶段的所需工作
02
理解数据库实施的步骤
01
掌握常用的范式级别及关系模式规范化的方法
03
掌握国家标准《机械制图》中有关图幅、比例、字体图线等基本规定。
教学重难点
二
教学难点
重 点:数据库实施和运行维护的工作流程
难 点:关系模式规范化的方法
导入新课
三
同学们,上节课我们已经学习了数据库系统设计的前四个步骤分别是需求分析、概念结构设计、逻辑结构设计和物理结构设计,那接下来我们还需进行哪些操作呢?
import
新知讲授
数据库实施
数据库维护
关系模式规范化
数据库实施步骤如下:
定义数据库结构
组织数据入库
应用程序的编码与调试
数据库试运行
新知讲授
1、定义数据库结构
在确定了数据库的逻辑结构和物理结构,接着使用所选定的数据库管理系统提供的工具来建立数据库结构。
2、组织数据入库
是主要工作,来自各部门的数据通常不符合系统的格式,需要对数据格式进行统一,同时还要保证数据的完整性和有效性。步骤如下:
数据库实施
数据库维护
关系模式规范化
筛选数据
转换数据格式
输入数据
校验数据
新知讲授
3、应用程序的编码与调试
数据库应用程序的设计与数据库的设计应同步进行,也就是编制与调试所应用程序的同时,需要实现数据的入库。
4、数据库试运行
在将一部分数据加载到数据库后,就可以对数据库系统进行联合调试。
工作主要有:
数据库实施
数据库维护
关系模式规范化
功能测试
安全测试
性能测试
新知讲授
功能测试:是运行数据库应用程序,执行各种操作,测试程序是否满足设计要求,找出不足,改进现有程序知道符合设计要求
性能测试:是测量系统的性能指标,分析是否符合设计目标
数据库实施
数据库维护
关系模式规范化
新知讲授
数据库试运行结果符合设计目标后即可投入正式运行。在数据库系统运行过程中,必须不断地对其结构性能进行评价、调整和修改。
数据库运行维护的基本工作包括:
数据库实施
数据库维护
关系模式规范化
1、数据库的转储与恢复
2、数据库的安全性和完整性控制
3、数据库的性能检测及分析改进
4、数据库的重构和重组
新知讲授
1、数据库的转储与恢复:
数据库管理员要针对不同的应用要求制订不同的转储计划,以保证一旦发生故障尽快将数据库恢复到某种一致的状态,并尽可能减少对数据库的破坏。
2、数据库的安全性和完整性控制:
在数据库运行过程中,由于应用环境的变化,对安全性的要求和数据库完整性的约束条件都会发生变化。需要数据库管理员不断修正,以满足用户需求。
数据库实施
数据库维护
关系模式规范化
新知讲授
范式(NormalForm,NF)即规范化的关系模式,是衡量关系模式好坏的一组规则的集合。
目前关系数据库有6种范式:第一范式1NF、第二范式2NF、第三范式3NF、第四范式4NF、第五范式5NF和BC范式(Boyce-Codd Normal Form,BCNF)
高一级别的范式是在第一级别的范式应满足的条件基础上再增加一些额外的限制条件。因此,满足高一级别范式的关系模式必定满足低一级别的
范式要求。一般来说,数据库只需满足第三范式就可。
数据库实施
数据库维护
关系模式规范化
新知讲授
3、数据库的性能检测及分析改进:
目前有些DBMS产品提供了监督系统性能的参数工具,数据库管理员可以利用这些工具方便地得到系统运行过程中一系列性能参数的值,判断当前系统运行状况是否最佳,应做哪些改进。
数据库实施
数据库维护
关系模式规范化
新知讲授
4、数据库的重构和重组:
原因:数据库运行一段时间后,由于记录不断增、删、改,数据库的物理存储情况变坏,降低了数据的存取效率,数据库的性能下降。
数据库管理员就要对数据库进行重组或部分重组(只对频繁增加、删除数据的表进行重组)
重组并不修改原设计的逻辑和物理结构,按原设计要求重新安排存储位置、回收垃圾、减少指针链等,以提高系统性能。
重构则不同,它要部分修改数据库的模式和内模式。重构是有限的,只能部分修改。
数据库实施
数据库维护
关系模式规范化
新知讲授
目的:
减少数据冗余:避免同一数据在数据库中多次出现,减少存储空间的浪费
避免数据更新异常:更新、删除或插入时防止数据不一致性
提高查询效率:通过适当的分解,可以提高查询的效率和灵活性
数据库实施
数据库维护
关系模式规范化
新知讲授
数据库实施
数据库维护
关系模式规范化
一个低级范式
模式分解
若干个高级范式
关系模式的定义:
新知讲授
函数依赖常用种类:
数据库实施
数据库维护
关系模式规范化
1.部分函数依赖:非主属性仅依赖于关系模型中码的某一个
2.完全函数依赖:非主属性完全依赖于整个关系模型的码
3.传递函数依赖:例如,学号为码,非主属性班级名依赖于学号,班主任依赖于班级名,则存在班主任对学号码的传递函数依赖
新知讲授
三
在关系中,包括在任何候选码中的属性称为主属性,不包括在任何候选码中的属性称为非主属性。
候选码:能唯一标识关系中行的列属性,则称该属性为候选码。
数据库实施
数据库维护
关系模式规范化
新知讲授
1、第一范式
如果关系模式R中的所有属性都是不可分的数据项(原子性),则称R属于第一范式,记为R∈1NF。关系的第一范式是关系要满足的最基本的范式,在关系数据库中,任何关系都必须满足第一范式。
数据库实施
数据库维护
关系模式规范化
新知讲授
数据库实施
数据库维护
关系模式规范化
新建一个“学生课程成绩”表,其关系模式为:学生课程成绩(学号,姓名,性别,专业,班级,班主任,课程号,课程名,课时数,成绩)学号和课程号为主键。
学号 姓名 性别 专业号 班级 班主任 课程号 课程名 课时数 成绩
通过分析可得:
新知讲授
2、第二范式
若关系模式R∈1NF,且每个非主属性都完全依赖于R的码,则R∈2NF。
也就是消除非主属性对码的部分函数依赖。
“学生课程成绩”关系的码是(学号,课程号),非主属性集是{姓名,性别,专业,班级,班主任,课程名,课时,成绩,这8个非主属性对码的函数依赖情况为:
成绩对码是完全依赖外,其他7个非主属性对码都是部分依赖,因此“学生课程成绩”不满足2NF,即学生课程成绩不属于2NF。
数据库实施
数据库维护
关系模式规范化
新知讲授
通过模式分解,消除该关系模式中的部分依赖,达到2NF,也就是非主属性从该关系模式中分解出去。分解后的关系模式如下:
学生_班级(学号,姓名,性别,专业,班级名,班主任)
在学生_班级关系模式中,姓名、性别、专业、班级、班主任对主属性学号是完全依赖
数据库实施
数据库维护
关系模式规范化
学号 姓名 性别 专业 班级 班主任
新知讲授
课程(课程号,课程名,课时数)
在课程关系中,课程名和课时数是非主属性,都完全依赖于课程号,课程号是课程关系的码
数据库实施
数据库维护
关系模式规范化
课程号 课程名 课时数
新知讲授
成绩(学号,课程号,成绩)
成绩非主属性对学号和课程号是完全依赖的。只知道学号无法确定是谁的成绩,只知道课程号也是无法确定成绩。
数据库实施
数据库维护
关系模式规范化
学号 课程号 成绩
新知讲授
根据2NF的定义可以得出以下几个结论:
(1)如果一个关系模式R∈1NF,且R中没有非主属性,则R∈2NF。
(2)如果一个关系模式R∈1NF,且R中所有的候选码都是单属性码,则R∈2NF。
(3)如果一个关系模式R只有两个属性,则R∈2NF。
(4)如果一个关系模式R∈2NF,则R∈1NF。
数据库实施
数据库维护
关系模式规范化
新知讲授
数据库实施
数据库维护
关系模式规范化
3、第三范式
对于关系模式R,每一个非主属性既不部分函数依赖于码,也不传递函数依赖于码,则R∈3NF。
在“学生_班级”中,发现,学号→班级,班级→班主任,所以该关系中存在非主属性“班主任”对码“学号”的传递函数依赖,所以学生班级不属于3NF。
学号 姓名 性别 专业 班级 班主任
新知讲授
通过模式分解的方法,消除该关系模式中的传递依赖,将非主属性“班主任”从该模式中分离出去,放在另一个关系模式“班级”中,并添加“班级名”属性保持分解的无损连接和函数依赖性。
数据库实施
数据库维护
关系模式规范化
学号 姓名 性别 专业 班级
班级 班主任
学生关系
班级关系
学号 姓名 性别 专业 班级 班主任
新知讲授
根据3NF的定义可以得出以下几个结论:
(1)如一个关系模式R∈1NF,且R中没有非主属性,则R∈3NF
(2)如一个关系模式R只有两个属性,则R∈3NF
(3)如果一个关系模式R∈3NF,则R∈2NF和1NF
数据库实施
数据库维护
关系模式规范化
课堂小结
四
1、提问学生本节课的重点知识
2、学生小组之间讨论第一、第二以及第三范式之间如何进行分解的
随堂练习
六
1、(多选)以下属于数据库运行维护的基本工作的有 ( )。
数据库的转储与恢复
数据库的重构与重组
数据库试运行
定义数据库结构
【答案】AB
【解析】CD属于数据库实施阶段。
随堂练习
六
2、在数据库实施阶段中的主要工作是( )。
定义数据库结构
组织数据入库
应用程序的编码与调试
数据库试运行
【答案】B
【解析】组织数据入库是数据库实施阶段的主要工作。
t
随堂练习
六
3、目前关系数据库有6种范式( )是关系要满足的最基本的范式。
A. 第一范式
B. 第二范式
C. 第三范式
D. 第五范式
【答案】A
【解析】第一范式是要关系满足的最基本的范式。
随堂练习
六
4、( )是消除非主属性对码的部分依赖函数。
A. 1NF
B. 2NF
C. 3NF
D. BCNF
【答案】B
【解析】第二范式是用来消除非主属性对码的部分函数依赖。
随堂练习
六
【答案】规范化
6、在数据库试运行阶段的主要工作有 和 。
【答案】功能测试和性能测试
5、 是关系数据库设计中用于消除数据冗余和提高数据完整性的过程。
随堂练习
六
7、关系模式的规范化就是指由一个低级范式通过函数转化为若干个高级范式的过程。
【答案】错误,关系模式的规范化是指由一个低级范式通过模式分解转化为若干个高级范式的过程。
8、第二范式是在第三范式的基础上进一步规范化,要求表中没有传递函数依赖。
【答案】错误,应该是第三范式在第二范式的基础上进一步规范化。
板书设计
七
厚积薄发!
$