OrientDB創(chuàng)建類(lèi)

2018-12-23 09:34 更新

OrientDB支持多模型特征,并提供不同的方法來(lái)處理和理解數(shù)據(jù)庫(kù)的基本概念。然而,我們可以從Document數(shù)據(jù)庫(kù)API的角度輕松訪(fǎng)問(wèn)這些模型。像RDBMS一樣,OrientDB也使用Record作為存儲(chǔ)的元素,但它使用Document類(lèi)型。文檔以鍵/值對(duì)的形式存儲(chǔ)。我們將字段和屬性存儲(chǔ)為屬于概念類(lèi)的鍵/值對(duì)。
類(lèi)是一種數(shù)據(jù)模型,概念是從面向?qū)ο蟮木幊谭独谐槿〕鰜?lái)的?;趥鹘y(tǒng)的文檔數(shù)據(jù)庫(kù)模型,數(shù)據(jù)以集合的形式存儲(chǔ),而在關(guān)系數(shù)據(jù)庫(kù)中,模型數(shù)據(jù)存儲(chǔ)在表中。 OrientDB遵循文檔API以及OPPS范例。作為一個(gè)概念,OrientDB中的類(lèi)與關(guān)系數(shù)據(jù)庫(kù)中的表具有最接近的關(guān)系,但是(與表不同)類(lèi)可以是無(wú)模式的,模式完整的或混合的。類(lèi)可以從其他類(lèi)繼承,創(chuàng)建類(lèi)的樹(shù)。每個(gè)類(lèi)都有自己的一個(gè)或多個(gè)集群(默認(rèn)情況下創(chuàng)建,如果沒(méi)有定義)。
以下語(yǔ)句是Create Class命令的基本語(yǔ)法。

CREATE CLASS <class> 
[EXTENDS <super-class>] 
[CLUSTER <cluster-id>*] 
[CLUSTERS <total-cluster-number>] 
[ABSTRACT]

以下是上述語(yǔ)法中的選項(xiàng)的詳細(xì)信息。
<class>: 定義要?jiǎng)?chuàng)建的類(lèi)的名稱(chēng)。
<super-class>:定義要使用此類(lèi)擴(kuò)展的超類(lèi)。
<total-cluster-number>:定義此類(lèi)中使用的集群總數(shù)。 默認(rèn)值為1。
ABSTARCT:定義類(lèi)是抽象的。 這是可選的。

正如所討論的,類(lèi)是一個(gè)與表相關(guān)的概念。 因此這里我們將創(chuàng)建一個(gè)表帳戶(hù)。 然而,在創(chuàng)建類(lèi)時(shí),我們不能定義字段,即基于OOPS范例的屬性。
以下命令是創(chuàng)建一個(gè)名為Account的類(lèi)。

orientdb> CREATE CLASS Account

如果成功執(zhí)行上面的命令,你會(huì)得到下面的輸出。

Class created successfully 

你可以使用下面的命令創(chuàng)建一個(gè)類(lèi)Car,擴(kuò)展到類(lèi)Vehicle

orientdb> CREATE CLASS Car EXTENDS Vehicle 

如果成功執(zhí)行上面的命令,你會(huì)得到下面的輸出。

Class created successfully

您可以使用下面的命令來(lái)創(chuàng)建一個(gè)Person類(lèi)為抽象。

orientdb> CREATE CLASS Person ABSTRACT 

如果成功執(zhí)行上面的命令,你會(huì)得到下面的輸出。

Class created successfully 

注意:沒(méi)有屬性,類(lèi)是無(wú)用的,無(wú)法構(gòu)建真正的對(duì)象。 在其他章節(jié)中,您可以了解如何為特定類(lèi)創(chuàng)建屬性。

以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)