数据依赖与冗余
数据依赖是语义概念,是关于关系诸属性值之间的内在相关性陈述,它规定了关系模式的合法关系实例所必须满足的条件
数据依赖可以用于断言合法关系中的某些冗余
依赖和冗余都是密不可分的,承认某种数据依赖,我们就可以发现关系中的某些冗余,不承认数据之间的关系,也就没有理由认为某些信息是冗余的
冗余产生的原因和处理也总是联系在一起的
函数依赖
真抽象。。。
从例子的角度来讲,说的是,在一个关系中,也就是一张数据库表的所有属性中,可以通过一个或者几个属性的值,确定出一个或者几个属性的值,就说前者函数确定后者,后者函数依赖于前者
- 平凡的函数依赖
设X是任意属性集,如果 Y ⊆ X Y\subseteq X Y⊆X,则有 X → Y X\to Y X→Y,并称该函数依赖是平凡的
- 平凡的函数反映了整体确定局部的一般常识,而不反应新的语义
- 平凡的函数依赖的两个极端的例子是
- X → ∅ X\to \varnothing X→∅
- ∅ → ∅ \varnothing \to \varnothing ∅→∅
在列举函数依赖时可以忽略平凡的函数依赖
- 非平凡的函数依赖:如果 Y ⊈ X Y\not\subseteq X Y⊆X,则 X → Y X\to Y X→Y是非平凡的函数依赖
上面这一大段抽象的话讲的是,不能够靠特例判断一个函数依赖成立,但是可以判断其不成立
函数依赖是关于现实世界的断言
上面的定义说的是传递性性质,下面给出了证明