1. 函数依赖

    • R(U)是属性集 U 上的关系模式,X,YU 的子集。若对于 R(U)的任意一个可能的关系 r,r 中不可能存在两个元组在 X 上的属性值相等,而在 Y 上的属性值不等,则称 X函数确定YY 函数依赖于 X,记作$X \rightarrow Y$。

      术语&记号
      $X \rightarrow Y$,但 $Y\nsubseteq X$,则称$X \rightarrow Y$是非平凡的函数依赖
      $X \rightarrow Y$,但 $Y\subseteq X$,则称$X \rightarrow Y$是平凡的函数依赖。对于任一关系模式,平凡还是依赖总是成立。
      若 $X \rightarrow Y$,则称 X 为这个函数依赖的决定属性组,也称决定因素
      若 $X \rightarrow Y$,$Y \rightarrow X$,则记作 $X \leftarrow \rightarrow Y$。
      若 Y 不函数依赖于 X,则记作 $X \nrightarrow Y$。

    • 在 R(U) 中,如果 $X \rightarrow Y$,并且对于X 的任何一个真子集 $X^{‘}$, 都有 $X^{‘} \nrightarrow Y$,则 Y 对 X 完全函数依赖,记作
      $$ X \mathop{\rightarrow}^{ F} Y$$
      否则为部分函数依赖,记作
      $$ X \mathop{\rightarrow}^{ P} Y$$

    • 在 R(U) 中,如果 $X \rightarrow Y(Y\nsubseteq X)$,$Y \nrightarrow X$,$Y \rightarrow Z$,$Z\nsubseteq Y$ 则称 Z 对 X传递函数依赖。记作$ X \mathop{\rightarrow}^{传递} Y $。
    • 设 K 为 R< U,F> 中的属性和属性组合,若 $ K \mathop{\rightarrow}^{ F} U$,则K 为 R的候选码
      若 U 部分函数依赖于 K ,即 $ K \mathop{\rightarrow}^{ P} U$,则 K 成为 超码。候选码是最小的超码。若候选码多于一个,则选定其中的一个为主码。
      包含在任何一个候选码中的属性称为主属性;反之为非主属性
    • 关系模式 R 中的属性或属性组 X 并非 R 的码,但X 是另一个关系模式的码,则称 X 是 R的外部码,也称外码。
      主码和外码提供了一个表示关系间联系的手段。
  1. 范式
    关系数据库中的关系是要满足一定要求的,满足不同程度要求的为不同范式。

    • 1NF
    • 2NF
      若 $R \in 1NF$, 且每一个非主属性完全函数依赖于任何一个候选码,则$R \in 2NF$。
      不满足2NF会产生插入异常、上除异常以及修改复杂等问题。
    • 3NF
      设关系模式 $R< U,F> \in 1NF$,若R 中不存在这样的码 X,属性组 Y及非属性组$ Z(Z \nsupseteq Y)$ 使得 $X \rightarrow Y$,$Y \rightarrow Z$成立,$Y \nrightarrow X$,则称 $R< U,F> \in 3NF$
    • BCNF
  2. 多值依赖&4NF