一:关系模式设计问题:
1.数据冗余
2.数据更新
3.数据插入
4.数据删除
二:函数依赖
(1) 一些术语和符号
设有关系模式R(A,A2,…,A„),X和Y均为{1A,A2…,An}的子集,则有以下结论:
(1)如果X→Y,但Y不包含于x,则称x→Y是非平凡的函数依赖。如不做特别说明,我们讨论的都是非平凡的函数依赖。
关系 (2)如果Y不函数依赖于X,则记作X--\>Y。
(3)如果X→Y,则称x为决定因子。
(4)如果X→Y,并且Y→ X,则记作 X↔Y。
(5)如果x→Y,并且对于X的一个任意真子集X都有X--\>Y,则称Y完全函数依赖于X,记作X-f->Y如果X→Y成立,则称Y部分函数依赖于X,记作X-p->Y。
例9.1设有关系模式SC(Sno,Sname,Cno,Credit,Grade),其中各属性分别为:学 例如
号、姓名、课程号、学分和成绩,主键为(Sno,Cno),则有如下函数依赖: (Sn
Sno→Sname 姓名函数依赖于学号
(Sno,Cno)-p->Sname 姓名部分函数依赖于学号和课程号 若
(Sno,Cno)-t->Grade 成绩完全函数依赖于学号和课程号
三:函数依赖的推理规则
1.反自律
若y属于x属于u,则x-->y在r上成立。则一组属性函数决定它所有子集
2.增广律
x-->y,z属于u,则xz-->yz成立
3.传递律
x-->y.y-->z,则x-->z
4.合并规则
x-->y.x-->z,则x-->yz
5.分解规则
x-->y,z属于y,则x-->z
6.伪传递规则
x-->y,yw-->z,则xw-->z
7.复合规则
x-->y,w-->z,则xw-->yz