60、数据库中缺失信息处理与 SQL 三值逻辑探究

数据库中缺失信息处理与 SQL 三值逻辑探究

1. 关系值属性处理缺失信息

1.1 XVF 运算符扩展

在某些情况下,当关系为空时,我们期望得到特定结果,如零值。原有的 XVF 运算符在处理空关系时会抛出异常,为此可以对其定义进行扩展,新的语法如下:

XVF ( <relation exp> [ , <exp> ] [ : <alt exp> ] )

<relation exp> 表示的关系为空时,XVF 调用将返回 <alt exp> 的值。例如,对于示例 2 的第二种表述可以修改为:

WITH ( T1 := ZS UNGROUP ( Z_CITY ) ) :
EXTEND T1 { CITY } :
          { AVG_STATUS := AVG ( ‼T1 , XVF ( Z_STATUS : 0 ) ) }  

1.2 聚合运算符扩展

聚合运算符在应用于空关系且无合适的标识值时,结果通常未定义。可以借鉴 XVF 的扩展方式,对聚合运算符进行类似扩展。例如, AVG ( S , STATUS : 0 ) 可以定义为当关系变量 S 当前为空时返回零。

1.3 子类型的作用

对于属性定义 Z_ATTR

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值