4.1关系规范化的引入 课件(共21张PPT)-《数据库应用技术-SQL Server》同步教学(人民邮电版)

资源下载
  1. 二一教育资源

4.1关系规范化的引入 课件(共21张PPT)-《数据库应用技术-SQL Server》同步教学(人民邮电版)

资源简介

(共21张PPT)
关系数据库规范化理论
第4章
目录
01
关系规范化
的引入
02
函数依赖
03
函数依赖的
公理系统
04
关系模式的
规范化
05
多值依赖
与4NF
06
关系模式分解
及规范化步骤
本章主要内容
通过第2、3章的学习,学生可以完成数据库关系模型的设计及实现。每种关系模型对应一种关系模式,关系模式的好坏直接决定数据的完整性、准确性、一致性和操作性。然而,是不是所有满足关系模型的关系模式设计都是“最好”的设计?不同的关系模式设计会出现什么样的问题?有没有什么理论标准来评价或者优化该关系模式,使其成为“更好”的关系模式设计?
本章重点内容是学习如何针对具体的应用项目,从概念模型设计出发,通过不断优化,实现一个“较好”的数据库关系模式设计。其内容包括关系模式设计存在的常见问题,关系模式中属性间依赖关系及函数依赖的公理系统理论,最小函数依赖集及其求解算法,范式及其转换步骤和多属性之间的依赖关系。
关系规范化的引入
第4章
01
4.1.1 规范化问题的提出
1.不合理的关系模式存在的异常问题
数据库系统设计的关键是关系模式设计,关系模式设计的好坏会直接影响数据库的性能,不好的关系模式设计可能会导致系统库信息庞大,出现数据删除、更新及插入异常问题。
下面结合前面介绍的“教学管理系统”,设计一个教学管理的关系模式,并判断其关系模式设计的好坏,分析该关系模式存在什么样的问题。
4.1.1 规范化问题的提出
【例4.1】假设有一个关于教学管理的关系模式TC(U),属性集U包括SNo、SN、Sex、DN、CN、TN、Score。其中,SNo为学生学号,SN为学生姓名,Sex为学生性别,DN为学生所在院系名,CN为学生所选的课程名称,TN为任课教师姓名,Score为学生选修课程的成绩。根据常规语义,分析TC关系模式的主键,并分析如果给TC关系模式添加具体数据,是否存在问题。如果存在问题,存在什么样的问题
解:根据语义分析,教学管理关系的关系模式TC为:
TC(SNo,SN,Sex,DN,CN,TN,Score)
经分析,只有SNo、CN可以唯一地决定其他属性,即该关系模式的主键为(SNo,CN)。
4.1.1 规范化问题的提出
下面为该关系模式TC添加部分具体数据如表4.1所示。
表4.1 TC表的部分数据
元组
三个元组
数据冗余
插入异常
删除异常
更新异常
根本原因:属性间存在着数据依赖关系
4.1.1 规范化问题的提出
2.一个好的关系模式应该具备以下四个条件:
(1)尽可能少的数据冗余
(2)没有插入异常
(3)没有删除异常
(4)没有更新异常
4.1.2 问题解决的方法
数据依赖(Data Independence):同一个关系模式中各个属性之间存在某种依赖关系。
由于关系模式中各个属性间的数据依赖处理不合理,就会产生大量的数据冗余。为了降低数据冗余,解决数据间的依赖关系,常常通过对关系模式进行分解的方式改善关系模式设计,降低数据冗余。
如在例4.1中,教学关系模式TC可以分解为三个关系模式:
学生基本信息S(SNo,SN,Sex,DN)
课程信息C(CNo,CN,TN)
学生成绩信息SC(SNo,CNo,Score)
4.1.2 问题解决的方法
模式分解
4.1.3 关系模式规范化的概念
在一个关系模式中,属性间的关系表现为一个属性子集对另一个属性子集的“依赖”关系,其中依赖关系可以分为“一对一”“一对多”和“多对一”的依赖关系。
“一对一”的依赖关系是最简单的关系;
“多对一”的依赖关系是目前数据库设计中最为常见的,我们称之为“函数依赖”;
“一对一”的依赖关系的研究相当复杂,到目前为止,人们认识到两种属性之间存在有用的“一对多”是多值依赖关系和连接依赖关系。
针对以上3种依赖关系在不同层面上的具体要求,人们又将属性之间的这些关联分为若干等级,这就形成了所谓的关系的规范化(Relation Normalization)。
函数依赖
第4章
02
4.2.1 函数依赖的定义
关系模式中的各属性之间相互依赖、相互制约的联系称为数据依赖。
多值依赖
函数依赖
函数依赖(FD,Functional Dependency)是关系模式中属性之间的一种逻辑依赖关系。
例如:SCD (SNo,SN,Age,Dept,MN,CNo,Score)
SNO
SN,Age,Dept
一个学生
SNo (SN,Age,Dept)
(SN,Age,Dept)函数依赖于SNo
4.2.1 函数依赖的定义
定义:设R(U,F)是一个关系模式,U是R的属性集合,F是由U上函数依赖所构成的集合,X和Y是U的子集。对于R(U)的任意一个可能关系r,r中不存在任意两个元组在X上的属性值相同,且在Y上的属性值不同,则称“X函数确定Y ”或“Y函数依赖于X ”,记作X→Y。
定义说明:
(1)关系模式R(U,F)三元组表示是由关系模式的完整表示——五元组R(U,D,DOM,F)简化而来,其中R为关系名,U为关系的属性全集,D为属性集U中属性的数据域,DOM为属性到域的映射,F为属性集U的数据依赖集。由于D和DOM对设计关系模式的作用不大,在讨论关系规范化理论时将其简化,采用简单的三元组R(U,F)表示。
(2)函数依赖不是指关系模式R中某个或某些关系满足的约束条件,而是指R的一切关系均要满足的约束条件。
(3)函数依赖是一种语义范畴的概念,在设计时只能根据语义来确定函数依赖,与时间无关。
(4)函数依赖的概念实际是候选码的概念的推广。
4.2.1 函数依赖的定义
【例4.2】如在4.1节的教学管理关系模式TC(U,F)中,属性全集U为{ SNo,SN,Sex,DN,CN,TN,Score},根据函数依赖的定义及语义分析,列出TC(U,F)中的函数依赖集F。
解:根据常规语义规范,一个学生具有唯一的姓名、性别及系别,因此SNo→SN、SNo→Sex、SNo→DN,根据语义,一个学生可以选修多门课程,每门课程对应一个教师和一个课程成绩,而一个学生不能唯一地确定教师姓名和课程成绩,必须与课程名称同时决定某门课程教师名称及课程成绩,因此TN、Score不能函数依赖于SNo,但TN、Score可以被(SNo,CN)唯一确定,即(SNo,CN)→TN、(SNo,CN)→Score,因此关系模式TC(U,F)的函数依赖集F如下:
F:{SNo→SN,SNo→Sex,SNo→DN,(SNo,CN)→TN,(SNo,CN)→Score}
4.2.1 函数依赖的定义
4.2.2 函数依赖的分类与符号表示
设有关系模式R(U),其中(Al,A2,…,An)为R的所有属性,且Al,A2,…,An∈U,X、Y、Z均为U不同的子集,非空且互不包含,根据决定因素,函数依赖可以分为以下几类:
1)非平凡函数依赖
若X→Y,且,则称X→Y是非平凡函数依赖(Nontrivial Functional Dependency)。若,则称X→Y是平凡函数依赖(Trivial Functional Dependency)。
如:在教学管理关系模式TC函数依赖F中,SNo→SN、SNo→Sex、SNo→DN,但是SNSNo、SexSNo、DNSNo,因此函数依赖是非平凡函数依赖。
2)完全函数依赖
若XY,且X的任意真子集X’都不能决定Y(即),称为完全函数依赖(Full Functional Dependency),符号表示为:
4.2.2 函数依赖的分类与符号表示
例4.2中,(SNo,CN)→TN、(SNo,CN)→Score,但SNoTN、SNoScore、CNTN、CNScore,因此它们都是完全函数依赖。
3) 部分函数依赖
若X→Y,且存在某个X的真子集X’决定Y(即X’→Y),称为部分函数依赖(Partial Functional Dependency),符号表示为:Y。
例4.2中,如果在教学管理关系模式中再加一个属性课程编号CNo,那么学号和课程号可以决定一门课程名称,同理,课程号也可以决定一门课程名称,即(SNo,CNo)CN、CNoCN,CNo是(SNo,CNo)的子集,这是部分函数依赖。
4) 传递函数依赖
若X→Y,Y→Z,Y→Z,则必有X→Z,称为Z传递函数依赖(Transitive Functional Dependency)于X,符号表示为:。
4.2.2 函数依赖的分类与符号表示
【例4.3】设有教学管理关系模式TC(SNo,SN,Sex,DNo,DN,CN,TN,Score),其中各属性分别为:学生学号,学生姓名,学生性别,院系编号,院系名称,课程名称,教师名称,课程成绩。根据语义规范,分析函数依赖关系。
4.2.3 码的函数依赖表示
第2章介绍了关系模式的码、主码、候选码和外码的概念。下面采用函数依赖的概念表示关系模式的码。
超码:设X为关系模式R(U,F)中的属性或属性集合。若X→U,则X称为R的一个超码。
码(候选码):设X为关系模式R(U,F)中的属性或属性集合。若XU,则X称为R的一个候选码。
外码:关系模式R(U,F)中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外部码,也称为外码。
4.2.3 码的函数依赖表示
【例4.4】假设教学关系模式TC,其属性集包括{SNo,SN,Sex,Age,DN,CNo,TN,Score},根据语义规范,请写出函数依赖集,并指出该关系模式的主属性和非主属性。

展开更多......

收起↑

资源预览