![数据库应用技术第二章_第1页](http://file4.renrendoc.com/view3/M03/2C/24/wKhkFmZEXyGANRMsAAEv2mY0FwI463.jpg)
![数据库应用技术第二章_第2页](http://file4.renrendoc.com/view3/M03/2C/24/wKhkFmZEXyGANRMsAAEv2mY0FwI4632.jpg)
![数据库应用技术第二章_第3页](http://file4.renrendoc.com/view3/M03/2C/24/wKhkFmZEXyGANRMsAAEv2mY0FwI4633.jpg)
![数据库应用技术第二章_第4页](http://file4.renrendoc.com/view3/M03/2C/24/wKhkFmZEXyGANRMsAAEv2mY0FwI4634.jpg)
![数据库应用技术第二章_第5页](http://file4.renrendoc.com/view3/M03/2C/24/wKhkFmZEXyGANRMsAAEv2mY0FwI4635.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章关系数据库2.1
关系模型概述2.2
关系数据结构2.3
关
系
的
完
整
性2.4
关
系
代
数2.5
关系规范化2.6小结2.4
关系代数概
述传
统
的
集
合
运
算专门的关系运算运算符含义运算符含义集合运算符-
UX笛卡尔积比较运算符<>大于大
于
等
于小于小
于
等
于等于不
等
于专门的关系运算符σTT选择投影连接除<
>」非与或概
述川
≤
V
N
V并差交C2.4
关系代数概述传
统
的
集
合
运
算专门的关系运算◆
R
和S具
有
相同
的目n(
即
两
个
关
系
都
有n个
属
性
)■
相应的属性取自同
一
个域RU
S■
仍为n
目
关
系
,
由
属于R或
属
于S的
元
组
组
成RUS={t|t∈Rvt∈S}1.
并
(Union)ABCa₁b₁C₁a₁b₂C₂a₂b₂C₁a₁b₃C₂ABCa₁b₁C₁a₁b₂C₂a₂b₂C₁ABCa₁b₂C₂aib₃C2a₂b₂C1RUSSRR
和S具有相同的目n■
相应的属性取自同
一
个域R-S仍为n目关系,
由
属
于R而不属于S的所有元组组成R-S={t|t∈RʌtéS}2.差
(Difference)ABCa₁b₁C₁a1b₂C₂a₂b₂C₁ABCa₁b₂C₂41b₃C2a₂b₂C1ABCa₁b₁C1R-SRSR
和S具有相同的目n■
相应的属性取自同
一
个域RnS■
仍
为n
目关系,由既属于R
又属于S
的元组组成R∩S={t|t∈Rʌt∈S}R∩S=R-(R-S)3.交
(Intersection)Aa1a₂Bb₂b₂CC₂C1Aa₁a₁a₂Bb₁b₂b₂CCiC₂CiAa1dia₂Bb₂b₃b₂CC2C2C1R∩SRS4.笛卡
尔
积
(Cartesian
Product)严
格
地
讲
应
该
是
广
义
的
笛
卡
尔
积(
ExtendedCartesian
Product)R
:n
目关系,
k₁个元组S
:m
目关系,
k2个元组R×S■
列:
(
n+
m)
列元组的集合·
元组的前n
列是关系R
的一个元组·后m列是关系S
的一个元组行:k₁
×k2
个元组·R×S={tt|t
∈R^t∈S}R.AR.BR.CS.AS.BS.Ca₁b₁Ciaib₂C2a1b₁C₁aib₃C₂41b₁b₂b₂b₂CiC₂C₂C₂a₂aiaa₂b₂b₂b₃b₂CiC₂C₂Cid₂b₂Cid1b₂C₂a₂b₂CIdib₃C2a₂b₂CIa₂b₂Ci交(续)ABCa₁bO1Cia1b₂C2a₂b₂C1ABCa1b₂C2a1b₃C2a22C1R×SRS2.4
关系代数概述传统的集合运算专
门
的
关
系
运
算2.4.2专门的关系运算先引入几个记号(1)
R,t∈R,t[A;]设关系模式为R(A,,A₂,…,An)它的一个关系设为RtɛR表示t
是R的一个元组t[A]则表示元组t中相应于属性A;的一个分量(2)A,t[A],
A若A={A₁,A₂,
…,A},
其中An,A₂,…,A
是A₁,A₂,…,A,
中的一部分,则A称为属性列或属性组。t[A,])表示元组t
在属性列A上诸分量的集合。,A,}
中去掉{A,
A₂,
…,A;}
后剩余的属性组。t[A]=(t[A,],t[A₂],.…,
A
则表示{A₁,A₂,
…(3)
ftR为n目关系,
S为m
目关系。t∈R,t∈S,
T
称为元组的连接。t,t是
一
个n+m列的元组,前n
个分量为R中的
一
个n
元组,后m
个
分
量为S
中的
一
个m元组。(
4
)
象
集Zx给定
一
个关系R(X,Z)
,X
和Z
为属性组。当[X]=
x
时
,x
在R中的象集(
Images
Set)为
:Zx={t[Z]|t∈R,t[X]=x}它表示R中属性组X上值为x
的诸元组在Z上分量的集合专门的关系运算(续)专门的关系运算(续)选择投影连接除专门的关系运算(续)课程号Cno课程名Cname先行课Cpno学分Ccredit1数据库542数学23信息系统144操作系统635数据结构746数据处理27P
A
S
C
A
L
语
言64学号Sno课程号Cno成绩Grade20021512120021512120021512120021512220021512223239285889080学号Sno姓名Sname性别Ssex年龄Sage所在系Sdept200215121200215122200215123200215125李勇刘展王敏张立男
女
女
男20191819CSISMAIS4)学生-课程数据库:学生关系Student
、课程关系Course和选修关系SCSC
(c)StudentCourse(b)(a)1.选择
(Selection)1)选择又称为限制(
Restriction)2)
选择运算符的含义■
在关系R
中选择满足给定条件的诸元组
σF(R)={t|t∈RʌF(t)=
'真'}■
F:
选择条件,是
一个逻辑表达式,基本形式为:
X₁θY₁3)
选择运算是从关系R中选取使逻辑表达式F为真的元组,是从行
的角度进行的运算G选择(续)SnoSnameSsexSageSdept200215122刘晨女19IS200215123王敏女18MA200215125张立男19ISSnoSnameSsexSageSdept200215122200215125刘晨张立女男1919ISIS[例2]查询年龄小于20岁的学生Osage<20(Student)或
O₄<20(Student)Osdept=s(Student)
σs=ns
(Student)[例1]查询信息系(
IS系)全体学生或
结
果
:结
果
:1
)
投
影
运
算
符
的
含
义-
从R中
|
成新的关系A:
R
中的属性列2
)投
影
操
作
主
要
是
从
列
的
角
度
进
行
运
算元R}组t性t[A]干属(R择π₄选■
但投影之后不仅取消了原关系中的某些列,
而且还可能取消某些元组
(避免重复行)2.投影
(Projection)投影(续)[例3]
查询学生的姓名和所在系即求Student关系上学生姓名和所在系两个属性上的投影[例4]
查
询
学
生
关系
Student
中都有哪些系TTsdept(Student)结
果
:
Sdept
SnameSdept李勇刘展王敏张立CSISMAISTsname,Sdept(Student)
或
T₂
,s
(Student)CSISMA结果:3.
连
接
(Join)1)
连接也称为θ连接2)
连
接
运
算
的
含
义从两个关系的笛卡尔积中选取属性间满足一定条件的元组
RAS={
It∈RNt∈S^t[A]θt[B]}>A
和B:分
别
为R和
S
上度数相
等且
可
比
的
属
性
组
>θ:
比
较
运
算
符连接运算从R
和S
的广义笛卡尔积R×S
中选取
(R
关系)
在
A
属
性组
上
的
值
与
(S关系
)
在B属性组上
值
满
足
比
较
关系θ的元组连接(续)3
)两类常用连接运算■
等
值
连
接
(
equijoin)>什么是等值连接θ为“=”的连接运算称为等值连接>等值连接的含义从
关
系R
与
S
的广义笛卡尔积中选取A、
B
属
性值相等的那些元组,
即等值连接为:FS={
It∈R^ts∈SNt[A]=t[B]}连接(续)自
然
连
接
(
Natural
join)·自然连接是
一
种特殊的等值连接>两个关系中进行比较的分量必须是相同的属性组
>在结果中把重复的属性列去掉·自然连接的含义R
和S
具有相同的属性组BRS={
t₅
It∈R^ts∈S^t[B]=t₅
[B]}连接(续)4)
一般的连接操作是从行的角度进行运算。自然连接还需要取消重复列,所以是同时从行和
列的角度进行运算。SR连接(续)AR,BCS.BEa₁b₁5b₂7d₁b₁5b₃10a₁b₂6b₂7a₁b₂6b₃10a₂b₃8b₃10BEb₁b₂b₃b₃bs371022ABCa₁b₁5a₁b₂6a₂b₃8a₂b;12一般连接RC<ES的结果如下:RmSC<E[例5]关
系R
和关系S如下所示:SR连接(续)等值连接
R
S
的结果如下:R.B=S.BAd₁a₁a₂a₂R.BCS.Bb₁b₂b₃b₃5688b₁b₂b₃b₃E37102自然连接
R
S
的结果如下:Aa₁a₁a₂a₂BCb₁b₂b₃b₃5688E37102连接(续)外连接■
如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值
(Null),
这种连接就叫做外连接(
OUTER
JOIN)。左外连接■如果只把左边关系R
中要舍弃的元组保留就叫做左外连接(LEFT
OUTER
JOIN或LEFT
JOIN)右外连接■
如果只把右边关系S
中要舍弃的元组保留就叫做右外连接(RIGHTOUTER
JOIN或RIGHT
JOIN)。连接(续)ABCEa1b₁53a1b₂67Q2bs810a₂b₃82a₂b₂12NULLABCEaib₁53anb₂67Q₂b₃810a₂b₃82NULLbsNULL2ABCEa₁b₁53a₁b₂67a₂b₃810a₂b₃82a₂b₄12NULLNULLbsNULL2图(b)
是例5中关系R和关系S的左外连接,(a)
外连接图(c)是右外连接下图是例5中关系R和关系S的外连接(b)
左
外
连
接
(c)右
外
连
接4.
除
(Division)给定关系R(X,Y)和S(Y,Z),
其
中X,Y,Z
为属性组。R中
的Y与S
中的
Y可以
有
不同
的
属
性
名,
但
必
须出自
相同
的
域
集
。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在
X
属性列上的投影:元组在X上分量值x
的象集Y包含S
在Y上投影的集合,记作:R÷S={tx[X]|t
∈RAπy(S)≤Y,}Y:x
在R中的象集,
x=t[X]除(续)除操作是同时从行和列角度进行运算SRABCa₁b₁C₂a₂b₃C₇a₃b₄C₆aib₂C₃d₄b₆C6a₂b₂C₃a1b₂C1除(续)[
例
6
]
设
关
系R、S分别为下
图
的(a)
和
(b),R÷S的结
果
为
图(c)R
SBCDb₁C₂d₁b₂C1d₁b₂C₃d₂Aa₁(b)R÷S(c)(a)分析在关系R中
,A可以取四个值{a1,a2,a3,a4}a₁
的象集为{(b₁,c₂),(b₂,c₃),(b₂,c₁)}a₂
的象集为{(b₃
,c),(b₂,c₃)}a₃的象集为{(b₄
,C₆)}a₄的象集为{(b₆
,C₆
)}S
在
(B,C)
上的
投
影
为{(b1,c2),(b2,c1),(b2,c3)}只
有a₁的象集包含了S在(B,C)属
性
组
上的
投
影所
以
R÷S={a₁}除法
运
算(Division):
设
关系R和S的度数分别为n
和
m(n>m>0),
那
么R÷S
是
一
个度数为(n
-m
)的关系,
它满足下列条件:R÷S
中的每个元组t与S
中每个元组u所组成的元组(t,u)必
在
关
系R中。为叙述方便起见,
我
们
假
设S
的属性为R中
的
后m
个
属
性,
则R÷S的具体计算过程如下:除法运算(补充)(1)T=II₁,2…n-m(R)
(2)W=(T×S)-R(3)V=II₁,2…nm(W)
(4)R÷S=T-V(即计算T×S
中但不在R中的元组)ABCDb₁b₁b₁b₂b₃b₃C1C2C3C2C1C₂d₁d₂d₃d₂d₁d₂ABa₁a₂a.3ABa1a₃BCDC1C2d₁d₂ABCDa₂b₂C₁d₁ABa₂b₂关
系R
和
S
的
除
法R÷SR-
SWVbqqa1a1e
e
e
e RST5.
综合举例以学生-
课程数据库为例
(P56)[例7]
查询至少选修1号课程和3
号课程的学生号码首先建立
一
个临时关系K:然后求:
TTsno,cno(SC)÷K200215121
象集
{
1
,
2
,
3
}
200215122
象集{2,3}K={1,3}SnoCno20021512120021512120021512120021512220021512212323于是:Tsno,cno(SC)÷K={200215121}[例8]查询选修了2号课程的学生的学号。Tsno(σcno=2(SC))={200215121,200215122}[例9]查询至少选修了
一
门其直接先行课为5
号课程的学生姓名[例10]查询选修了全部课程的学生号码和姓名。TTsno,cno(SC)÷Tcno(Course)TTsno,Sname(Student)Student))TTsno,Sname(Student))SC)
TTsno,Sname(Student))TTsname(Gcpno=s
(Course或Tsname(Ocpno-s(Course)综合举例(续)或
Tsname(Tsno
(Gcpno-s(Course)SCSC小结关系代数运算关系代数运算并、差、交、笛卡尔积、投影、选择、连接、
除
*
基本运算并、差、笛卡尔积、投影、选择交
、
连
接
、
除可以用5种基本运算来表达引进它们并不增加语言的能力,但可以简化表达关系代数表达式■
关系代数运算经有限次复合后形成的式子2.5.1
关系模式规范化的必要性2.5.2
数值依赖2.5.3
范式与规范化2.5.4
关系分解原则关系数据库的规范化构造几个关系?
每个关系由哪些属性组成?关系数据库的设计归根到底是如何构造关系,即如何把具体的客观事物划分为
几
个关系,而每个关系又由哪些属性组成,就是要构造“好的”、
“合适”的关系
模式。由于合适的关系模式要符合一定的规范化要求,所以又称其为关系数据库的规范
化理论。2.5.1
关系规范化的必要性1.关系数据库逻辑设计问题关系数据库
关系
属性2.规范化理论研究的内容(1)
函数依赖核
心
模式分解和设计的基础(2)范式模式分解的标准(3)模式设计1.
关
系
模
式
应
满
足
的
条
件2.关系规范化可能出现的问题2.5.1
关系模式规范化的必要性关系数据库的设计主要是关系模式的设计。关系模式设计
的好坏将直接影响到数据库设计的成败。将关系模式规范化,使之达到较高的范式是设计好关系模
式的唯一途径。否则,所设计的关系数据库会产生一系列
的问题。1.关系模式应满足的条件关系数据库是根据关系模式设计的。好的关系模式除了能
满足用户对信息存储和查询的基本要求外,还应当使它的数据库
满足如下要求。(1)元组的每个分量必须是不可分的数据项关系数据库特别强调,
关系中的属性不能是组合属性,必须是基
本项,并把这
一
要求规定为鉴别表格是否为“关系”的标准。如
果表格结构的数据项都是基本项,
则该表格为关系,
它服从关系
模式的第
一
范式,以后可以在此基础上进
一
步规范化。否则,如
果表格结构中含有组合项,必须先使之转换为基本数据项。(2)数据库中的数据冗余应尽可能少数据冗余大是指数据库中重复的数据过多。“数据冗余”是数据
库最忌讳的毛病,数据冗余会使数据库中的数据量巨增,
系统负
担过重,并浪费大量的存储空间。数据冗余还可能造成数据的不
完整,增加数据维护的代价。数据冗余还会造成数据查询和统计
的困难,并导致错误的结果。尽管关系数据库是根据外键建立关系之间的连接运算的,
外键数
据是关系数据库不可消除的“数据冗余”,但在设计数据库时,
应千方百计将数据冗余控制在最小的范围内,不必要的数据冗余
应坚决消除。(3)关系数据库不能因为数据更新操作而引起数据不
一
致问题如果数据模式设计的不好,就可能造成不必要的数据冗余,
一
个信息就会多次的在多地重复存储。对于“数据冗余大”的关
系数据库,
当执行数据修改时,这些冗余数据就可能出现有些
被修改,有些没有修改,从而造成数据不
一
致问题。数据不
一
致问题影响了数据的完整性,使得数据库中数据的可信度降低O(4)当执行数据插入操作时,
数据库中的数据不能产生插入异
常现象所谓插入异常是指希望插入的信息由于不能满足数据完整性的
某种要求而不能正常地被插入到数据库的异常问题。出现数据插入异常问题的主要原因是由于多种信息混合放在一
个表中,就可能造成因一种信息被捆绑在其他信息上而产生的
信息之间相互依附存储的问题,这是使得信息不能独立插入的
关键所在。(5)数据库中的数据不能在执行删除操作时产生删除异常问题删除异常是指在删除某种信息的同时把其他信息也删除了
。删除异常也是数据库结构不合理产生的毛病。和插入异常
一
样,如果关系中多种信息捆绑在一起,当被删除信息中含有关
系的主属性时,
由于关系要满足实体完整性,整个元组将全部
从数据库中被删除,即出现删除异常。(6)数据库设计应考虑查询要求,数据组织应合理在数据库设计时,不仅要考虑到数据自身的结构完整性,还
要考虑到数据的使用要求。为了使数据查询和数据处理高效简
洁,特别是对那些查询实时性要求高、操作频度大的数据,有
必要通过视图、
索引和适当增加数据冗余的方法,来增加数据
库的方便性和可用性。2.关系规范化可能出现的问题在我们构造关系时,经常会发现数据冗余和更新异常等现象,这是由关系中各属性之间的相互依赖性和独立性造成的。如果
一个关系没有经过规范化,可能会导致上述谈到的数据冗余大、
数据更新造成不
一
致、
数据插入异常和删除异常问题。例如,
要求设计
一
个教学管理数据库,希望从该数据库中得到学生学
号、姓名、
性别、年龄、
所在系、
系主任姓名、
学生学习的课程和该
课程的成绩信息。若将此信息要求设计为
一个关系,则关系模式为:学生(学号,姓名,性别,年龄,所在系,系主任姓名,课程名,成绩)O此关系模式的主键为(学号,课程名)。仅从关系模式上看,该关系已经
包括了需要的信息,如果按此关系模式建立关系,
并对它进行深入分析,就会发现其中的问题所在。该关系存在着如下问题:(1)数据冗余大。每
一
个“所在系”和“系主任姓名”存储的次数等于该系的学生人数乘以每个学生选修的课程门数。(2)插入异常。
一
个新系没有招生时,“所在系”和“系主任姓名”无法插入到数据库中,因为在这个关系模式中,主键是(学号,课程名),而这时因
没有学生而使得学号无值,所以没有主属性值,关系数据库无法操作,
因
此引起插入异常。(3)删除异常。
当一个系的学生都毕业了而又没招新生时,删除了全部学生记录,随之也删除了“所在系”和“系主任姓名”。这个系依然存在,而在数据库中却无法找到该系的信息,
即出现了删除异常。(4)更新异常。若某系更换系主任,数据库中该系的学生记录应全部修改。如
有不慎,某些记录漏改了,则造成数据的不
一
致出错,
即出现了更新异常O1.
函
数
依
赖2.平凡函数依赖与非平凡函数依赖
3.完全函数依赖与部分函数依赖4.传递函数依赖2.5.2
数据依赖数据之间
存
在
的各
种
联
系
现
象
称
为
数
据
依
赖
(Data
Dependency),
它是同
一
关系中属性间的相互依赖和相互制约。而数据冗余和更新异常等现象与数据依赖有着紧密的关联。关系规范理论致力于解决关系模式中不合适的数据依赖问题在数据依赖中,函数依赖(Functional
Dependency,FD)是
最基本的
一
种依赖形式,
它反映了同
一
关系中属性间
一
一
对
应的约束,
它是关系模式中属性之间最常见的
一
种依赖关系
,也是关系模式中最重要的
一
种约束。函数依赖普遍地存在于现实生活中。例如,描述一个
学生的关系,可以有“学号”、“姓名”、
“所在系”等
几个属性。
由于一个学号只对应一个学生,
一个学生只在
一个系。因而当“学号”值确定之后,姓名及其所在系的
值也就被唯一地确定了。属性间的这种依赖关系类似于数学中的函数。
因此说学号
函数决定姓名和所在系,
或者说姓名和所在系函数依赖于
学号,记作:
学号
→
姓名,学号
→
所在系。关系模式的表示关系模式的完整表示:R<U,D,DOM,F>■
R为关系名,
U
为关系的属性集合
■D为属性集U中属性的数据域■
DOM
为属性到域的映射■F
为属性集U的数据依赖集简化表
示:
R<U,F>1.函数依赖假
设R(U)
是
一
个关系模式,U是R的属性集合,
X和Y是U的子集
。对于R(U)的任意
一
个可能的关系r,如
果r
中不存在两个元组
,
它们在X上的属性值相同,而在Y上的属性值不同,则称“X
函数确定Y”
或
“Y函数依赖于X”,记
作X→Y。注意:
X和Y都是属性组,如果X→Y,表
示X中取值确定时,
Y中
的取值惟
一
确定,即X决
定Y或Y函数依赖于Y,X
是决定因素。函数依赖类似于数学中的单值函数,
函数的自变量确定时,应
变量的值惟一确定。反映了关系模式中属性间的决定关系,体
现了数据间的相互关系。例
7
:
学
生(学号,姓名,性别,年龄,班级号)存在以下的函数依赖:学号
→
姓名学号
→
性别学号
→
年龄学号
→
班级号说
明:(1)函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,
而
是
指R的所有关系实例均要满足的约束条件。(2)函数依赖是RDB用以表示数据语义的机制。人们只能根据数据的语义来确
定函数依赖。例:
“姓名
→
年龄”这个函数依赖只有在没有相同姓名人的条件下成立。若
有相同姓名的人,则“年龄”就不再函数依赖于“姓名”了。(3)
DB
设计者可对现实世界作强制规定例:在学生关系中,设计者可强行规定不允许出现相同姓名的人,
因而使函数依赖“姓名
→
年龄”成立。当插入某元组时,该元组上的属性值必须满足规定的函数依赖,若发现有相同姓名的人存在,
则拒绝插入该元组。(4)若×→Y,则X
称为这个函数依赖的决定属性集。(5)若X→Y,
并
且Y→
×,
则记为X-→Y。(6)若Y
不函数依赖于X,
则记为X
Y。在关系模式R(U)中,对于U的子集X和Y,
如
果X→Y,但YgX,则
称X→Y
是非平凡函数依赖。若YX,
则
称X→Y
为平凡函数依赖。
对于任一关系模式,平凡函数依赖都是必然成立的,
它不反映新
的语义,
因此若不特别声明,
我们总是讨论非平凡函数依赖。3.完全函数依赖与部分函数依赖完全函数依赖:在关系模式R(U)中,如果X→Y,
并且对于X的任何一个真子集
X′
,
都
有X'+¥,
则
称Y完全函数依赖于X,
记
作X一→
Y。部分函数依赖:若X→Y,但Y不
完
全
函数
依
赖
于X,则称Y部
分
函
数
依
赖
于X,记作X
BY。例8:学生(学号,姓名,所在系,
系主任姓名,课程号,成绩)
学生关系模式存在的部分函数依赖:(学号,课程号)
(学号,课程号)
(学号,课程号)所态系系R
任姓名例9:学生(学号,姓名,所在系,系主任姓名,课程名,成绩
),存在如下的函数依赖:学号
→
所在系所在系
→
系主任姓名学号
→
系主任姓名在关系模式R(U)
中,如果X→Y,Y→Z,
则
称Z传递函数依赖于X。4.
传递函数依赖且Y
gX,Z
gY,YX,2.5.3
关系的范式及规范化1.
第
一
范
式(1
NF)2.
第
二
范
式(2
NF)3.
第
三
范
式(3
NF)4.BC
范
式5.
多
值
依
赖6.
第四范式范式是衡量关系模式优劣的标准。范式的级别越高,其数据冗余
和操作异常现象就越少。
范式之间的联系可以表示为
:1NF
≥2NF=
3NF=
BCNF=4
NF=5
NF后面的范式可以看成是前面范式的特例。对于数据库设计者来,
1NF和2NF
本身并不重要,最重要的是3NF
和BCNF
两种范式。关系仅仅满足第一范式的条件是不够的,尤其在增、
删、改时,
往往会出现更新异常。这在前面的关系规范化的必要性中讨论过O为了消除这些异常,人们采用分解的办法,
力求使关系的语义单
纯化,这就是所谓关系的规范化。通过分解把属于低级范式的关
系模式转换为几个属于高级范式的关系模式的集合,这一过程称
为规范化。1第一
范式(1NF)·若一个关系模式R的所有属性都是不可分的基本数据项,则该关
系属于1NF。在任何
一
个RDBS
中,1NF
是对关系模式的
一个必须的要求,不满
足
1NF的DB模式不能称为RDB。DB模式:
多个关系模式的集合。满足1NF的关系模式并不
一
定是好的关系模式。例如:
学生(学号,姓名,所在系,系主任姓名,课程名,
成绩)它
显
然满足
1NF,
但本身
存
在
插
入
异
常
、
删
除
异
常
、
更
新
异
常
和
数据冗余问题,所以它不是一个好的关系模式。若
关
系
模
式R属
于
1NF,且每个
非
主
属
性
都
完
全
函
数
依
赖于主关键字,则R属于2NF。2NF不允许
关
系模
式
中
的
非
主
属
性
部
分
函
数
依
赖
于
主
关
键
字
。2.第二范式(2NF)下面分析一下关系模式“学生”的函数依赖,看它是否服从
2NF
。
如果“学生”模式不服从2NF,
可以根据2NF的定义对它进行分解,使之服从2
NF
。在学生模式中:属性集=(学号,姓名,性别,年龄,所在系,系主任名称,课程名,成绩)函数依赖集={学号
→
姓名,学号
→
性别,学号
→
年龄,学
号
→
所在系,所在系
→
系主任名称,(学号,课程名)
→
成绩}。
主键=(学号,课程名)。非主属性=(姓名,年龄,所在系,系主任姓名,成绩)。非主属性对键的函数依赖={(学号,课程名)
→
姓名,(学号,
课程名)
→
性别,(学号,课程号)
→
年龄,(学号,课程名)
→
所在系,(学号,课程名)
→
系主任姓名;(学号,课程名)
→
成绩}。显
然
,学生模式不服从2
NF
,
即
:教学不属于2
NF。根
据2NF的定义,将学生模式分解为;学生-系(学号,姓名,性别,年龄,所在系,系主任姓名);
选课(学号,课程名,成绩)。再用2
NF
的标准衡量学生-系和选课模式,会发现它们都服从
2NF,
即
:学
生
→
系∈2
NF
;
选课∈2
NF。若
关
系
模
式R属
于
1NF,且
每
个
非
主
属
性
都
不
传
递
依
赖
于
主
关
键字,则R属于3NF。若
R∈3NF,
则每一个非主属性既不部分函数依赖于主键,也不传递函数依赖于主键。
3NF
是一个可用的关系模式应满足的最低范式。也就是说,
一
个关系模式如果不服从3NF
,实际上它是不能使用的。考查学生-系关系,会发现由于学生-系的关系模式中存在:学号→
所在系,所在系
→
系主任姓名。则:
学号
→
系主任姓名。
由于
主键“学号”与非主属性“系主任姓名”之间存在传递函数依赖
,所
以学
生-系
不
属
于3
NF
。
如果对学
生-系关
系按3NF的
要
求
进行分解,分解后的关系模式为:学生(学号,姓名,性别,年龄,所在系);教学系(所在系,
系主任姓名)。显然分解
后
的
各
子
模
式
均
属
于3
NF
。4.BC
范式若
关
系
模
式R
属于第
一
范
式
,
且
每
个属
性
都
不
传
递
依
赖
于
主键,则R
属于BC
范式。通常BC
范式的条件有多种等价的表述:
每个非平凡依赖
的左边必须包含主键;
每个决定因素必须包含主键。从
定
义
可
以
看
出BC范式
既
检
查
非
主
属
性
,
又
检
查
主
属
性
,显然比第三范式限制更严。
当只检查非主属性而不检查
主属性时,就成了第三范式。
因此可以说任何满足BC
范式的关系都必然满足第三范式。分析下面的关系是否满足BC
范式。S11
(学号
,
姓名
,
所
在
系)S12
(所
在
系
,
系主
任
姓
名)S2(
学
号
,
课程
名
,
成
绩)S11关系模式中,
由于学生有可能重名,
因此它只有
一
个
主键“学号”,且只有
一
个函数依赖:学号
→
(姓名,所
在系)
,符合BC
范式的条件,所以S11
满
足BC
范式。S12关系模
式
中
,
函数依赖集为所在系→系
主任姓名,
满足BC
范式。S2
关系模式中,
主键为学号、课程名,
函数依赖集为(学
号,课程名)
→
成绩,
因
此S2也满足BC
范式。如果R
属于BC
范
式,由于R排除了任何属性对码的传
递依赖与部分依赖,所以R一
定
属
于3
NF
。
但是,若R∈3NF,
则R
未
必
属
于BC
范
式。BC
范
式比3
NF
又进了
一
步。通常认为BC
范式是修正
的第三范式,有时也称它为扩充的第三范式。对关系模式进行分解的目的:使关系模式更加规范化,从而减少以至消除数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023九年级化学下册 第六章 金属6.4 珍惜和保护金属资源教案 科粤版
- Lesson 8 Lingling went to the US(教学设计)-2024-2025学年接力版英语六年级上册
- Unit 5 Do you have a soccer ball Section A (1a-1c) 教学设计2023-2024学年人教版英语七年级上册
- 2023七年级数学上册 第二章 有理数及其运算4 有理数的加法第1课时 有理数的加法法则教案 (新版)北师大版
- 管道应急预案
- 小学语文二年级上册《称赞》教学设计三
- 2022年四川发展控股有限责任公司校园招聘考试试题及答案解析
- 统编版《道德与法治》六年级下册第2课《学会宽容》精美课件(第1课时)
- 土石坝建设中需要注意的几个问题
- 2023年菏泽市选聘市属事业单位工作人员考试真题
- 化学专业书籍大全2366
- 连锁经营与管理
- 电厂安康杯竞赛活动方案
- 内蒙古专业技术职务任职资格评审表
- 提高患者吸氧依从性品管圈课件2
- 小学音乐-《打字机》教学设计学情分析教材分析课后反思
- 环境设计概论PPT完整全套教学课件
- 新学期-新初三新目标-新状态-九年级开学主题班会课件
- 初中语文人教七年级上册第二单元群文阅读《金色花》《荷叶母亲》
- 《人文地理学》4 文化与人文地理学
- 初中数学整式乘法与因式分解500题(含解析)
评论
0/150
提交评论