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
註 - 如果沒有屬性,這個類就沒用,也無法構建真實的物件。 在下面的章節中,您可以學習如何為特定的類建立屬性。