编辑: 黑豆奇酷 2014-07-10

SC(Sno,Cno,Grade,(Sno,Cno) → Grade);

DEPT(Sdept,Mname,Sdept → Mname);

这三个模式都不会发生插入异常、删除异常的问题,数据的冗余也得到了控制.

第六章 关系数据理论 6.1 问题的提出 6.2 规范化 6.3 数据依赖的公理系统 *6.4 模式的分解 6.5 小结 6.2 规范化 6.2.1 函数依赖 6.2.2 码6.2.3 范式 6.2.4 2NF 6.2.5 3NF 6.2.6 BCNF 6.2.7 多值依赖 6.2.8 4NF 6.2.9 规范化小结 6.2.1 函数依赖 1.函数依赖 2.平凡函数依赖与非平凡函数依赖 3.完全函数依赖与部分函数依赖 4.传递函数依赖 * 1. 函数依赖 定义6.1 设R(U)是一个属性集U上的关系模式,X和Y是U的子集.若对于R(U)的任意一个可能的关系r,r 中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称 X函数确定Y 或 Y函数依赖于X ,记作X→Y. 函数依赖(续) [例] Student(Sno, Sname, Ssex, Sage, Sdept), 假设不允许重名,则有: Sno → Ssex, Sno → Sage Sno → Sdept, Sno ←→ Sname Sname → Ssex, Sname → Sage Sname → Sdept 但Ssex →Sage, Ssex→ Sdept 函数依赖(续) Sno Sname Ssex Sage Sdept S1 张三 男20 计算机系 S1 李四 女21 自动化系 S3 王五 男20 计算机系 S4 赵六 男21 计算机系 S5 田七 男20 计算机系 . . . . . . . . . . . . . . . 违背了Sno → Sname 函数依赖(续) 由下面的关系表, 能否得出Sno → Sname Sno Sname Ssex Sage Sdept S1 张三 男20 计算机系 S2 李四 女21 自动化系 S3 王五 男20 计算机系 S4 赵六 男21 计算机系 S5 田七 男20 计算机系 . . . . . . . . . . . . . . . 函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,而是指R的所有关系实例均要满足的约束条件. * 函数依赖(续) 函数依赖是语义范畴的概念,只能根据数据的语义来确定一个函数依赖. 例如 姓名→年龄 这个函数依赖只有在不允许有同名人的条件下成立 * 2. 平凡函数依赖与非平凡函数依赖 X→Y,但Y?X则称X→Y是非平凡的函数依赖. X→Y,但Y?X 则称X→Y是平凡的函数依赖. 对于任一关系模式,平凡函数依赖都是必然成立的,它不反映新的语义. 若不特别声明, 我们总是讨论非平凡函数依赖. * 平凡函数依赖与非平凡函数依赖(续) 若X→Y,则X称为这个函数依赖的决定因素(Determinant). 若X→Y,Y→X,则记作X←→Y. 若Y不函数依赖于X,则记作X?Y. * 3. 完全函数依赖与部分函数依赖 定义6.2 在R(U)中,如果X→Y,并且对于X的任何一个真子集X'

, 都有 X'

? Y, 则称Y对X完全函数依赖,记作X → Y. 若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作X → Y F P * 完全函数依赖与部分函数依赖(续) [例] 在关系SC(Sno, Cno, Grade)中,有: 由于:Sno ?Grade,Cno ? Grade, 因此:(Sno, Cno) → Grade (Sno, Cno)→Sno (Sno, Cno) →Cno F P P * 4. 传递函数依赖 定义6.3 在R(U)中,如果X→Y(Y?X),Y?X,Y→Z,Z?Y, 则称Z对X传递函数依赖(transitive functional dependency).记为:X → Z. 注: 如果Y→X, 即X←→Y,则Z直接依赖于X,而不是传递函数依赖. [例] 在关系Std(Sno, Sdept, Mname)中,有: Sno → Sdept,Sdept → Mname, Mname传递函数依赖于Sno 传递 6.2 规范化 6.2.1 函数依赖 6.2.2 码6.2.3 范式 6.2.4 2NF 6.2.5 3NF 6.2.6 BCNF 6.2.7 多值依赖 6.2.8 4NF 6.2.9 规范化小结 * 6.2.2 码 定义6.4 设K为R中的属性或属性组合.若K → U,则K称为R的一个候选码(Candidate Key). 如果U部分函数依赖于K,即K → U,则K称为超码 (Surpkey).候选码是最小的超码,即K的任意一个真子集都不是候选码. 若关系模式R有多个候选码,则选定其中的一个做为主码(Primary key). F P * 码(续) 主属性与非主属性 包含在任何一个候选码中的属性 ,称为主属性 (Prime attribute) 不包含在任何码中的属性称为非主属性(Nonprime attribute)或非码属性(Non-key attribute) 全码:整个属性组是码,称为全码(All-key) * 码(续) [例6.2]S(Sno, Sdept, Sage),单个属性Sno是码 SC(Sno, Cno, Grade)中,(Sno, Cno)是码 [例6.3] R(P,W,A) P:演奏者 W:作品 A:听众 一个演奏者可以演奏多个作品 某一作品可被多个演奏者演奏 听众可以欣赏不同演奏者的不同作品 码为(P,W,A),即All-Key * 码(续) 定义6.5 关系模式 R中属性或属性组X 并非 R的码,但X是另一个关系模式的码,则称 X 是R 的外部码(Foreign key)也称外码. SC(Sno,Cno,Grade)中,Sno不是码 Sno是S(Sno,Sdept,Sage)的码,则Sno是SC的外码 主码与外部码一起提供了表示关系间联系的手段 6.2 规范化 6.2.1 函数依赖 6.2.2 码6.2.3 范式 6.2.4 2NF 6.2.5 3NF 6.2.6 BCNF 6.2.7 多值依赖 6.2.8 4NF 6.2.9 规范化小结 * 6.2.3 范式 范式是符合某一种级别的关系模式的集合. 关系数据库中的关系必须满足一定的要求.满足 不同程度要求的为不同范式. 范式的种类: * 范式(续) 各种范式之间存在联系: 某一关系模式R为第n范式,可简记为R∈nNF. 一个低一级范式的关系模式,通过模式分解(schema decomposition)可以转换为若干个高一级范式的关系模式的集合,这种过程........

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题