数据库规范化

关系数据理论

关系模型 定义
R(U,D,DOM,F)

  1. 关系 R,它是符号化的元祖语义
  2. 一组属性 U
  3. 属性组 U 中属性所有来自的域 D
  4. 属性到域的映射 DOM
  5. 属性组 U 上的一组数据依赖 F
  • 第一范式:
    一张二维表,它的每个分量必须是不可分割的数据项。
  • 规范化可以解决的问题:
    1.数据冗余太大
    2.更新异常
    3.插入异常
    4.删除异常

规范化

  • 函数依赖
    定义:设 R(U) 是属性集 U 上的关系模式。X,Y 是 U 的子集。若对于 R(U) 的任意一个可能的关系 r, r 中不可能存在两个元祖在 X 上的属性值相等,而在 Y 上的属性值不等, 则称 X 函数确定 Y 或 Y 函数依赖于 X , 记作 X->Y

非平凡函数依赖:Y 依赖于 X ,但是 Y 不属于 X

平凡函数依赖: Y 依赖于 X,但 Y 属于 X

决定因素: Y 依赖于 X , 则 X 为这个函数依赖的决定属性组

相互依赖: Y 依赖于 X , X 依赖于 Y , 则 X,Y 相互依赖

不函数依赖:

  • 定义:在 R(U) 中,如果 X->Y ,并且对于 X 的任何一个真子集 X1 ,都有 Y 不依赖于 X1 ,则称 Y 对 X 完全依赖
    如果 Y 对 X 不完全依赖, 称为 Y 对 X 部分依赖
  • 定义:传递依赖,在 R(U) 中,Y 依赖于 X ,X不依赖于 Y , Z依赖于 Y ,则称 Z 对 X 传递函数依赖


  • 定义: 设 K 为 R 中的属性或属性组合,若 K 完全依赖 U,则 K 为 R 的候选码,若候选码多于一个, 则选定其中的一个为 主码。

  • 主属性:在任何一个候选码中的属性

  • 非主属性:不包含在任何码中的属性

  • 定义: 关系模式 R 中属性或属性组 X 并非 R 的码,但 X 是另一个关系模式的码,则称 X 是 R 的外部码,也称外码

  • 第一范式:
    一张二维表,它的每个分量必须是不可分割的数据项。

  • 2NF 范式
    2NF: 若 R 属于 第一范式,且每一个非主属性完全函数依赖于码,称为 2NF

  • 3NF 范式
    3NF: 关系模式 R 中若不存在这样的码 X ,属性组 Y 及 非主属性 Z (Z 不属于 Y )使得 Y 依赖于 X,Z 依赖于 Y 成立,X 不依赖于 Y, 称 R 为 3NF

    非主属性 即不部分依赖于 码, 也不传递依赖于码。

  • BCNF 依赖
    定义:关系模式 R< U,F > 属于第一范式,若 Y 函数依赖于 X,且 Y 不属于 X 时,X 必含有码,则 R 属于范式 BCNF

    满足 BCNF 的关系模式 有下面的特点

    • 所有非主码属性对每一个码都是完全函数依赖
    • 所有的主属性对每一个不包含它的码,也是完全函数依赖
    • 没有任何属性完全函数依赖于非码的任何一组属性
  • 多值依赖
    定义:设 R(U) 是属性集 U 上的一个关系模式。 X,Y,Z 是 U 的子集,并且 Z = U - X - Y 。关系模式 R(U) 中多值依赖 X->->Y 成立,当且仅当对 R(U) 的任一关系 r,给定的一对(x,z)值,有一组 Y 的值,这组值仅仅决定于 x 值而与 z 值无关。

  • 另一个等价形式的多值依赖定义:
    在 R(U) 的任一关系 r 中, 如果存在元祖 t,s使得t[X]=s[X],那么就必然存在元祖w,u属于r (w,u 可以与x,t 相同),使得w[X]=v[X]=t[X], 而 w[Y]=t[Y],w[Z]=s[Z],u[Y]=s[Y],u[Z]=t[Z]( 即交换 s,t 元祖的Y值所得的两个新元祖必在 r 中)则 Y 多值依赖于 X,记为 X->->Y。这里 X,Y 是 U 的子集, Z=U-X-Y

    若 X->->Y,则 Z为空,称 X->->Y 为平凡的多值依赖。

    多值依赖具有对称性:若X->->Y,则X->->Z 其中 Z=U-X-Y.

    多值依赖具有传递性:若 X->->Y,Y->->Z 则 X->->Z-Y

    函数依赖可以看做是多值依赖的特殊情况,若 Y 依赖于 X,则 Y 多值依赖于 X,这是因为当 Y 依赖 X 时,对 X 的每个值 x,Y 有一个确定的值 y 与之对应,所以 X->->Y

    若 X->->Y,X->->Z, 则 X->->YZ

    若 X->->Y,X->->Z, 则 X->->Y交集Z

    若 X->->Y, X->->Z , 则 X->->Y-Z, X->->Z-Y

你可能感兴趣的:(数据库规范化)