日期:2014-05-16 浏览次数:20472 次
3.1?关系模式的设计准则
3.1.1?关系模式的冗余和异常问题
“分解”是解决冗余的主要方法,也是规范化的一条原则:“关系模式有冗余问题,就分解它”。
3.1.2?关系模式的非形式化设计准则
准则3.1?关系模式的设计应尽可能只包含直接联系的属性,不要包含有间接联系的属性。
准则3.2?关系模式的设计应尽可能使得相应关系中不出现插入、删除和修改等操作异常现象。
准则3.3?关系模式的设计应尽可能使得相应关系中避免放置经常为空值的属性。
准则3.4?关系模式的设计应尽可能使得关系的等值连接在主键和外键上进行,并且保证连接以后不会生成额外的元组。
3.2?函数依赖
3.2.1?函数依赖的定义
定义3.1?设有关系模式R(U),X和Y是属性集U的子集,函数依赖(functional?dependency,简记为FD)是形为X→Y的一个命题,只要r是R的当前关系,对r中任意两个元组t和s,都有t[X]=s[X]蕴涵t[Y]=s[Y],那么称FD?X→Y在关系模式R(U)中成立。
这里t[X]表示元组t在属性集X上的值,其余类同。X→Y读作“X函数决定Y”,或“Y函数依赖于X”。FD是对关系模式R的一切可能的关系r定义的。对于当前关系r的任意两个元组,如果X值相同,则要求Y值也相同,即有一个X值就有一个Y