泛关系假设
传统的数据依赖有两个基本假设:泛关系假设(the universal relation assumption)和在关系中不能使用空值。
所谓泛关系假设就是表示所描述的数据的全体能用一个关系来表述。因此,把单一的关系模式称之为泛关系模式,其当前值称之为泛实例;那么所分解了的关系模式称之为数据库模式,其当前值称之为数据实例。
在实际使用中,常常是采用数据库模式,其存储信息也是存储在数据库实例中的,以便达到消除存储冗余、消除更新导致异常的目的。根据关系模型数据库理论中值域·元组·投影等定义和函数依赖(Functional Dependency记为FD)关系形式化定义以及满足,来形式地描述带标志的空值 。1
泛关系模式设有关系模式R(U),属性集为U,R1、···、Rk都是U的子集,并且有R1∪R2∪…∪RK=U。关系模式R1、···、Rk的集合用ρ表示, 。这里我们把R(U)称为泛关系模式,称为数据库模式。用代替R的过程称为关系模式的分解,是关系模式的一个分解。R对应的当前值称为泛关系。数据库模式ρ对应的当前值称为数据库实例,它是由数据库模式中的每一个关系模式的当前值组成的。2数据库中每一个关系都是全部属性构成的关系的投影,此时由全部属性构成的关系称为泛关系。3
泛关系模型的目的在于获得完全的存取路径独立性。为了使泛关系模型能够较好地工作,要求数据库满足一些基本假设。
泛关系理论允许把现实问题的所有属性组成一个泛关系模式R(U)来加以分析,数据库模式中的每一个关系都是全部属性所构成的泛关系的投影,用户对数据库的操作在泛关系上进行。这实质上隐含了一个假设,即脱离具体的关系来讨论属性是有意义的。泛关系理论成为自底向上(Bottom-Up)的关系数据库规范化设计方法的理论依据。
泛关系概念作为关系数据库理论的一个重要分支已逐渐发展起来。起初,它作为关系数据库设计理论中关系模式的设计工具而被引入。近年来,人们开始认识到它在数据模型方而的作用,提出了泛关系模型和泛关系数据库。
泛关系模式的规范化处理衡量关系模式好坏的标准是模式的范式(NormalForm),范式的种类与数据依赖有直接的联系,规范化的基本思想是逐步消除数据依赖中不合适的部分,消除各类操作异常,减少数据的冗余。4
泛关系模式的规范化处理通过对模式的分解来实现。一般地,关系模式R相对于函数依赖集F分解成数据库模式:{Rl,R2,⋯ ,Rk},应具有三个特性:①是BCNF模式集或3NF模式集,②无损连接分解,③保持函数依赖集F。其中①使分解后的关系模式概念趋向单一,以清除冗余和操作异常,②和③可以用来衡量模式分解前后关系模式是否保持数据等价及语义等价。1