7
3.3 规范化理论-范式
BCNF关系模式比满足:所有非主属性对每一 个码都是完全函数依赖;所有的主属性对不包 含它的码也是完全函数依赖;没有任何属性完 全函数依赖于非码的任何一组属性。 BCNF是改进的3NF,3NF仅考虑了非主属性 对码的依赖情况,BCNF把主属性对码的依赖 情况也考虑进去了,即主属性之间是一种完全 函数依赖。 4NF和5NF属于多值依赖。(略)
9
3.4 模式分解
设有泛模式R(U) ,其分解的关系模式集合为 Ρ={R1, R2, …, Rn},且R= R1∪R2 ∪ …∪ Rn称 用Ρ代替R为关系模式分解。 无损连接:设r是R(U)的关系实例,U= A1∪ A2 ∪… ∪ An, Ρ={R1(A1), R2 (A2), …, Rn (An)} 是R的一个模式分解,如果对每一个r都有如下 投影连接变换: r= πA1(r) πA2(r) … πAn(r),则称分解Ρ 是无损连接分解。
3
3.2 函数依赖
函数依赖实际上就是关系模式上的某个属性子 集的值决定另一个属性子集的值。例如课程名 和学分是课程关系模式上的函数依赖,课程名 决定了本课程的学分。 函数依赖是语义范畴的概念,难以用推理证明 的方法确定,主要通过了解属性的现实意义来 推断。 完全函数依赖: R(U) 的X→Y,且对于X的任 何一个真子集X’,都没有X’ →Y,则称Y对X完 全函数依赖,X F Y。
1
3.1问题的提出
例如:学生修课的关系模式(姓名,宿舍,课程名, 学分,成绩),虽然只有5个属性,但明显存在问题: 1)数据冗余:若一个学生选修了多门课,那么宿舍 数据就要在表中存储多次。 2)更新异常:若学生搬动了宿舍,所有存储都要改 3)插入异常:对于一个新同学由于其没有选修课程 (不允许空值),就不能插入。 4)删除异常:如果有的同学本学期没有选课,就要 删除宿舍等全部信息。