关系模式分解
- 格式:ppt
- 大小:395.50 KB
- 文档页数:7
2.保持FD (函数依赖)的分解定义1:设F 是属性集U 上的FD 集,Z 是U 的子集,F 在Z 上的投影用πZ (F)表示,定义为πZ (F)={X →Y|X →Y ∈F +,且XY ⊆Z}定义2. 设},...{1K R R =ρ 是R 的一个分解,F 是R 上的FD 集,如果有)(1F R i ki π=Y ╞ F ,那么称分解ρ保持函数依赖集F 。
根据定义1,测试一个分解是否保持FD ,比较可行的方法是逐步验证F 中的每个FD 是否被)(1F R i ki π=Y 逻辑蕴涵。
如果F 的投影不蕴涵F ,而我们又用},...{1K R R =ρ表达R ,很可能会找到一个数据库实例σ 满足投影后的依赖,但不满足F 。
对σ的更新也有可能使r 违反FD 。
案例1:R (T#,TITLE ,SALARY )。
如果规定每个教师只有一个职称,并且每个职称只有 一个工资数目,那么R 上的FD 有T#→TITLE 和TITLE →SALARY 。
如果R 分解成ρ={R 1,R 2},其中R 1={T#,TITLE},R 2={T#,SALARY }。
则该分解具有无损连接性,但未保持函数依赖,丢失了依赖TITLE →SALARY 。
习题1:设关系模式R (ABC ),ρ={AB ,AC}是R 的一个分解。
试分析分别在F 1={A →B};F 2={A →C ,B →C},F 3={B →A},F 4={C→B,B→A}情况下, 是否具有无损分解和保持FD的分解特性。
算法1:分解成2NF模式集的算法设关系模式R(U),主码是W,R上还存在FD X→Z,并且Z是非主属性和X⊂W,那么W→Z就是非主属性对码的部分依赖。
此时,应把R分解成两个关系模式:R1(XZ),主码是X;R2(Y),其中Y=U-Z,主码仍为W,外码是X(参照R1)利用外码和主码的连接可以从R1和R2重新得到R。
如果R1和R2还不是2NF,则重复上述过程,一直到数据库模式中的每个关系模式都是2NF为止。
关系模式的分解准则
关系模式的分解准则有:
(1)实体冗余(E-R)分解法。
根据E-R模式的规则,可以把一个实体分成多个实体,其中重要的实体可以多次出现。
(2)覆盖索引(CRC)分解法。
它考虑了实体约束和属性约束,用两个分解条件来分解关系模式,即冗余表分解(RD)和实体冗余分解(ERD)。
(3)非集中规范化(3NF)分解法。
它强调的是保持一般情况表的不可分割性,
其分解方法是根据实体与属性的约束,从模式中把出现在死关系中的属性拆分出来。
(4)最终规范化(BCNF)分解法。
这种分解方法更强调实体的约束,它是根据实体与实体之间的约束,把关系拆分成几个满足BCNF规范化要求的子集。
数据库范式分解数据库范式分解是关系数据库设计中非常重要的步骤。
其作用是将一个复杂的关系模式分解成多个更小的、更简单的关系模式,以便于数据的存储和管理。
数据库范式分解能够提高数据库的数据完整性和可靠性,避免数据冗余和不一致性,提高数据处理效率。
在数据库设计中,范式分解的目的是消除冗余数据,保持数据的完整性和一致性。
数据库设计要保证数据的每个属性只有一个地方存放,在数据库有多个实例时,这个属性的值就必须保持一致。
如果数据有冗余,由于这个属性值在不同的地方存放,就可能会产生不一致的情况。
因此,范式分解的目的就是尽量减少数据的冗余。
根据关系数据库理论,数据库中的数据分为不同的范式,从第一范式(1NF)到第五范式(5NF)。
每个范式都有其独特的规则和要求,用于确保数据的正确性和一致性。
在范式分解中,关系模式根据其范式级别进行分解,范式越高则数据冗余越少,关系模式结构越简单。
在实际数据库设计中,我们通常采用前三范式(1NF、2NF、3NF)进行范式分解。
其中,第一范式要求每个属性只包含一个值,即属性具有原子性;第二范式要求将关系模式的每个非主属性都完全依赖于主属性,即表中的每个非主属性都只依赖于主属性;第三范式要求关系模式的非主属性之间不存在传递依赖,即任何非主属性都不依赖于其他非主属性。
在范式分解时,首先要进行函数依赖分析,即确定每个属性之间的依赖关系。
然后根据依赖关系将关系模式进行分解,使其尽量符合范式要求。
例如,可以将一个原始的关系模式分解为多个符合第三范式的关系模式,从而消除冗余数据并确保数据的一致性。
但是,范式分解也存在一些问题。
范式分解会使得数据的查询效率降低,因为查询需要在多个表中进行,而且不同表的之间的关联也需要花费较多的时间。
此外,在进行范式分解时,有时候会出现数据丢失或不一致的情况,需要做好相关的数据备份和恢复措施。
总之,数据库范式分解是数据库设计中必不可少的一部分。
通过范式分解,我们可以提高数据库的数据完整性和可靠性,避免数据冗余和不一致性,提高数据处理效率。
一、选择题1 关系模型中,一个关键字是()。
A.可由多个任意属性组成B.至多由一个属性组成C.可由一个或多个其值能惟一标识该关系模式中任何元组的属性组成D.以上都不是C2 关系数据库中的关键字是指( ) 。
A.能唯一决定关系的字段B.不可改动的专用保留字C.关键的很重要的字段D.能唯一标识元组的属性或属性集合D3 在一个关系中如果有这样一个属性存在,它的值能唯一地标识关系中的每一个元组,称这个属性为( )。
A.关键字B.数据项C.主属性D.主属性值A4 关系模式分解的结果()。
A.惟一B.不惟一,效果相同C.不惟一,效果不同,有正确与否之分D.不惟一,效果不同,有应用的不同D5 3NF同时又是()。
A.2NFB.1NFC. BCNFD.1NF,2NFD6 当B属性函数依赖于A属性时,属性A与B的联系是()。
A. 1对多B. 多对1C. 多对多D. 以上都不是A7 当关系模式R(A,B)已属于3NF,下列说法中( )是正确的。
A.它消除了删除异常B.仍存在插入和删除异常C.属于BCNF D.它消除了插入异常B8 根据关系数据库规范化理论,关系数据库的关系要满足第一范式。
下面"部门"关系中,因哪个属性而使它不满足第一范式?( )A.部门总经理B.部门成员C.部门名D.部门号B9 关系模式规范化的最起码的要求是达到第一范式,即满足()。
A.每个非码属性都完全依赖于主码。
B.主码属性唯一标识关系中的元组C.关系中的元组不可重复D.每个属性都是不可分解的数据项。
D10 关系模式中,满足2NF的范式()A.不可能是1NFB.可能是3NFC.必定是1NF且必定是3NFB11 关系模式中不存在任何非主属性对主属性的完全函数依赖,则其范式()A.是1NFB.是2NFC.是3NFB12 关系数据库规范化的目的是为解决关系数据库中()问题。
A.插入删除异常和数据冗余B.提高查询速度C.减少数据操作的复杂性。
自考04735数据库原理及应用关系模式设计理论要求、目标:了解关系数据库规范化理论及其在数据库设计中的作用,重点是函数依赖和范式,要求掌握这些概念并能运用它们来进行模式分解。
一、关系模式的设计准则1.数据冗余:同一个数据在系统中多次重复出现。
2.关系模式设计不当引起的异常问题:数据冗余、操作异常(包括修改异常、插入异常和删除异常)3.关系模式的非形式化设计准则1)关系模式的设计应尽可能只包含有直接联系的属性,不要包含有间接联系的属性。
也就是,每个关系模式应只对应于一个实体类型或一个联系类型。
2)关系模式的设计应尽可能使得相应关系中不出现插入异常、删除和修改等操作异常现象。
3)关系模式的设计应尽可能使得相应关系中避免放置经常为空值的属性。
4)关系模式的设计应尽可能使得关系的等值连接在主键和外键的属性上进行,并且保证以后不会生成额外的元组。
4.习惯使用的一些符号:1)英文字母表首部的大写字母“A,B,C,…”表示单个的属性。
2)英文字母表尾部的大写字母“…,U,V,W,X,Y,Z”表示属性集。
3)大写字母R表示关系模式,小写字母r表示其关系。
4)关系模式的简化表示方法:R(A,B,C,…)或R(ABC…)5)属性集X和Y的并集简写为XY。
二、函数依赖1.函数依赖(FD)的定义:设有关系模式R(U),X和Y是属性集U的子集,函数依赖是形成X→Y的一个命题,只要r是R的当前关系,对r中任意两个元组t和s,都有t[X]=s[X]蕴涵t[Y]=s[Y],那么称FD X→Y在关系模式R(U)中成立。
说明:1)t[X]表示元组t在属性集X上的值,其余类同。
2)X→Y读作“X函数决定Y”或“Y函数依赖于X”。
3)FD是对关系模式R的一切可能的关系r定义的。
对于当前关系r的任意两个元组,如果X值相同,则要求Y值也相同,即有一个X值就有一个Y值与之对应,或者说Y值由X值决定。
例:设关系模式R(ABCD),在R的关系中,属性值间有这样的联系:A值与B值有一对多联系;C值与D值之间有一对一联系。