-
函数依赖:FD(function dependency),设有关系模式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的一个函数依赖。
-
部分函数依赖:即局部依赖,对于一个函数依赖W→A,如果存在XW(X包含于W)有X→A成立, 那么称W→A是局部依赖,否则称W→A为完全函数依赖。
-
传递依赖:在关系模式中,如果Y→X,X→A,且XY(X不决定Y), AX(A不属于X),那么称Y→A是传递依赖。
-
函数依赖集F的闭包F+: 被逻辑蕴涵的函数依赖的全体构成的集合,称为F的闭包(closure),记为F+。
-
自反律:如果YXU,则X→Y在R上成立。
-
增广律:如果X→Y为F所蕴涵,ZU,则XZ→YZ在R上成立。(XZ表示X∪Z,下同)
-
传递律:如果X→Y和Y→Z在R上成立,则X→Z在R上成立。
以上三条为Armstrong公理系统 -
合并律:如果X→Y和X→Z成立,那么X→YZ成立。
-
伪传递律:如果X→Y和WY→Z成立,那么WX→Z成立。
-
分解律:如果X→Y和ZY成立,那么X→Z成立。
这三条为引理
-
函数依赖推理规则系统(自反律、增广律和传递律)是完备的。
-
由自反律所得到的函数依赖均是平凡的函数依赖。
四种范式的含义:
-
如果某个数据库模式都是第一范式的,则称该数据库模式是属于第一范式的数据库模式。
-
如果关系模式R为第一范式,并且R中每一个非主属性完全函数依赖于R的某个候选键,则称为第二范式模式。
-
如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的候选键,则称R为第三范式模式。
-
若关系模式R是第一范式,且每个属性都不传递依赖于R的候选键。这种关系模式就是BCNF模式。
BCNF3NF2NF1NF
1NF |
↓ | 消去非主属性对键的部分函数依赖 |
2NF |
↓ | 消去非主属性对键的传递函数依赖 |
3NF |
↓ | 消去主属性对键的传递函数依赖 |
BCNF |
U=ABCDEG,F={AD→E,AC→E,CB→G,BCD→AG,BD→A,AB→G,A→C}
(1) 求此模型的最小函数依赖集。
(2) 求出关系模式的候选码。
(3) 此关系模型最高属于哪级范式。
(4) 将此模型按照模式分解的要求分解为3NF。
依照题意,得出:
(1)通过最小集求法:
-
分解函数依赖的右部, F={AD→E,AC→E,BC→G,BCD→A,BCD→G,BD→A,AB→G,A→C}
-
消去左边的冗余属性:F={A→E,A→E,BC→G,BD→A,BC→G,BD→A,AB→G,A→C}
-
消去冗余的函数依赖:Fm={A→E,BC→G,BD→A,A→C}
(2)候选码:BD
(3)R中每一个非主属性完全函数依赖于R的候选键BD;但C,G,E都传递依赖于R的候选键BD,也就是说,R满足2NF的要求,而不满足3NF的要求。此关系模型最高属于2NF。
(4)依据算法4.4
R1:U1=ABD F1={BD→A}
- 分解具有“无损连接性”
- 分解要“保持函数依赖”
- 分解既要“保持函数依赖”,又要具有“无损连接性”
首先,检查是否具有无损联接特点:
第1种解法--算法4.2:
|
| |||||||||||||||||||||
(1) 构造表 |
(2)根据A→B进行处理 |
结果第二行全是a行,因此分解是无损联接分解。
第2种解法:(定理4.8)
R1(AB)∩R2(AC)=A
R2- R1=B
∵A→B,∴该分解是无损联接分解。
然后,检查分解是否保持函数依赖
πR1(F1)={A→B,以及按自反率推出的一些函数依赖}
πR2(F1)={按自反率推出的一些函数依赖}
F1被πR1(F1)所蕴涵,∴所以该分解保持函数依赖。
- 若只要求分解具有“无损连接性”,一定可以达到4NF;
- 若要求分解要“保持函数依赖”,可以达到3NF,但不一定能达到BCNF;
- 若要求分解既要“保持函数依赖”,又要具有“无损连接性”,可以达到3NF,但不一定能达到BCNF;
上一篇:游戏开发要素设计
下一篇:数据库设计三大范式应用实例剖析
-
【数据库之函数依赖】
一、函数依赖关系 1.数据依赖 数据依赖通常包括函数依赖和多值依赖。
函数依赖 数据库 图形 标题 传递函数依赖 -
数据库设计之范式与反范式
范式设计什么是范式?范式来自英文Normal Form,简称NF。要想表之间设计—个好的关系
数据库 mysql 范式 反范式 3NF -
数据库,部分函数依赖,传递函数依赖,完全函数依赖,三种范式的区别
数据库,部分函数依赖,传递函数依赖,完全函数依赖,三种范式的区别
数据库 函数依赖 范式 第一范式 第二范式 -
数据库规范化:函数依赖,三范式的区别
函数依赖的定义关系模式中的各属性之间相互依赖...
函数依赖 第一范式 第二范式 传递函数依赖 推理规则 -
数据库关系模式函数依赖、键、范式的基本概念完全函数依赖 非主属性 部分函数依赖 传递函数依赖 函数依赖
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M