非规范化的问题
非规范化的关系模式,可能存在的问题包括:
- 数据冗余
- 更新异常
- 插入异常
- 删除异常
函数依赖
设R(U)是属性U上的一个关系模式,X和Y是U的子集,r为R的任一关系,如果对于r中的任意两个元组u、v,只要有u[X]=v[X],就有u[Y]=v[Y],则称X函数决定Y,或称Y函数依赖于X,记为X→Y。
部分函数依赖:
关系模式:R1 (A, B, C, D) 依赖集:{AB ->D,A-> C}
传递函数依赖:
关系模式:R2 (A, B, C) 依赖集:{A->B, B->C}
Armstrong公理
关系模式R来说有以下的推理规则:
- A1.自反律(Reflexivity):若Y⊆X⊆U,则X→Y成立。
- A2.增广律(Augmentation):若Z⊆U且X→Y,则XZ→YZ成立。
- A3.传递律(Transitivity):若X→Y且Y→Z,则X→Z成立。
根据A1,A2,A3这三条推理规则可以得到下面三条推理规则:
- 合并规则:由X→Y,X→Z,有X→YZ。(A2,A3)