OrientDB支持多模型功能,并提供了不同的方法来处理和理解数据库的基本概念。可以从文档数据库API的角度轻松访问这些模型。与RDBMS一样,OrientDB也使用Record作为存储元素,但它使用Document类型。文档以键/值对的形式存储。我们将字段和属性存储为属于概念类的键/值对。
类是一种数据模型,其概念是从面向对象的编程范例中提取的。基于传统的文档数据库模型,数据以集合的形式存储,而关系数据库模型中的数据存储在表中。 OrientDB遵循Document API和OPPS范例。作为一个概念,OrientDB中的类与关系数据库中的表格有着最密切的关系,但是(与表不同)类可以是无模式,全模式或混合模式。类可以从其他类继承,创建类的树。每个类都有自己的一个或多个集群(如果没有定义,则默认创建)。
以下语句是创建类命令的基本语法。
CREATE CLASS <class>
[EXTENDS <super-class>]
[CLUSTER <cluster-id>*]
[CLUSTERS <total-cluster-number>]
[ABSTRACT]
以下是有关上述语法中选项的详细信息。
<class>
– 定义要创建的类的名称。<super-class>
– 定义想用这个类扩展的超级类。<total-cluster-number>
– 定义此类中使用的簇的总数。 缺省值是1
。ABSTARCT
– 定义类是抽象的。 这是可选的。
示例
如前所述,类是与表相关的概念。 因此,我们将在这里创建一个表:Account
。 但是,在创建类时,无法定义字段,即基于OOPS范例的属性。
以下命令是创建一个名为Account
的类。
orientdb> CREATE CLASS Account
如果上述命令执行成功,将得到以下输出。
Class created successfully
可以使用以下命令创建一个扩展Vehicle
类的Car
类。
orientdb> CREATE CLASS Car EXTENDS Vehicle
如果上述命令执行成功,您将得到以下输出。
Class created successfully
可以使用以下命令将Person
创建为抽象类型。
orientdb> CREATE CLASS Person ABSTRACT
如果上述命令执行成功,您将得到以下输出。
Class created successfully
注 – 如果没有属性,这个类就没用,也无法构建真实的对象。 在下面的章节中,您可以学习如何为特定的类创建属性。