FastDB支持一种具有类似SQL语法的查询语言。FastDB使用的符号更受对象导向编程的欢迎,而不是关系型数据库。表行被视为对象实例,表是这些对象的类。与SQL不同,FastDB以对象为导向,而不是SQL元组。因此,每次查询执行的结果是一个类的一组对象。FastDB查询语言与标准SQL的主要区别包括:

    • 没有多个表的连接和嵌套子查询。查询总是返回一个表中的对象集。
    • 原子表列使用标准的C类型。
    • 除了空引用外,没有NULL值。我完全同意C.J. Date对三值逻辑的批评,并支持使用默认值的提议。
    • 可以使用结构和数组作为记录组件。提供了一个专门的exists量词用于定位数组中的元素。
    • 可以为表记录(对象)以及记录组件定义无参数的用户方法。
    • 应用程序可以定义带有一个字符串或数字参数的用户函数。
    • 支持对象之间的引用,包括对逆引用的自动支持。
    • 通过start from follow的构造执行使用引用的递归记录遍历。由于查询语言与C++类深度集成,因此对于语言标识符和关键字使用大小写敏感模式。
    • 不会对整数和浮点类型进行隐式转换为字符串表示。如果需要这种转换,必须明确执行。