数据库语言设计与关系除法运算符解析
1. 基于名称的参数匹配
在语言设计中,提出了基于名称而非位置进行参数匹配的方式。例如,对于标量选择器,原本的 CARTESIAN ( 7.0, 2.5 ) 可以替换为 CARTESIAN { Y 2.5, X 7.0 } 。这里括号被大括号替代,假设 CARTESIAN 是用户定义的标量类型(如 POINT )的一种表示。一般来说,运算符调用应采用 <op name> { <argument spec commalist> } 的形式,其中 <argument spec> 可以是 <parameter name> <argument exp> 或 <parameter name> := <argument exp> 。
然而,这种新方式存在一些问题:
- 对于只接受一个参数的运算符,如 SIN 、 COS 和(通常情况下的) COUNT ,新的前缀风格比旧风格更繁琐。
- 一些常见运算符(如 “+”、“=”、“:=”)的名称不符合标识符的常规规则。
- 系统定义的运算符目前没有用户已知的参数名称。
为了解决最后一个问题,可以引入一种约定,将这些名称定义为 P1 、
超级会员免费看
订阅专栏 解锁全文
6156

被折叠的 条评论
为什么被折叠?



