关系模式设计的问题:数据冗余问题、数据更新问题、数据插入问题,数据删除问题。数据的增、删、改问题称为操作异常。原因:关系模式的某些属性之间存在“不良”的函数依赖关系。解决方法:进行模式分解。即把一个关系模式分解成两个或多个关系模式,在分解的过程中消除“不良”的函数依赖。
函数依赖:一般把X函数决定Y,或Y函数依赖于X表示为:XY
定义:如果有一个关系模式R(A1,A2,A3……An),X和Y为{A1,A2,A3……An}的子集,r是R的任一具体关系,那么对于关系r中的任意一个X值,都有一个Y值与之对应,则称X函数决定Y或者Y函数依赖于X
函数依赖的形式化定义:设有关系模式R(A1,A2,A3……An),X和Y为{A1,A2,A3……An}的子集,r是R的任一具体关系(二维表),t1,t2是r中的任意两个元组(行)。如果由t1[X]=t2[X]可以推导出t1[Y]=t2[Y],则称X函数决定Y,或Y函数依赖于X,记为X
Y。只要t1[X]=t2[X],t1和[Y]=t2[Y]成立,就有X