Skip to content

Commit ba39056

Browse files
committed
typo
1 parent 4032723 commit ba39056

File tree

2 files changed

+9
-10
lines changed

2 files changed

+9
-10
lines changed

_posts/2025-06-01-关于DBS中的函数依赖与关系模式范式.md

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,18 @@ math: true
2525
- $r$指代任意一个$R$的实例(即该抽象关系模式的一个具体关系模型实例)
2626
- $X$和$Y$分别是关系模式$R$中包含的属性(数据表$r$的列)的任意一种子集
2727
- $t_1$和$t_2$是关系模型$r$中的任意两个元组(数据表$r$的行)
28-
- 若$t_1[X]=T_2[X]$可以推出$t_1[Y]=T_2[Y]$,则说明$X$和$Y$间具有某种联系,每一组这样的属性子集间的联系都称作$R$的一种**函数依赖**(Functional Dependency),此处记作$X\rightarrow Y$,注意该联系**反向不一定成立**
28+
- 若$t_1[X]=t_2[X]$可以推出$t_1[Y]=t_2[Y]$,则说明$X$和$Y$间具有某种联系,每一组这样的属性子集间的联系都称作$R$的一种**函数依赖**(Functional Dependency),此处记作$X\rightarrow Y$,注意该联系**反向不一定成立**
2929

3030
![函数依赖举例.png](/resources/数据库系统/函数依赖举例.png)
3131

3232
### 1.2 阿姆斯特朗公理
3333

34-
>阿姆斯特朗公理(Armstrong Axioms)是用于推导函数依赖的一组基本推理规则,其中有三条最基本的规则,其余规则均可由这三者推导得出;关系模式$R$的属性集合为$U$,$X,Y,Z,W$等均为$U$的子集,用$F$指代$R(U)$的**所有函数依赖的集合**
34+
>阿姆斯特朗公理(Armstrong Axioms)是用于推导函数依赖的一组基本推理规则,其中有三条最基本的规则,其余规则均可由这三者推导得出
3535
3636
#### 1.2.1 基本规则
3737
- 自反律(Reflectivity):若属性子集$Y$是$X$的子集,则二者组成一对函数依赖$X\rightarrow Y$
38+
- 此时称$X\rightarrow Y$为**平凡函数依赖**(Trivial FD)
39+
- 若不满足$Y\subseteq X$,则称$X\rightarrow Y$为**非平凡函数依赖**(Non-Trivial FD)
3840

3941
$$Y\subseteq X\Rightarrow X\rightarrow Y$$
4042

@@ -73,19 +75,16 @@ $$
7375
\end{aligned}
7476
$$
7577

76-
#### 1.2.3 平凡函数依赖
77-
- 对于函数依赖$X\rightarrow Y$
78-
- 若满足$Y\subseteq X$,则称$X\rightarrow Y$为**平凡函数依赖**(Trivial Functional Dependency),因为由于阿姆斯特朗公理中的自反律,$Y\subseteq X$是显而易见的
79-
- 若不满足,则称$X\rightarrow Y$为**非平凡函数依赖**(Non-Trivial Functional Dependency)
80-
81-
#### 1.2.4 候选键严格定义
78+
#### 1.2.3 候选键严格定义
8279
- 候选键是更严格的超键(关系中某个属性或属性组的值能**唯一标识一个元组**,则该属性或属性组称为超键),若关系中某个超键在**去掉任一属性后不再成为超键**,则其称为候选键
8380
- 关系模式$R$的属性集合为$U$,$K$是$U$的一个子集,若$K$满足$K\rightarrow U$,且不存在一个$K'\subset K$能使得$K'\rightarrow U$,则$K$就是$R$的一个候选键
8481

8582
![候选键的定义.png](/resources/数据库系统/候选键的定义.png)
8683

8784
### 1.3 逻辑蕴含与两类闭包
8885

86+
>关系模式$R$的属性集合为$U$,$X,Y$等代数表示$U$的子集,$F$表示$R(U)$**所有函数依赖的集合**
87+
8988
#### 1.3.1 逻辑蕴含的函数
9089
- 若函数依赖集$F$中**逻辑蕴含**(Logical Implication)$X\rightarrow Y$,则根据$F$中的函数依赖,能够推导出函数依赖$X\rightarrow Y$,这记作
9190

@@ -94,7 +93,7 @@ $$F\models X\rightarrow Y$$
9493
![函数依赖集的逻辑蕴含实例.png](/resources/数据库系统/函数依赖集的逻辑蕴含实例.png)
9594

9695
#### 1.3.2 函数依赖集的闭包
97-
- 关系模式$R$的函数依赖集$F$的**闭包**$F+$指代包含$F$所**逻辑蕴含的所有函数依赖**的集合(离散数学中关系$R$的闭包$S$指的是在$R$的基础上新增几个元素组成新关系$S$,使得$S$是能够满足某种性质$P$的最小的关系,注意与此处的函数依赖闭包进行区分理解
96+
- 关系模式$R$的函数依赖集$F$的**闭包**$F+$指代包含$F$所**逻辑蕴含的所有函数依赖**的集合(离散数学中关系$R$的闭包$S$指的是在$R$的基础上新增几个元素组成新关系$S$,使得$S$是能够满足某种性质$P$的最小的关系,注意与此处的函数依赖闭包进行对比理解
9897

9998
![函数依赖闭包的示例.png](/resources/数据库系统/函数依赖闭包的示例.png)
10099

@@ -319,7 +318,7 @@ $$r=\pi_{R_1}(r)\Join\pi_{R_2}(r)...\Join\pi_{R_n}(r)$$
319318
#### 4.5.2 模式分解
320319
- 当关系模式$R$不满足BCNF时,应当将其分解为满足BCNF的子模式,以下是通用的算法
321320
- 要注意该分解过程中只能保证无损,**而无法保证全部函数依赖关系的保有**(而前文提到的分解为符合2NF/3NF的子模式,是能同时保证无损和依赖保有的)
322-
- 因为BCNF规定函数依赖的左侧不能是非超键,故分解过程中会将那些**左侧为非超键的函数依赖拆开,导致寒素依赖被破坏**
321+
- 因为BCNF规定函数依赖的左侧不能是非超键,故分解过程中会将那些**左侧为非超键的函数依赖拆开,导致函数依赖被破坏**
323322

324323
![BCNF范式的示例P2.png](/resources/数据库系统/BCNF范式的示例P2.png)
325324

-21.4 KB
Loading

0 commit comments

Comments
 (0)