1.关系模式设计问题
(1)数据冗余:信息有时候会储存多遍,会有重复的数据
(2)数据更新:当数据的对象发生修改时,有时候要改变多个值,使修改变得复杂
(3)数据插入:有时候不能将信息插入到表中,使得值为空,但是主键的值是不能为空的
(4)数据删除:在进行数据的删除时,有时候会连带删除别的数据,删除复杂化
2.函数依赖
一.基本概念:给定一个X值,都会有一个Y值与他对应。X函数决定Y,或Y函数依赖于X
表示为:X → Y
例:对学生关系模式Student(Sno, Sname, Sdept, Sage)
Sno → Sname, Sno → Sdept, Sno → Sage
关系模式的属性之间是否存在函数依赖关系只与语义有关
二.一些术语和符号
如果X→Y,但Y不包含于X,则称X→Y是非平凡的函数依赖。如果不特别说明,则都认为是非平凡的函数依赖
如果Y不函数依赖于X,则记作X!→Y
如果X → Y,则称X为决定因子
如果 X → Y,并且Y → X,则记作X ←→ Y
三.函数依赖的推理规划
(1.)Armstrong公理:若Y包含于X,X包含于U,则X→Y在R上成立。一组属性函数决定他的所有子集
2.增广律:若X→Y在R上成立,且Z包含于U,则XZ→YZ在R上也成立
3.传递律:若X→Y和Y→Z在R上成立,则X→Z在R上也成立
(2)1.合并规则
若X→Y和X→Z在R上成立,则X→YZ在R上也成立
2.伪传递规则
若X→Y和Z包含于Y在R上成立,则XW →YZ在R上也成立
3.分解规则
若X → Y和Z包含于Y在R上成立,则X→Z在R上成立
4.复合规则
若X → Y和W→Z在R上成立,则XW→YZ在R上也成立