其中α是布尔表达式。当构成布尔表达式的算术表达式由表属性及数据库内部函数组成时,特征函数的选择作用就很清楚了。
众所周知,一般关系数据库采用三值逻辑,即布尔表达式有可能取不确定值(“maybe”)。但为了简化表达并因此突出特征函数在加速查询中的本质作用,本文不考虑表属性取不确定值的情形。另外,实现特征函数的数据库(内部)函数(我们称之为特征函数的“元函数”)会因系统和我们主观选择上的不同而不同。例如,Sybase的Transact SQL有两个很有用的内部函数abs()和sign(),可以直接作为特征函数的元函数。若A和B是任意两个表属性,则:
|
为了使元函数有定义,表属性必须是数值变量。因此,除有特别声明而外,本文将一概假定所有举例和一般性讨论中的表属性为非空数值变量。等式(2)可从元函数的定义: