3.2.1.2插入
屬性組的插入, 可以將它當(dāng)作表一樣,基本上與常見(jiàn)的Insert支持的都支持,在這里我就不再說(shuō)了。但需要注意滿足條目與屬性組的約束。
條目的插入,它有點(diǎn)特殊,因?yàn)橛袟l目與屬性組的約束和條目與條目的關(guān)系約束,因此你必須一次性地將條目和條目的必選屬性組以及條目與其它條目的必選關(guān)系一起建起來(lái),否則無(wú)法創(chuàng)建成功?赡苓要一同創(chuàng)建必要的子條目。
關(guān)系的插入,它也有點(diǎn)特殊,因?yàn)橛袟l目與屬性組的約束,因此一次性的將關(guān)系與它的必選屬性組一起建起來(lái),否則無(wú)法創(chuàng)建成功。
3.2.1.3刪除
這個(gè)就是與一般的數(shù)據(jù)庫(kù)相差甚遠(yuǎn),因此重點(diǎn)說(shuō)明一下。
3.2.1.3.1刪除屬性組
基本上與常見(jiàn)的ORM工具提供的刪除沒(méi)有什么區(qū)別,一般Delete 語(yǔ)句能支持的都支持,在這里我就不再說(shuō)了。當(dāng)然刪除它不能違反條目與屬性組的約束。
3.2.1.3.2刪除條目
刪除一個(gè)條目時(shí)必須同時(shí)刪除該條目的所有屬性組,但在刪除它之前,需要同時(shí)刪除與它相連的關(guān)系。但刪除關(guān)系時(shí)需要滿足下面的條件:
<!--[if !supportLists]-->l <!--[endif]-->不能違反條目與條目之間的關(guān)系約束
在實(shí)際情況中,僅僅這樣子是不夠,你可能希望在刪除一個(gè)條目時(shí),將其相鄰的條目刪除(相鄰是指兩者之間有一個(gè)關(guān)系存在),但這需要清楚該條目能否安全的刪除。所以我們需要用戶來(lái)指定一下:
在定義關(guān)系時(shí),在定義關(guān)系的源和目標(biāo)時(shí)各增加一個(gè)onDelete字段,用來(lái)表示刪除這個(gè)關(guān)系時(shí),是否連帶刪除該條目.
呵呵,這個(gè)就是數(shù)據(jù)庫(kù)的級(jí)聯(lián)刪除了.
3.2.1.3.3刪除關(guān)系
同樣,刪除一個(gè)關(guān)系時(shí)必須同時(shí)刪除該關(guān)系的所有屬性組。注意同樣地刪除時(shí)不能違反條目與條目的關(guān)系約束。
3.2.1.4更新
屬性組的更新,可以將它當(dāng)作表一樣,基本上與常見(jiàn)的Update支持的都支持,在這里我就不再說(shuō)了。
條目的更新,它有點(diǎn)特殊,因?yàn)樗膶傩远細(xì)w類在屬性組中,自身沒(méi)有屬性,那么唯一可以更改的就是改變類型了。但改變類型需要注意,兩個(gè)類型可以擁有的屬性組是不一樣的,你可能在更改它的類型時(shí),需要?jiǎng)h除和添加一些屬性組。
關(guān)系的更新,因?yàn)樗菞l目的子類,因此它的更新與條目的更新差不多,但它比條目多兩個(gè)屬性,即源條目和目標(biāo)條目的引用。源條目是不可更改的,但目標(biāo)條目的引用是可以更改的。用戶可以修改它,但要注意不能違反條目與條目的關(guān)系約束
3.2.2可選功能
3.2.2.1對(duì)象的狀態(tài)管理
一個(gè)對(duì)象在它的生命周期中可能會(huì)經(jīng)過(guò)幾個(gè)階段, 而對(duì)不同的用戶來(lái)說(shuō)在對(duì)象處于某些階段時(shí)他并不想看到它,如一個(gè)PC可能會(huì)分為購(gòu)入待處理、試用、正式運(yùn)行、停用、作廢。對(duì)財(cái)務(wù)人員來(lái)說(shuō),從它生命周期開(kāi)始到結(jié)束之前都能看到。而對(duì)網(wǎng)絡(luò)管理的值班人員來(lái)說(shuō)只希望看到處于“試用”和“正式運(yùn)行”階段的PC。
針對(duì)這種情況本數(shù)據(jù)庫(kù)引入一個(gè)環(huán)境的概念,即管理員可以為系統(tǒng)定義幾個(gè)環(huán)境,并定義這些環(huán)境可以訪問(wèn)到處于哪幾個(gè)狀態(tài)的對(duì)象,并且為用戶設(shè)置一個(gè)默認(rèn)環(huán)境。用戶可以在運(yùn)行中更改自己所處的環(huán)境。
出處:博客園
責(zé)任編輯:bluehearts
上一頁(yè) GraphDatabase在關(guān)系數(shù)據(jù)庫(kù)中的實(shí)現(xiàn) [5] 下一頁(yè) GraphDatabase在關(guān)系數(shù)據(jù)庫(kù)中的實(shí)現(xiàn) [7]
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|