一:关系模式与设计的问题
1:S-L-C(Sno,Sname,Ssex,Sdept,Sloc,Cno,Grade),由此表可发现四个问题
(1)数据冗余问题:学生信息重复存储
(2)数据更新问题:如果需要修改一个列的信息,则还要修改其他列的信息
(3)数据插入问题:如果要插入一个列,但主键的信息还没有,而主键不能为空,所以无法插入
(4)数据删除问题:如果想要删除一列,也会删掉其他列
二:函数依赖
1:基本概念:一般把X函数决定Y,或Y函数依赖于X表示为:X→Y
例如:(1) Student(Sno,Sname,Sdept,Sage) 有以下函数依赖关系 Sno→Sname,Sno→Sdept,Sno→Sage (2) SC(Sno,Cno,Grade) 有以下函数依赖关系 (Sno,Cno)→Grade
2:一些术语和符号:
(1)如果X→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
(6)如果X→Y(非平凡函数依赖,并且Y!→X)、Y→Z,则称Z传递函数依赖于X
(7)设K为关系模式R的一个属性或属性组,若满足:K→f A1,K→fA2,... ,K→f An则称K为关系模式R的候选键。称包含在候选键中的属性为主属性,不包含在任何候选码中的属性称为非主属性。
3:函数依赖的推理规则
(1)自反率:一组属性函数决定它的所有子集
(2)增广率:若X→Y在R上成立,且Z包含U,则XZ→YZ在R上也成立
(3)传递率:若X→Y和Y→Z在R上成立,则X→Z在R上也成立
(4)合并规则:若X→Y和X→Z在R上成立,则X→YZ在R上也成立
(5)分解规则:若X→Y和Z包含Y在R上成立,则X→Z在R上也成立
(6)伪传递规则:若X→Y和YW→Z在R上成立,则XW→Z在R上也成立
(7)复合规则:若X→Y和W→Z在R上成立,则XW→YZ在R上也成立