Skip to content

eXtremeDB基本概念

定义

eXtremeDB 中 class 是一组元素的集合,类似于(不是等同)关系数据库中的 table; instances 是一个类的实例化对象,类似于关系数据库中的 records; 类中的元素被称为字段 field,类似于关系数据库中的属性列。

与面向对象语言类似, eXtremeDB 中的数据库类定义了对象的字段和字段的访问方法。

field 是一个有类型的属性,其支持的类型可见:Base Data Types

structure 定义了一个复杂的数据类型,和简单数据类型一样作为 class 的构建,与面向对象语言不同的是,eXtremeDB 中的 structure 不能被实例化。

eXtremeDB 提供了符合 ACID 的 C/C++ 类型数据访问方法和一些专用的 index(eXtremeDB Indexes)。

在 eXtremeDB 中,主键通常被实现为一个类中的字段或字段组合的唯一索引,而外键通常被实现为一个非唯一的索引(允许重复),其元素(字段)对应于数据库中其他类的主键。

除了索引之外, eXtremeDB 中的类可以被声明为有一个对象标识符 oid。 oid 与主键不同,因为 oid 的组成对数据库中的每一个类都是相同的。 一个类也可以通过声明一个数据类型为 ref 的字段,拥有对另一个类的对象的引用,称为引用。 引用是一个对象中对另一个对象的 oid 的引用。

oid 和 ref 是比 index 更好的建立类间关系的方式, index 应该是用于加速搜索的,vector<ref> 可以用来建立一对多的关系。

其他:

  1. 数据库字典: schema 的二进制文件;
  2. 在没有其他索引的情况下 list 索引被隐式创建。

基于 VitePress 构建