数据库原理10–第4章.ppt
文本预览下载声明
数据库原理及应用 管理学院 信息管理系 肖 洁 一、问题的提出 2、平凡函数依赖与非平凡函数依赖 在关系模式R(U)中,对于U的子集X和Y,如果X→Y,但Y不包含于X,则称X→Y是非平凡函数依赖。若Y包含于X,则称X→Y为平凡函数依赖。若不特别说明,讨论的都是非平凡的函数依赖。 3、完全函数依赖与部分函数依赖 (1)如果X→Y,并且对于X的任何一个真子集X’,都有 f X’ →Y,则称Y完全函数依赖于X,记作X → Y。 (2)如果X→Y,但Y不完全函数依赖于X,则称Y部分函数 p 依赖于X,记作X → Y。 4、传递函数依赖 在关系模式R(U)中,如果X→Y, Y→Z,且Y不包含于 X,Z不包含于Y, Y→X,则称Z传递函数依赖于X。 例如:在上面提出的学生关系: 学生(学号,姓名,系名,系主任姓名,课程名,成绩) 中存在以下函数依赖: 学号→姓名 学号→系名 系名→系主任姓名 (学号,课程名)→成绩 传递 学号 → 系主任姓名 例:关系模式学生(学号,姓名,系名,系主任姓名,课程名,成绩) 存在以下部分函数依赖: p ( 学号,课程名) → 姓名,系名,系主任姓名∈2NF 模式分解:(1) 把R的属性分开,以构成两个新的关系模式; (2) 通过对R的元组进行投影而产生两个新的关系。 模式分解后,学生关系分解成S1和S2: S1(学号,姓名,系名,系主任姓名) ∈2NF 学号→姓名,系名,系主任姓名 系名→系主任姓名 S2(学号,课程名,成绩) ∈2NF (学号,课程名) → 成绩 3、第三范式 若关系模式R属于第一范式,且每个非主属性都不 传递依赖于主关键字,则R属于第三范式(3NF)。 注:属于第三范式的关系模式,必然属于第二范式,因为 可以证明部分函数依赖中含有传递依赖。 举例:S1(学号,姓名,系名,系主任姓名) ∈3NF 模式分解后,学生关系分解成S11和S12: S11(学号,姓名,系名)∈3NF 学号→(姓名,系名) S12(系名,系主任姓名) ∈3NF 系名 →系主任姓名 4、BC范式 若关系模式R属于第一范式,且每个属性都不传 递依赖于主关键字,则R属于BC范式(BCNF)。 注:任何满足BC范式的关系模式都必然满足第三 范式。 BCNF条件 每个非平凡依赖的左边必须包含主关键字。 等价于 每个决定因素必须包含主关键字。 举例: S11(学号,姓名,系名) ∈BCNF 学号→(姓名,系名) S12(系名,系主任姓名) ∈BCNF 系名 →系主任姓名 S2(学号,课程名,成绩) ∈BCNF (学号,课程名) → 成绩 练习题 一、设有关系模式 R(职工编号,日期,日营业额,部门名,部门经理),该模式统计商店里每个职工的日营业额,以及职工所在的部门和经理信息。如果规定:每个职工每天只有一个营业额;每个职工只在一个部门工作;每个部门只有一个经理。 (1)试根据上述规定,写出关系模式R的基本函数依赖和 主关键字。 (2)说明R不是2NF模式的理由,并把R分解成2NF模式集。 (3)进而把R分解成3NF模式集,并说明理由。 练习题 参考答案: (1)R的基本FD有3个: (职工编号,日期)→ 日营业额 职工编号 → 部门名 部门名 → 部门经理 关键码为(职工编号,日期)。 (2)根据(1),R中存在下列两个F
显示全部