数据库原理第四章关系数据库的模式设计

数据库原理第四章关系数据库的模式设计,第1张

第四章 关系数据库的模式设计

45 什么是关系数据库:

关系数据库是以关系模型为基础的数据库,它利用关系来描述现实世界。一个关系既可以用来描述一个实体及其属性,也可以用来描述实体间的联系。关系实质上是一张二维表。

46 一个关系模型有哪两个方面内容:

一个关系模型包括外延和内涵两个方面的内容。

外延就是通常所说的关系,或实例,或当前值。它与时间有关,随着时间的推移在不断变化。(由于元组的插入、删除、修改引起的)

内涵是与时间独立的,包括关系、属性、及域的一些定义和说明,还有各种数据完整性约束。

47 数据完整性约束分为哪两类:

数据完整性约束分为静态约束和动态约束。

静态约束:包括各种数据之间的联系(数据依赖),主键的设计和关系值的各种限制等等。这一类约束是如何定义关系的有效数据问题。

动态约束:主要定义如插入、删除、和修改等各种 *** 作的影响。

48 关系数据库设计理论主要包括哪些内容:

关系数据库设计理论主要包括三个方面的内容:数据依赖、范式、模式设计方法。其中数据依赖起着核心的作用。

49 数据库使用过程中存在的问题是什么:

数据冗余、更新异常、插入异常、删除异常。

50 函数依赖(FD)的定义:

设有关系模式R(A1,A2,……,An)(即R(U)),X,Y是U的子集,r是R的任一具体关系,如果对r的任意两个元组t1,t2,由t1[X]=t2[X]导致t1[Y]=t2[Y],则称X函数决定Y,或Y函数依赖于X,记为X→Y,X→Y为模式R的一个函数依赖。

或者说,对于X的每一个具体值,都有Y惟一的具体值与之对应,即Y值由X值决定,因而

这种数据依赖称为函数依赖。

51 函数依赖的逻辑蕴涵、FD的闭包F+:

设F是关系模式R的一个函数依赖集,X,Y是R的属性子集,如果从F中的函数依赖能够推出X—>Y,则称F逻辑蕴涵X—>Y,记为F X→Y。

被F逻辑蕴涵的函数依赖的全体构成的集合,称为F的闭包,记为F+。F+={X→Y|F X→Y}

52 候选键、主属性、非主属性:

设有关系模式R(A1,A2,……,An),F是R的一个函数依赖集,X是{A1,A2,……,An}的一个子集。如果

① X→A1A2……An∈F+,且

② 不存在X真子集Y,使得Y→A1A2……An成立,则称X是R的候选键。

包含在任何一个候选键中的属性称为主属性,不包含在任何一个候选键中的属性称为非主属性。

53 函数依赖的推理规则:

设有关系模式R(A1,A2,……,An)和属性集U= A1,A2,……,An,X,Y,Z,W是U的一个子集,F是R的一个函数依赖集,推理规则如下:

(1) 自反律:如果Y X U,则X→Y在R上成立。

(2) 增广律:如果X→Y为F所蕴涵,Z U,则XZ→YZ在R上成立。

(3) 传递律:如果X→Y和Y→Z在R上成立,则X→Z在R上成立。

FD的其他三个推理规则:

(4) 合并律:如果X→Y成立,那么X→YZ成立。

(5) 伪传递律:如果X→Y和WY→Z成立,那么WX→Z成立。

(6) 分解律:如果X→Y和Z Y成立,那么X→Z成立。

54 什么是平凡的FD?平凡的FD可根据哪一条推理规则推出?

如果X→Y,并且Y X,则称X→Y是平凡的FD。根据推理规则的自反律可推出。

55 关系模式的分解有几个不同的衡量标准:

分解具有无损联接;

分解要保持函数依赖;

分解既要保持依赖,又要具有无损联接。

56 什么是无损连接:

设有关系模式R,分解成关系模式ρ={R1,R2,……Rk},F是R的一个函数依赖集。如果对R中满足F的每一个关系r都有:r=πR1(r)|×|πR2(r)|×|……πRK(r),则称这个分解ρ是无损联结分解。

57 试叙保持函数依赖的定义:

设F是属性集U上的一个函数依赖集,Z是U上的一个子集,F在Z上的一个投影定义为:πZ(F)={X→Y|X→Y∈F+且XY Z}

设关系模式R的一个分解为ρ={R1,R2,……Rk},F是R的一个函数依赖集,如果

则称为分解ρ保持函数依赖。

58 第一范式(1NF):

如果关系模式R的所有属性的值域中每一个值都是不可再分解的值,则称R是属于第一范式模式。

59 第二范式(2NF):

如果关系模式R为第一范式,并且R中每一个非主属性完全函数依赖于R的候选键,则称R是第二范式模式。

60 第三范式(3NF):

如果关系模式R是第一范式,且每个非主属性都不传递依赖于R的候选键,则称R是第三范式的模式。

61 BCNF:

如果关系模式R是第一范式,且每个属性都不传递依赖于R的候选键,那么称R是BCNF的模式。从BCNF的定义可明显地得出如下结论:

(1) 所有非主属性对键是完全函数依赖。

(2) 所有主属性对不包含它的键是完全函数依赖。

(3) 没有属性完全函数依赖于非键的任何属性组。

如果模式R是BCNF,则它必定是第三范式,反之,则不一定。

62 模式设计方法的原则:

关系模式R相对于函数依赖集F分解成数据库模式ρ={R1,R2,……Rk},一般应具有下面三个特性:

(1) ρ中每个关系模式Ri是3NF或BCNF

(2) 保持无损联结

(3) 保持函数依赖集

(4) ρ中模式个数最少和属性总数最少。

63 一个好的模式设计方法应符合哪三条原则:

表达性,分离性,最小冗余性。

表达性涉及到两个数据库模式的等价性问题,即数据等价和依赖等价,分别用无损联接和保持函数依赖性来衡量。

分离性是指属性间的“独立联系”应该用不同的关系模式表达。

最小冗余性要求在分解后的数据库能表达原来数据库的所有信息这个前提下实现。

关系模式设计方法基本上可以分为分解与合成两大类。

64 多值依赖MVD:

设R(U)是属性集U上的一个关系模式,X,Y是U的子集,若对R(U)的任一关系r,对于X的一个给定的值存在着Y的一组值与其对应,同时Y的这组值又不以任何方式与U-X-Y中的属性相关,那么称Y多值依赖于X,记为X→→Y。

65 平凡多值依赖:

对于属性集U上的一个多值依赖X→→Y,如果Y X或者XY=U,那么称X→→Y是一个平凡多值依赖。

66 第四范式(4NF):

设关系模式R,D是一个多值依赖集,如果D中存在一个非平凡多值依赖X→→Y,并且X必是R的超键,那么称R是4NF模式。

数据依赖是关系内部属性之间相关联系的表达,是语义的体现,是构成数据的约束,大多数数据依赖是函数依赖,它是关系中“键”概念的范化。

使用数据依赖这一概念来定义关系模式的规范形式,即规范化理论。

函数依赖FD

A1,A2,……,An——>B1,B2,……,Bm

(若两个元组A1到An上相同则B1到Bm也相同,A1到An函数决定B1到Bm)

从已知FD推断其它FD

FD的集合T,S

T与S等价:关系实例集合满足S与其满足T的情况完全一样

(S是从T中推断而来,T也是从S中推断而来)

S从T中推断而来:满足T的关系实例也满足S(S蕴涵于T)

分解/结合规则:

平凡函数依赖

一个约束对所有关系实例都成立,且与其它约束无关

平凡FD的右边是左边的子集

平凡依赖规则:

(注:

非平凡函数依赖:仅当其右边属性集中至少有一个属性不属于左边的集合。例如: title year →year length

完全非平凡函数依赖:仅当其右边集合中的属性均不在左边集合中。例如: title year →length)

属性的闭包

S下{A1,A2,……An}的闭包{A1,……An}上标+

就是A中可以从S推断出来的右边变成一个集合

从一个给定集合A出发,不断扩展这个集合,对于S中的FD分解使右边只有一个属性,然后对于FD,只要左边都在集合中就把右边也加到集合中。p42

传递规则

函数依赖的闭包集合

求函数依赖集F的闭包F+:求所有属性子集的闭包(不考虑空集),然后利用每个闭包来写FD(A->空集也要写)

S的基本集:任何和S等价的FD集合

最小化基本集:右边均是单一属性;删除任何一个FD后不再是基本集;

对于任何一个FD,若删除其左边一个或多个属性,不再是基本集

投影函数依赖

R投影到R1

函数依赖集S的投影为满足以下条件的FD的集合:1从S推断而来2只包含R1中的属性

对R1的所有子集求闭包,得到FD的基本集,简化为最小基本集

“求属性子集闭包”的几个主要应用

1求所有候选键

2求所有非平凡FD

3求所有违反BCNF的非平凡FD(投影函数依赖应用1)

4求非平凡FD的最小基本集(投影函数依赖应用2)

简化规则:

1不必考虑空集(适用于1-4)

2不必考虑不能推出非平凡函数依赖的属性子集X(适用于1-4)

21属性子集X的任何一个子集都不是FD的左部,无法推出非平凡FD,无需求该属性子集X的闭包。如例1

22不必考虑属性全集U的闭包。

23 属性子集X+的闭包依然是X+本身,无法推出非平凡FD,不需要再求X+的闭包

3如果已知属性子集X, X+是属性全集,那么就无需考虑任何X超集的闭包。(注意:!!!!!!不适用于2!!!!!!)

异常:冗余;更新异常;删除异常

分解关系

将一个关系用多个不存在异常的关系替换

Boyce-Codd范式BCNF

每个非平凡FD的左边都必须是超键

任何一个二元关系属于BCNF

(BCNF范式在3NF的基础上,消除主属性对键的部分函数依赖与传递函数依赖)

分解为BCNF

输入:关系R0其上的函数依赖集S0

输出:由R0分解出的关系集合,每个关系都属于BCNF

方法:R=R0 S=S0

1检验R是否属于BCNF若是则返回{R}

2有BCNF违例X->Y,计算X的闭包,令R1为X的闭包,R2为X与不在X的闭包中的属性

3计算R1,R2的投影函数依赖S1,S2

4递归检验R1,R2

分解的优势

1消除异常

2信息的可恢复

3依赖的保持

BCNF可保持1,2

3NF可保持2,3

无损连接的分解

子关系经连接(这里指自然连接)运算可恢复原关系

保持依赖的分解

子关系的函数依赖集可蕴涵原函数依赖集

从分解中恢复信息

无损连接:可通过连接分解的各个关系重构原关系

若Y->Z在关系R上成立,且R的属性集为X∪Y∪Z,则R=π{下标X∪Y}(R)⋈π{下标Y∪Z}(R)

chase算法:检验一个分解是否含有无损连接,即判断是否可以根据F中的FD来证明所有属于π{下标s1}(R)⋈π{下标s2}(R)⋈……⋈π{下标sk}(R)的元组t也属于R

依赖的保持

BCNF无法保持 p57例325

第三范式3NF

拥有无损连接和依赖保持性质

条件:对于每个非平凡FD,或者其左边是超键,或者其右边仅由主属性构成

以上就是关于数据库原理第四章关系数据库的模式设计全部的内容,包括:数据库原理第四章关系数据库的模式设计、关系数据库设计理论、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9700436.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存