两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

用于數(shù)據(jù)處理的方法和系統(tǒng)的制作方法

文檔序號(hào):6562756閱讀:184來源:國知局
專利名稱:用于數(shù)據(jù)處理的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及計(jì)算機(jī)數(shù)據(jù)庫管理系統(tǒng),并更具體地涉及強(qiáng)制實(shí)施數(shù)據(jù)庫中從父表到子表的限制。
背景技術(shù)
1948年EDVAC計(jì)算機(jī)系統(tǒng)的開發(fā)通常被稱為是計(jì)算機(jī)紀(jì)元的開端。從那時(shí)起,計(jì)算機(jī)系統(tǒng)已包括了極端復(fù)雜的設(shè)備,并且計(jì)算機(jī)系統(tǒng)可在許多不同設(shè)置中找到。計(jì)算機(jī)系統(tǒng)典型地包括硬件(諸如半導(dǎo)體和電路板)和軟件(也被稱為計(jì)算機(jī)程序)的結(jié)合。
基本上,計(jì)算機(jī)系統(tǒng)被用于存儲(chǔ)、操作和分析數(shù)據(jù),所述數(shù)據(jù)可以是從復(fù)雜的金融信息到簡單的烘烤食譜的任何數(shù)據(jù)。那么,無疑計(jì)算機(jī)系統(tǒng)的整體價(jià)值或效用極大地取決于計(jì)算機(jī)存儲(chǔ)、操作和分析數(shù)據(jù)的能力有多強(qiáng)。一種用于管理數(shù)據(jù)的機(jī)制被稱為數(shù)據(jù)庫管理系統(tǒng)(DBMS),其也可以被稱為數(shù)據(jù)庫系統(tǒng)。
許多不同類型的數(shù)據(jù)庫是公知的,但最常見的數(shù)據(jù)庫通常被稱為關(guān)系數(shù)據(jù)庫(RDB),其在具有行和列的表中組織數(shù)據(jù),所述行表示數(shù)據(jù)庫中的獨(dú)立條目或記錄,所述列定義在每個(gè)條目或記錄中存儲(chǔ)了什么。列也可被稱為字段。每個(gè)表在數(shù)據(jù)庫內(nèi)具有唯一名稱,而每個(gè)列在特定表內(nèi)具有唯一名稱。數(shù)據(jù)庫還具有索引,索引是向數(shù)據(jù)庫管理系統(tǒng)通知給定了被索引的列值在表中的某行的位置的數(shù)據(jù)結(jié)構(gòu),其與向讀者通知給定詞出現(xiàn)在哪一頁的書本索引類似。
數(shù)據(jù)庫典型地提供碼,碼是數(shù)據(jù)庫用來給數(shù)據(jù)排序的在表中的一個(gè)或多個(gè)行。大多數(shù)數(shù)據(jù)庫管理系統(tǒng)允許多于一個(gè)碼,從而允許以不同方式對(duì)記錄排序。所述碼之一被指定為主碼,并且必須對(duì)每一行保持唯一值。標(biāo)識(shí)不同表中的行的碼被稱為外碼。外碼(FK)是指向另一表中的另一數(shù)據(jù)庫記錄的字段(列)的數(shù)據(jù)庫記錄中的字段(列)。通常一個(gè)表中的外碼引用其它表中的主碼。
參照完整性是由關(guān)系數(shù)據(jù)庫管理系統(tǒng)提供的特征,其防止用戶或應(yīng)用在表之間輸入不一致數(shù)據(jù)。例如,假設(shè)表B具有指向表A中的列的外碼。參照完整性防止向表B(子表)添加無法被鏈接到表A(父表)的記錄。因此,表B(子表)的記錄中的外碼值必須已經(jīng)在表A(父表)的相應(yīng)列中存在。因此,在所述關(guān)系中,主碼常常被稱為父碼,而外碼被稱為子碼,因?yàn)楹⒆硬荒軟]有父母而存在。此外,參照完整性規(guī)則還可指定,只要從表A(父表)中刪除記錄,表B(子表)中被鏈接到所刪除記錄的任何記錄也被刪除,這被稱為級(jí)聯(lián)刪除。最后,參照完整性規(guī)則可指定,只要在表A中修改了所鏈接列中的值,表B中被鏈接到該值的所有記錄也將被相應(yīng)修改,這被稱為級(jí)聯(lián)更新。因此,級(jí)聯(lián)刪除和更新強(qiáng)制實(shí)施了孩子不能沒有父母而存在的關(guān)系。
盡管參照完整性是有用的技術(shù),但是它是有限制的,因?yàn)樗鼉H在一個(gè)方向上強(qiáng)制實(shí)施完整性規(guī)則,即,在所述關(guān)系中主碼是父碼,而外碼是子碼。嘗試通過將表A中的一個(gè)碼定義為既是主碼也是外碼(以及類似地定義表B中的一個(gè)碼)而創(chuàng)建雙向的參照完整性會(huì)導(dǎo)致循環(huán)限制,循環(huán)限制導(dǎo)致死鎖和無限循環(huán)。
因此,所需要的是一種用于創(chuàng)建雙向的參照完整性的技術(shù)。

發(fā)明內(nèi)容
提供了一種方法、裝置、系統(tǒng)和信號(hào)承載媒體,在一實(shí)施例中,其接收指定父表、父表中的主碼、子表以及子表中的外碼的限制命令,以及強(qiáng)制實(shí)施在所述子表的外碼中呈現(xiàn)所述父表中的主碼的所有值。在一實(shí)施例中,所述強(qiáng)制實(shí)施可包括接收插入命令,其中所述插入命令指定目標(biāo)碼、目標(biāo)碼的目標(biāo)值以及目標(biāo)表;確定所述目標(biāo)表是否匹配所述父表,以及在包括所述插入命令的事務(wù)中所述子表是否包括具有與所述主碼的目標(biāo)值相等的外碼值的至少一行;如果所述確定為真,則將所述目標(biāo)值插入所述目標(biāo)表;以及如果所述確定為假,則返回錯(cuò)誤。在一實(shí)施例中,所述強(qiáng)制實(shí)施可包括接收指向所述目標(biāo)表中的目標(biāo)碼的目標(biāo)值的刪除命令;決定所述目標(biāo)表是否匹配所述子表、所述目標(biāo)碼是否匹配所述外碼、以及所述刪除命令是否請(qǐng)求從所述子表中刪除具有所述目標(biāo)值的所有行;如果所述決定為真,則返回錯(cuò)誤;以及如果所述決定為假,則從所述目標(biāo)表中刪除具有所述目標(biāo)碼的目標(biāo)值的行。


下文結(jié)合附圖來描述本發(fā)明的各種實(shí)施例圖1描述用于實(shí)現(xiàn)本發(fā)明實(shí)施例的示例性系統(tǒng)的高級(jí)框圖。
圖2描述根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)庫的框圖。
圖3描述根據(jù)本發(fā)明實(shí)施例的限制數(shù)據(jù)的框圖。
圖4描述根據(jù)本發(fā)明實(shí)施例的用于限制命令的示例性處理的流程圖。
圖5描述根據(jù)本發(fā)明實(shí)施例的用于插入命令的示例性處理的流程圖。
圖6描述根據(jù)本發(fā)明實(shí)施例的用于刪除命令的示例性處理的流程圖。
圖7描述根據(jù)本發(fā)明實(shí)施例的用于級(jí)聯(lián)刪除命令的示例性處理的流程圖。
不過,需要注意,附圖僅圖示出本發(fā)明的示例性實(shí)施例,并因此不會(huì)被認(rèn)為是限制本發(fā)明的范圍,因?yàn)楸景l(fā)明可容許其它的等效實(shí)施例。
具體實(shí)施例方式
本發(fā)明的實(shí)施例提供了雙向的參照完整性限制。現(xiàn)有的參照完整性限制提供的是對(duì)于子表中的每一行,外碼中的值必須在父表中具有匹配的主碼值,與現(xiàn)有的參照完整性限制相反,本發(fā)明的實(shí)施例強(qiáng)制實(shí)施下述限制,其中對(duì)于父表中的每個(gè)主碼值,子表具有至少一個(gè)匹配的外碼值。
參考附圖,其中在若干視圖中相同標(biāo)號(hào)指示相同的部分,圖1是根據(jù)本發(fā)明實(shí)施例的經(jīng)由網(wǎng)絡(luò)130連接到客戶機(jī)132的計(jì)算機(jī)系統(tǒng)100的高級(jí)框圖表示。在一實(shí)施例中,計(jì)算機(jī)系統(tǒng)100的硬件組件可以由可從紐約Armonk的國際商業(yè)機(jī)器買到的eServer iSeries計(jì)算機(jī)系統(tǒng)來實(shí)現(xiàn)。不過本領(lǐng)域技術(shù)人員將了解,本發(fā)明實(shí)施例的機(jī)制和裝置等同地適用于任何適當(dāng)?shù)挠?jì)算系統(tǒng)。計(jì)算機(jī)系統(tǒng)100充當(dāng)客戶機(jī)132的服務(wù)器,但是術(shù)語“服務(wù)器”和“客戶機(jī)”僅出于方便使用,而在其它實(shí)施例中,在一種方案中被用作服務(wù)器的電子設(shè)備可在另一種方案中被用作客戶機(jī),反之亦然。
計(jì)算機(jī)系統(tǒng)100的主要組件包括一個(gè)或多個(gè)處理器101、主存儲(chǔ)器102、終端接口111、存儲(chǔ)接口112、I/O(輸入/輸出)設(shè)備接口113和通信/網(wǎng)絡(luò)接口114,所有這些組件都經(jīng)由存儲(chǔ)器總線103、I/O總線104和I/O總線接口單元105相耦合用于組件間的通信。
計(jì)算機(jī)系統(tǒng)100包含一個(gè)或多個(gè)通用的可編程中央處理單元(CPU)101A、101B、101C和101D,在此被統(tǒng)稱為處理器101。在一實(shí)施例中,計(jì)算機(jī)系統(tǒng)100包含典型的較大型系統(tǒng)的多個(gè)處理器;不過,在另一實(shí)施例中,計(jì)算機(jī)系統(tǒng)100可替換地可以是單CPU系統(tǒng)。每個(gè)處理器101執(zhí)行主存儲(chǔ)器102中存儲(chǔ)的指令,并可包括一級(jí)或多級(jí)機(jī)載高速緩存。
主存儲(chǔ)器102是用于存儲(chǔ)數(shù)據(jù)和程序的隨機(jī)存取的半導(dǎo)體存儲(chǔ)器。在另一實(shí)施例中,主存儲(chǔ)器102表示計(jì)算機(jī)系統(tǒng)100的整個(gè)虛擬存儲(chǔ)器,并還可包括耦合于計(jì)算機(jī)系統(tǒng)100或經(jīng)由網(wǎng)絡(luò)130進(jìn)行連接的其它計(jì)算機(jī)系統(tǒng)的虛擬存儲(chǔ)器。主存儲(chǔ)器102在概念上是單個(gè)單片實(shí)體,但是在其它實(shí)施例中,主存儲(chǔ)器102是更復(fù)雜的裝置,諸如其它存儲(chǔ)器設(shè)備和高速緩存的分層結(jié)構(gòu)。例如,主存儲(chǔ)器102可存在于多級(jí)高速緩存中,并且這些高速緩存可以被進(jìn)一步按照功能劃分,使得一個(gè)高速緩存保持指令,而另一個(gè)高速緩存保持由一個(gè)或多個(gè)處理器使用的非指令數(shù)據(jù)。主存儲(chǔ)器102可以被進(jìn)一步分布,并與不同CPU或CPU組相關(guān)聯(lián),如各種被稱為非統(tǒng)一存儲(chǔ)器存取(NUMA)計(jì)算機(jī)體系結(jié)構(gòu)中的任一種中所知的那樣。
主存儲(chǔ)器102包括限制數(shù)據(jù)168、數(shù)據(jù)庫170和數(shù)據(jù)庫管理系統(tǒng)172。盡管所示出的限制數(shù)據(jù)168、數(shù)據(jù)庫170和數(shù)據(jù)庫管理系統(tǒng)172被包含在計(jì)算機(jī)系統(tǒng)100的存儲(chǔ)器102內(nèi),但在其它實(shí)施例中,它們中的某些或全部可以處于不同計(jì)算機(jī)系統(tǒng)上,并可例如經(jīng)由網(wǎng)絡(luò)130被遠(yuǎn)程訪問。計(jì)算機(jī)系統(tǒng)100可使用虛擬尋址機(jī)制,其允許計(jì)算機(jī)系統(tǒng)100的程序的行為就好像是它們僅訪問單個(gè)大型的存儲(chǔ)實(shí)體,而不是訪問多個(gè)較小的存儲(chǔ)實(shí)體。因此,盡管所示出的限制數(shù)據(jù)168、數(shù)據(jù)庫170和數(shù)據(jù)庫管理系統(tǒng)172被包含在主存儲(chǔ)器102內(nèi),但這些單元不必非要同時(shí)被完全包含在同一存儲(chǔ)設(shè)備中。此外,盡管所示出的限制數(shù)據(jù)168、數(shù)據(jù)庫170和數(shù)據(jù)庫管理系統(tǒng)172是單獨(dú)實(shí)體,但在其它實(shí)施例中,它們中的某些、或者它們中的某些的某些部分可以被封裝在一起。
數(shù)據(jù)庫170包括例如以數(shù)據(jù)表的行和列的形式組織的數(shù)據(jù),并還可包括被用來訪問數(shù)據(jù)的索引。以下參考圖2進(jìn)一步描述數(shù)據(jù)庫170。以下參考圖3進(jìn)一步描述限制數(shù)據(jù)168。
在一實(shí)施例中,數(shù)據(jù)庫管理系統(tǒng)172包括能夠在處理器101上執(zhí)行的指令或能夠被在處理器101上執(zhí)行的指令所解釋的語句,所述指令或語句用于執(zhí)行以下參考圖4、5、6和7所進(jìn)一步描述的功能。在另一實(shí)施例中,數(shù)據(jù)庫管理系統(tǒng)172可用微代碼實(shí)現(xiàn)。在另一實(shí)施例中,可通過邏輯門和/或其它適當(dāng)?shù)挠布夹g(shù)來代替基于處理器的系統(tǒng)或與基于處理器的系統(tǒng)一起來實(shí)現(xiàn)數(shù)據(jù)庫管理系統(tǒng)172。
存儲(chǔ)器總線103提供用于在處理器101、主存儲(chǔ)器102和I/O總線接口單元105之間傳送數(shù)據(jù)的數(shù)據(jù)通信路徑。I/O總線接口單元105還被耦合于用于將數(shù)據(jù)傳送至各種I/O單元和從各種I/O單元傳送數(shù)據(jù)的系統(tǒng)I/O總線104。I/O總線接口單元105通過系統(tǒng)I/O總線104與多個(gè)I/O接口單元111、112、113和114(也被稱為I/O處理器(IOP)或I/O適配器(IOA))通信。系統(tǒng)I/O總線104可以是例如工業(yè)標(biāo)準(zhǔn)PCI總線或任何其它適當(dāng)?shù)目偩€技術(shù)。
I/O接口單元支持與多種存儲(chǔ)和I/O設(shè)備進(jìn)行的通信。例如,終端接口單元111支持一個(gè)或多個(gè)用戶終端121、122、123和124的附接。存儲(chǔ)接口單元112支持一個(gè)或多個(gè)直接存取存儲(chǔ)設(shè)備(DASD)125、126和127(其典型地旋轉(zhuǎn)磁盤驅(qū)動(dòng)存儲(chǔ)設(shè)備,盡管它們可替換地可以是其它設(shè)備,包括被配置成對(duì)于主機(jī)呈現(xiàn)為單個(gè)大型存儲(chǔ)設(shè)備的盤驅(qū)動(dòng)器陣列)的附接。主存儲(chǔ)器102的內(nèi)容在需要時(shí)可被存儲(chǔ)到直接存取存儲(chǔ)設(shè)備125、126和127以及從其檢索到。
I/O和其它設(shè)備接口113提供到多種其它輸入/輸出設(shè)備或其它類型的設(shè)備中的任一種的接口。在圖1的示例性實(shí)施例中示出了兩個(gè)這樣的設(shè)備打印機(jī)128和傳真機(jī)129,但是在其它實(shí)施例中可存在許多其它這樣的設(shè)備,其可以屬于不同類型。網(wǎng)絡(luò)接口114提供從計(jì)算機(jī)系統(tǒng)100到其它數(shù)字設(shè)備和計(jì)算機(jī)系統(tǒng)的一個(gè)或多個(gè)通信路徑;這樣的路徑可包括例如一個(gè)或多個(gè)網(wǎng)絡(luò)130。
盡管在圖1中將存儲(chǔ)器總線103示出為提供處理器101、主存儲(chǔ)器102和I/O總線接口105之間的直接通信路徑的相對(duì)簡單的單一總線結(jié)構(gòu),但是實(shí)際上,存儲(chǔ)器總線103可包括多種不同總線或通信路徑,其可以用多種形式中的任一形式來安置,所述多種形式諸如分層結(jié)構(gòu)中的點(diǎn)對(duì)點(diǎn)鏈路、星形或網(wǎng)狀配置、多層級(jí)總線、并行和冗余路徑、或任何其它適當(dāng)類型的配置。此外,盡管I/O總線接口105和I/O總線104被示出為單個(gè)相應(yīng)單元,但是實(shí)際上計(jì)算機(jī)系統(tǒng)100可包含多個(gè)I/O總線接口105和/或多個(gè)I/O總線104。盡管示出了多個(gè)I/O接口單元,其使得系統(tǒng)I/O總線104與運(yùn)行到各種I/O設(shè)備的各種通信路徑相分離,但是在其它實(shí)施例中I/O設(shè)備中的某些或全部被直接連接到一個(gè)或多個(gè)系統(tǒng)I/O總線。
圖1中示出的計(jì)算機(jī)系統(tǒng)100具有多個(gè)附接終端121、122、123和124,諸如其典型地可以是多用戶的“大型機(jī)”計(jì)算機(jī)系統(tǒng)。盡管本發(fā)明不會(huì)被限于任何特定大小的系統(tǒng),但是,典型地,在所述情形中,附接設(shè)備的實(shí)際數(shù)量大于圖1中示出的設(shè)備數(shù)量。計(jì)算機(jī)系統(tǒng)100可替換地可以是單用戶系統(tǒng),其典型地僅包含單個(gè)用戶顯示器和鍵盤輸入,或可以是服務(wù)器或類似設(shè)備,其幾乎沒有或沒有直接的用戶接口,而是從其它計(jì)算機(jī)系統(tǒng)(客戶機(jī))接收請(qǐng)求。在其它實(shí)施例中,計(jì)算機(jī)系統(tǒng)100可被實(shí)現(xiàn)為個(gè)人計(jì)算機(jī)、便攜式計(jì)算機(jī)、膝上型或筆記本計(jì)算機(jī)、PDA(個(gè)人數(shù)字助理)、平板式計(jì)算機(jī)、袖珍計(jì)算機(jī)、電話、尋呼機(jī)、汽車、電話會(huì)議系統(tǒng)、儀表、或任何其它適當(dāng)類型的電子設(shè)備。
網(wǎng)絡(luò)130可以是任何適合的網(wǎng)絡(luò)或網(wǎng)絡(luò)的組合,并且可支持適于從/向計(jì)算機(jī)系統(tǒng)100傳送數(shù)據(jù)和/或代碼的任何適當(dāng)?shù)膮f(xié)議。在各種實(shí)施例中,網(wǎng)絡(luò)130可表示直接或者間接連接于計(jì)算機(jī)系統(tǒng)100的存儲(chǔ)設(shè)備或存儲(chǔ)設(shè)備的組合。在一實(shí)施例中,網(wǎng)絡(luò)130可支持Infiniband。在另一實(shí)施例中,網(wǎng)絡(luò)130可支持無線通信。在另一實(shí)施例中,網(wǎng)絡(luò)130可支持硬連線通信,諸如電話線路或電纜。在另一實(shí)施例中,網(wǎng)絡(luò)130可支持以太網(wǎng)IEEE(電氣和電子工程師學(xué)會(huì))802.3x規(guī)范。在另一實(shí)施例中,網(wǎng)絡(luò)130可以是因特網(wǎng),并可支持IP(網(wǎng)際協(xié)議)。
在另一實(shí)施例中,網(wǎng)絡(luò)130可以是局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)。在另一實(shí)施例中,網(wǎng)絡(luò)130可以是熱點(diǎn)服務(wù)供應(yīng)商網(wǎng)絡(luò)。在另一實(shí)施例中,網(wǎng)絡(luò)130可以是內(nèi)聯(lián)網(wǎng)。在另一實(shí)施例中,網(wǎng)絡(luò)130可以是GPRS(通用分組無線服務(wù))網(wǎng)絡(luò)。在另一實(shí)施例中,網(wǎng)絡(luò)130可以是FRS(家用無線服務(wù))網(wǎng)絡(luò)。在另一實(shí)施例中,網(wǎng)絡(luò)130可以是任何適當(dāng)?shù)姆涓C式數(shù)據(jù)網(wǎng)絡(luò)或基于蜂窩的無線網(wǎng)絡(luò)技術(shù)。在另一實(shí)施例中,網(wǎng)絡(luò)130可以是IEEE802.11B無線網(wǎng)絡(luò)。在再一實(shí)施例中,網(wǎng)絡(luò)130可以是任何適當(dāng)?shù)木W(wǎng)絡(luò)或網(wǎng)絡(luò)的組合。盡管示出了一個(gè)網(wǎng)絡(luò)130,但是在其它實(shí)施例中可以存在任何數(shù)量(包括零)的(相同或不同類型的)網(wǎng)絡(luò)。
客戶機(jī)132可包括已對(duì)于計(jì)算機(jī)系統(tǒng)100描述的硬件組件的某些或全部。客戶機(jī)132包括應(yīng)用166,但在另一實(shí)施例中,應(yīng)用166可以在計(jì)算機(jī)系統(tǒng)100中實(shí)現(xiàn)。應(yīng)用166可以是用戶應(yīng)用、第三方應(yīng)用、操作系統(tǒng)、或上述應(yīng)用的任何部分或組合。應(yīng)用166將命令發(fā)送到數(shù)據(jù)庫管理系統(tǒng)172,這使得數(shù)據(jù)庫管理系統(tǒng)172創(chuàng)建限制數(shù)據(jù)168以及經(jīng)由限制數(shù)據(jù)168訪問數(shù)據(jù)庫170。應(yīng)用166可發(fā)送到數(shù)據(jù)庫管理系統(tǒng)172的命令的示例包括以下參考圖4進(jìn)一步描述的限制命令、以下參考圖5進(jìn)一步描述的插入命令、以及以下參考圖6進(jìn)一步描述的刪除命令。但是,在其它實(shí)施例中,應(yīng)用166可將更新命令、查詢命令、加入命令、保存命令、恢復(fù)命令、或任何其它適當(dāng)類型的命令發(fā)送到數(shù)據(jù)庫管理系統(tǒng)172。
應(yīng)該理解,圖1旨在描述計(jì)算機(jī)系統(tǒng)100、網(wǎng)絡(luò)130和客戶機(jī)132的高級(jí)的示范性的主要組件,所述的單獨(dú)組件可以比圖1所示更復(fù)雜,可以存在與圖1中所示組件不同的組件或除了圖1中所示組件之外的組件,并且這些組件的數(shù)量、類型和配置可以不同。在此公開了這些額外的復(fù)雜度或額外的變體的若干特定示例;應(yīng)該理解,這些僅作為示例而并不一定是僅有這些變體。
圖1中所示的實(shí)現(xiàn)本發(fā)明的各種實(shí)施例的各種軟件組件可以用多種方式來實(shí)現(xiàn),包括使用各種計(jì)算機(jī)軟件應(yīng)用、例程、組件、程序、對(duì)象、模塊、數(shù)據(jù)結(jié)構(gòu)等,在此被稱為“計(jì)算機(jī)程序”或簡稱為“程序”。計(jì)算機(jī)程序典型地包括多次駐留在計(jì)算機(jī)系統(tǒng)100的各種存儲(chǔ)器和存儲(chǔ)設(shè)備中的一個(gè)或多個(gè)指令,并且當(dāng)所述指令被計(jì)算機(jī)系統(tǒng)100中的一個(gè)或多個(gè)處理器101讀取并執(zhí)行時(shí)使得計(jì)算機(jī)系統(tǒng)100執(zhí)行下述步驟,所述步驟是執(zhí)行包括本發(fā)明實(shí)施例的各方面的步驟或單元所必需的。
此外,盡管本發(fā)明實(shí)施例已經(jīng)并在下文中將在完全運(yùn)行的計(jì)算機(jī)系統(tǒng)的上下文中進(jìn)行描述,但是本發(fā)明的各種實(shí)施例能夠以各種形式作為程序產(chǎn)品而分布,并且本發(fā)明等同地適用而不管被用來實(shí)際執(zhí)行所述分布的信號(hào)承載媒體的特定類型。定義此實(shí)施例的功能的程序可以被存儲(chǔ)到計(jì)算機(jī)系統(tǒng)100中、在計(jì)算機(jī)系統(tǒng)100上進(jìn)行編碼、并經(jīng)由各種有形的信號(hào)承載媒體傳遞到計(jì)算機(jī)系統(tǒng)100,所述信號(hào)承載媒體包括但不限于以下的計(jì)算機(jī)可讀媒體(1)永久性存儲(chǔ)在不可再寫的存儲(chǔ)媒體上的信息,所述不可再寫的存儲(chǔ)媒體例如附接于計(jì)算機(jī)系統(tǒng)或在計(jì)算機(jī)系統(tǒng)內(nèi)的只讀存儲(chǔ)器或存儲(chǔ)設(shè)備,諸如CD-ROM、DVD-R或DVD+R;(2)存儲(chǔ)在可再寫的存儲(chǔ)媒體上的可變信息,所述可再寫的存儲(chǔ)媒體例如硬盤驅(qū)動(dòng)器(例如DASD 125、126或127)、CD-RW、DVD-RW、DVD+RW、DVD-RAM或軟盤;或者(3)通過通信或傳輸媒體傳送的信息,諸如通過計(jì)算機(jī)或電話網(wǎng)絡(luò)(例如網(wǎng)絡(luò)130)。
這種有形的信號(hào)承載媒體當(dāng)承載了計(jì)算機(jī)可讀、處理器可讀或機(jī)器可讀的、指引或控制本發(fā)明的功能的指令或語句或者用其進(jìn)行編碼時(shí)表示了本發(fā)明的實(shí)施例。
本發(fā)明的實(shí)施例還可被作為與客戶企業(yè)、非營利組織、政府實(shí)體、內(nèi)部組織結(jié)構(gòu)等的服務(wù)約定的一部分而交付。這些實(shí)施例的各方面可包括配置計(jì)算機(jī)系統(tǒng)進(jìn)行執(zhí)行、以及部署用于實(shí)現(xiàn)這里所述的方法的某些或全部的軟件系統(tǒng)和web服務(wù)。這些實(shí)施例的各方面還可包括分析客戶公司、響應(yīng)于該分析而創(chuàng)建推薦、生成實(shí)現(xiàn)該推薦各部分的軟件、將該軟件集成到現(xiàn)有過程和基礎(chǔ)設(shè)施中、計(jì)量這里所述的方法和系統(tǒng)的使用、向用戶分配費(fèi)用、以及對(duì)于用戶對(duì)這些方法和系統(tǒng)的使用而向用戶收費(fèi)。
此外,在下文中描述的各種程序可基于在本發(fā)明特定實(shí)施例中實(shí)現(xiàn)這些程序的應(yīng)用而標(biāo)識(shí)出來。但是,以下的任何特定程序命名法僅為了方便而使用,并因此本發(fā)明實(shí)施例不應(yīng)被限于僅在由這些命名法所標(biāo)識(shí)和/或暗示的任何特定應(yīng)用中進(jìn)行使用。
圖1所示的示例性環(huán)境并非旨在限制本發(fā)明。實(shí)際上,不脫離本發(fā)明的范圍可以使用其它可替換硬件和/或軟件環(huán)境。
圖2描述根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)庫170的框圖。數(shù)據(jù)庫170包括具有任何適當(dāng)?shù)母袷?、行、列和?shù)據(jù)的任何數(shù)量的表,諸如工作組表202、工作組成員表204、工作組會(huì)議表206以及工作組文件表208。工作組表202包括行210以及列212、214、216和218。工作組成員表204包括行230、232和234以及列236和238。工作組會(huì)議表206包括行240和242以及列244、246和248。工作組文件表208包括行260和列262、264和266。
圖3描述根據(jù)本發(fā)明實(shí)施例的限制數(shù)據(jù)168的框圖。限制數(shù)據(jù)168包括記錄305、310、315和320,但是在其它實(shí)施例中可以存在具有任何適當(dāng)數(shù)據(jù)的任何數(shù)量的記錄。在一實(shí)施例中,記錄305、310、315和320中的每個(gè)指定了從限制命令接收的限制數(shù)據(jù),但是在其它實(shí)施例中,限制數(shù)據(jù)可具有任何適當(dāng)?shù)脑础?br> 記錄305、310、315和320中的每個(gè)包括限制標(biāo)識(shí)符330、父表335、主碼340、子表345、外碼350、限制類型355以及刪除動(dòng)作360,但是在其它實(shí)施例中可存在更多或更少個(gè)字段。限制標(biāo)識(shí)符330標(biāo)識(shí)由記錄指定的限制。父表335標(biāo)識(shí)數(shù)據(jù)庫170中具有主碼340的表。主碼在父表335中保持對(duì)于每一行的唯一值。子表345標(biāo)識(shí)數(shù)據(jù)庫170中具有指向父表335中的主碼340的外碼350的表。因此,外碼標(biāo)識(shí)不同表中的行。
限制類型355指示所述記錄指引數(shù)據(jù)庫管理系統(tǒng)172強(qiáng)制實(shí)施的限制的類型。限制類型355“外碼”(在示例性記錄305、310和315中所示)指引數(shù)據(jù)庫管理系統(tǒng)172強(qiáng)制實(shí)施子表345中的外碼350的值必須具有父表335的主碼340中的匹配值。例如,記錄305中的限制類型355“外碼”指引數(shù)據(jù)庫管理系統(tǒng)172強(qiáng)制實(shí)施工作組成員表204的子表345中的工作組號(hào)236的外碼350中的值必須存在于工作組表202的父表335中的工作組號(hào)212的主碼340中。
數(shù)據(jù)庫管理系統(tǒng)172可例如通過如果值“H13”存在于工作組表202的主碼工作組號(hào)212中則僅允許進(jìn)行將值“H13”插入工作組成員表204的工作組號(hào)236中的要求,而強(qiáng)制實(shí)施記錄305中的限制。數(shù)據(jù)庫管理系統(tǒng)172還可通過只有當(dāng)在工作組號(hào)236中具有值“H13”的工作組成員表204中的行不存在之時(shí)則允許進(jìn)行從工作組表202的工作組號(hào)212中刪除值“H13”,而強(qiáng)制實(shí)施記錄305中的限制。
與限制類型355“外碼”相反,限制數(shù)據(jù)168的記錄320包括限制類型355“要求”,其指引數(shù)據(jù)庫管理系統(tǒng)172強(qiáng)制實(shí)施父表335中的主碼340的值必須具有子表345的外碼350中的匹配值。因此,限制類型355“要求”在從限制類型355“外碼”的反方向進(jìn)行操作,并例示出雙向的參照完整性。
數(shù)據(jù)庫管理系統(tǒng)172可通過如果值“H13”存在于工作組成員表204的外碼工作組號(hào)236中則僅允許進(jìn)行將值“H13”插入工作組表202的工作組號(hào)212中的要求,而強(qiáng)制實(shí)施記錄320中的限制。數(shù)據(jù)庫管理系統(tǒng)172還可通過只有當(dāng)在工作組號(hào)212中具有值“H13”的工作組表202中的行不存在之時(shí)則允許進(jìn)行從工作組成員表204的工作組號(hào)236中刪除值“H13”,而強(qiáng)制實(shí)施記錄320中的限制。
刪除動(dòng)作360指定了數(shù)據(jù)庫管理系統(tǒng)172將響應(yīng)于刪除命令而執(zhí)行的刪除處理的類型。刪除動(dòng)作360的示例包括“限制”和“級(jí)聯(lián)”。對(duì)于限制刪除動(dòng)作,數(shù)據(jù)庫管理系統(tǒng)172防止刪除子表345中的外碼350的值的所有行,如以下參考圖6進(jìn)一步描述的。對(duì)于級(jí)聯(lián)刪除動(dòng)作,如果刪除命令請(qǐng)求刪除子表345中的外碼350的值的所有行,則數(shù)據(jù)庫管理系統(tǒng)172不僅刪除子表中的外碼350的值的所有行,還刪除在父表335中具有該值的行以及在父表335的所有子表中包括該值的行,如以下參考圖7進(jìn)一步描述的。
用于限制類型355的術(shù)語“外碼”和“要求”以及用于刪除動(dòng)作360的術(shù)語“限制”和“級(jí)聯(lián)”僅是示例性術(shù)語,而在其它實(shí)施例中可使用任何適當(dāng)?shù)闹甘?。此外,盡管限制數(shù)據(jù)168被示出為表,但在另一實(shí)施例中可使用任何適當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu)。在其它實(shí)施例中,限制數(shù)據(jù)168的信息或其組合的任何部分可被嵌入邏輯而不是數(shù)據(jù)結(jié)構(gòu)之中。
圖4描述根據(jù)本發(fā)明實(shí)施例的用于限制命令的示例性處理的流程圖??刂崎_始于框400。接著控制繼續(xù)到框405,在框405中數(shù)據(jù)庫管理系統(tǒng)172接收任何數(shù)量的限制命令,每個(gè)限制命令指定了限制標(biāo)識(shí)符、父表、父表中的主碼、子表、子表中的外碼、限制類型和刪除動(dòng)作。接著控制繼續(xù)到框410,在框410中數(shù)據(jù)庫管理系統(tǒng)172在限制數(shù)據(jù)168中創(chuàng)建用于限制命令的一個(gè)或多個(gè)記錄(例如,記錄305、310、315和320),將所接收的限制標(biāo)識(shí)符存儲(chǔ)在限制標(biāo)識(shí)符330中,將所接收的父表存儲(chǔ)在父表335中,將所接收的主碼存儲(chǔ)在主碼340中,將所接收的子表存儲(chǔ)在子表345中,將所接收的外碼存儲(chǔ)在外碼350中,將所接收的限制類型存儲(chǔ)在限制類型355中,以及將所接收的刪除動(dòng)作存儲(chǔ)在刪除動(dòng)作360中。
接著控制繼續(xù)到框415,在框415中數(shù)據(jù)庫管理系統(tǒng)172強(qiáng)制實(shí)施對(duì)父表335、主碼340、子表345和外碼350的刪除動(dòng)作360和限制類型355,如以下參考圖5、6、7和8進(jìn)一步描述的。對(duì)于限制類型355要求,數(shù)據(jù)庫管理系統(tǒng)172強(qiáng)制實(shí)施在子表345中的外碼350中存在父表335中的主碼340的所有值。
接著控制繼續(xù)到框499,在框499中圖4的邏輯返回。
圖5描述根據(jù)本發(fā)明實(shí)施例的用于插入命令的示例性處理的流程圖??刂崎_始于框500。接著控制繼續(xù)到框505,在框505中數(shù)據(jù)庫管理系統(tǒng)172從應(yīng)用166接收插入命令,插入命令指定了插入命令所指引的數(shù)據(jù)庫170中的目標(biāo)碼、目標(biāo)碼的目標(biāo)值以及目標(biāo)表。插入命令請(qǐng)求數(shù)據(jù)庫管理系統(tǒng)172將目標(biāo)碼的目標(biāo)值插入目標(biāo)表。使用表2的示例,插入命令可指定目標(biāo)表為工作組表202、目標(biāo)碼為工作組號(hào)212以及目標(biāo)值為“H13”。插入命令還可將“軟件設(shè)計(jì)”指定為列214的值、將“T.Jones”指定為列216的值、以及將“Rochester”指定為列218的值。
接著控制繼續(xù)到框510,在框510中數(shù)據(jù)庫管理系統(tǒng)172確定插入命令中指定的目標(biāo)表是否是限制數(shù)據(jù)168的記錄中的父表335,以及該記錄中的相關(guān)聯(lián)限制類型355是否指示出要求具有匹配的外碼值的子表。限制數(shù)據(jù)168中的記錄320是用于以上對(duì)于框505所描述的示例性插入命令的這樣的記錄。
如果在框510的確定為真,則在插入命令中指定的目標(biāo)表是限制數(shù)據(jù)168的記錄中的父表335,以及該記錄中的相關(guān)聯(lián)限制類型355指示出要求具有匹配的外碼值的子表345,于是控制繼續(xù)到框515,在框515中數(shù)據(jù)庫管理系統(tǒng)172找到之前在框510中找到的記錄中指定的子表345。使用圖3的示例,數(shù)據(jù)庫管理系統(tǒng)172找到在限制數(shù)據(jù)168的記錄320中的子表345所指定的工作組成員表204。
接著控制繼續(xù)到框520,在框520中數(shù)據(jù)庫管理系統(tǒng)172確定在包括所接收的插入命令的事務(wù)內(nèi),子表345是否包括具有與所接收的主碼340的目標(biāo)值相等的外碼350的值的至少一行。使用圖3中的記錄320的示例和圖2的數(shù)據(jù)庫,對(duì)于在框520中的確定為真,如果插入命令正在請(qǐng)求將“H13”添加到工作組表202(父表335)的工作組號(hào)212列(主碼340)作為行210,則工作組成員表204(子表345)也必須包括在工作組號(hào)236列(外碼350)中具有值“H13”的至少一行。由于工作組號(hào)212列是工作組表202(主表335)中的主碼340,因此工作組表202中的工作組號(hào)212的值必須是唯一的。因此,對(duì)于在框520中的確定為真,包括請(qǐng)求將“H13”插入工作組表202的工作組號(hào)212中的插入命令的事務(wù)也必須包括請(qǐng)求將一行插入包括與主碼340的目標(biāo)值相等的工作組號(hào)236“H13”的工作組成員表204(子表345)中的另一插入命令。工作組成員表204中的行230就是這樣的行。
如果在框520中的確定為假,則控制繼續(xù)到框530,在框530中數(shù)據(jù)庫管理系統(tǒng)172將錯(cuò)誤返回應(yīng)用166,因?yàn)橄拗?例如限制數(shù)據(jù)168中的記錄320)未被滿足。因此,框510、515、520和530中示出的邏輯是強(qiáng)制實(shí)施所接收的插入命令的限制類型355的示例。接著控制繼續(xù)到框599,在框599中圖5的邏輯返回。
如果在框520中的確定為真,則控制繼續(xù)到框525,在框525中,只要具有外碼的限制類型的任何限制(例如記錄305、310或315)(如果有的話)被滿足,數(shù)據(jù)庫管理系統(tǒng)172就經(jīng)由所指定的目標(biāo)碼將目標(biāo)值(以及在所接收的插入命令中指定的任何其它數(shù)據(jù))插入數(shù)據(jù)庫170中的目標(biāo)表。接著控制繼續(xù)到框599,在框599中圖5的邏輯返回。
圖6描述根據(jù)本發(fā)明實(shí)施例的用于刪除命令的示例性處理的流程圖??刂崎_始于框600。接著控制繼續(xù)到框605,在框605中數(shù)據(jù)庫管理系統(tǒng)172從應(yīng)用166接收刪除命令。刪除命令指向數(shù)據(jù)庫170的目標(biāo)表中的目標(biāo)碼的目標(biāo)值。接著控制繼續(xù)到框610,在框610中數(shù)據(jù)庫管理系統(tǒng)172確定目標(biāo)表是否是限制數(shù)據(jù)168中的子表345、目標(biāo)碼是否匹配外碼350、以及目標(biāo)表的限制類型355是否指示出要求在子表345的外碼350中呈現(xiàn)父表335中的主碼340的所有值(限制類型355為“要求”)。
如果在框610中的確定為真,則目標(biāo)表是限制數(shù)據(jù)168中的子表345,目標(biāo)碼是外碼350,以及目標(biāo)表的限制類型355指示出要求在子表345的外碼350中呈現(xiàn)父表335中的主碼340的所有值,于是控制繼續(xù)到框615,在框615中數(shù)據(jù)庫管理系統(tǒng)172確定刪除命令是否請(qǐng)求從子表中刪除具有目標(biāo)碼的目標(biāo)值的所有行。即,如果刪除命令被執(zhí)行,則子表345中具有目標(biāo)碼的目標(biāo)值的所有行將被移除。如果在框615中的確定為真,則控制繼續(xù)到框620,在框620中數(shù)據(jù)庫管理系統(tǒng)172確定刪除動(dòng)作360是否指示了受限制的刪除操作。
如果在框620中的確定為真,則控制繼續(xù)到框625,在框625中數(shù)據(jù)庫管理系統(tǒng)172將錯(cuò)誤返回應(yīng)用166。接著控制繼續(xù)到框699,在框699中圖6的邏輯返回。
如果在框620中的確定為假,則刪除動(dòng)作指示出級(jí)聯(lián)刪除操作,于是控制繼續(xù)到框630,在框630中數(shù)據(jù)庫管理系統(tǒng)172處理級(jí)聯(lián)刪除,如以下參考圖7進(jìn)一步描述的。接著控制繼續(xù)到框699,在框699中圖6的邏輯返回。
如果在框615中的確定為假,則控制繼續(xù)到框635,在框635中數(shù)據(jù)庫管理系統(tǒng)172從目標(biāo)表中刪除具有目標(biāo)碼中的目標(biāo)值的目標(biāo)行。接著控制繼續(xù)到框699,在框699中圖6的邏輯返回。
如果在框610中的確定為假,則目標(biāo)表不是其限制類型355指示出要求在子表345的外碼350中呈現(xiàn)父表335中的主碼340的所有值的限制數(shù)據(jù)168中的子表345,于是控制繼續(xù)到框635,如上面所述的。
圖7描述根據(jù)本發(fā)明實(shí)施例的用于級(jí)聯(lián)刪除請(qǐng)求的示例性處理的流程圖??刂崎_始于框700。接著控制繼續(xù)到框705,在框705中數(shù)據(jù)庫管理系統(tǒng)172從目標(biāo)表中刪除具有目標(biāo)碼的目標(biāo)值的行。接著控制繼續(xù)到框710,在框710中數(shù)據(jù)庫管理系統(tǒng)172找到限制數(shù)據(jù)168中的目標(biāo)表(其中目標(biāo)表是限制數(shù)據(jù)168的同一記錄中的子表345)的父表335,并且從父表335中刪除具有在父表335的主碼340中匹配已刪除的目標(biāo)碼的目標(biāo)值的值的所有行。
接著控制繼續(xù)到框715,在框715中數(shù)據(jù)庫管理系統(tǒng)172找到限制數(shù)據(jù)168中的父表(之前在框710中所找到)的所有子表345,并刪除所有子表345中具有在其外碼350中的下述值的所有行,所述值匹配父表355的主碼340中如果對(duì)子表345的刪除動(dòng)作360是級(jí)聯(lián)則已經(jīng)刪除的目標(biāo)值。
使用圖2和3的示例,如果刪除命令指定目標(biāo)表為工作組成員表204、目標(biāo)碼為工作組號(hào)236以及目標(biāo)值為“H13”,則如框705中所示,數(shù)據(jù)庫管理系統(tǒng)172從工作組成員表204中刪除行230、232和234。
接著,如框710中所示,數(shù)據(jù)庫管理系統(tǒng)172經(jīng)由限制數(shù)據(jù)168中的記錄320的父表字段335找到工作組成員表204的父表(其是工作組表202)。接著,數(shù)據(jù)庫管理系統(tǒng)172從工作組表202中刪除行210。
接著,如框715中所示,數(shù)據(jù)庫管理系統(tǒng)172通過找到記錄305、310、315和320而找到工作組表202的所有子表,其中在所述記錄305、310、315和320中指定了工作組表202作為父表335,其具有的子表345是工作組成員表204、工作組會(huì)議表和工作組文件表208。工作組成員表204已經(jīng)將包含目標(biāo)碼中的目標(biāo)值的所有行刪除(在框705中),因此記錄310和315仍將被處理。因此,數(shù)據(jù)庫管理系統(tǒng)172從工作組會(huì)議表206中刪除行240和242,并從工作組文件表208中刪除行260。
如果對(duì)子表345的刪除動(dòng)作360是限制,則數(shù)據(jù)庫管理系統(tǒng)172將錯(cuò)誤返回曾請(qǐng)求刪除命令的應(yīng)用166。
接著控制繼續(xù)到框799,在框799中圖7的邏輯返回。
在本發(fā)明示例性實(shí)施例的之前的詳細(xì)描述中,參考了構(gòu)成本發(fā)明的一部分的附圖(其中相同標(biāo)號(hào)表示相同單元),其中通過圖示示出了其中可實(shí)踐本發(fā)明的特定的示例性實(shí)施例。這些實(shí)施例被描述得足夠詳細(xì),以使得本領(lǐng)域技術(shù)人員能夠?qū)嵺`本發(fā)明,但是也可使用其它實(shí)施例,并且可以做出邏輯、機(jī)械、電和其它改變而不會(huì)脫離本發(fā)明的范圍。在本說明書中使用的詞“實(shí)施例”的不同實(shí)例不必非要指代同一實(shí)施例,而是它們可以是不同的。這里所圖示或描述的任何數(shù)據(jù)結(jié)構(gòu)僅是示例,并且在其它實(shí)施例中,可以使用不同的數(shù)據(jù)數(shù)量、數(shù)據(jù)類型、字段、記錄、條目或數(shù)據(jù)組織。此外,任何數(shù)據(jù)都可與邏輯相結(jié)合,從而單獨(dú)的數(shù)據(jù)結(jié)構(gòu)是不必要的。因此,之前的詳細(xì)描述不會(huì)被看成是限制,并且僅由權(quán)利要求限定了本發(fā)明的范圍。
在之前的描述中,所闡述的各種特定細(xì)節(jié)提供了對(duì)本發(fā)明實(shí)施例的精確理解。但是,可以在沒有這些特定細(xì)節(jié)的情況下實(shí)踐本發(fā)明。在其它實(shí)例中,并未詳細(xì)示出公知的電路、結(jié)構(gòu)和技術(shù),以免混淆本發(fā)明。
權(quán)利要求
1.一種方法,包括接收限制命令,其中所述限制命令指定父表、父表中的主碼、子表以及子表中的外碼,其中所述限制命令請(qǐng)求在所述子表的外碼中呈現(xiàn)所述父表中的主碼的所有值;以及強(qiáng)制實(shí)施在所述子表的外碼中呈現(xiàn)所述父表中的主碼的所有值。
2.根據(jù)權(quán)利要求1所述的方法,其中所述強(qiáng)制實(shí)施還包括接收第一插入命令,其中所述插入命令指定目標(biāo)碼、目標(biāo)碼的目標(biāo)值以及目標(biāo)表;確定所述目標(biāo)表是否匹配所述父表,以及在包括所述第一插入命令的事務(wù)中所述子表是否包括具有與所述主碼的目標(biāo)值相等的外碼值的至少一行;如果所述確定為真,則將所述目標(biāo)值插入所述目標(biāo)表;以及如果所述確定為假,則返回錯(cuò)誤。
3.根據(jù)權(quán)利要求2所述的方法,其中所述確定還包括確定所述事務(wù)是否包括第二插入命令,所述第二插入命令請(qǐng)求將具有與所述主碼的目標(biāo)值相等的外碼值的所述至少一行插入所述子表中。
4.根據(jù)權(quán)利要求1所述的方法,其中所述強(qiáng)制實(shí)施還包括接收刪除命令,所述刪除命令指向所述目標(biāo)表中的目標(biāo)碼的目標(biāo)值;決定所述目標(biāo)表是否匹配所述子表、所述目標(biāo)碼是否匹配所述外碼、以及所述刪除命令是否請(qǐng)求從所述子表中刪除具有所述目標(biāo)值的所有行;以及如果所述決定為真,則返回錯(cuò)誤。
5.根據(jù)權(quán)利要求4所述的方法,還包括如果所述決定為假,則從所述目標(biāo)表中刪除具有所述目標(biāo)碼的目標(biāo)值的行。
6.根據(jù)權(quán)利要求1所述的方法,其中所述強(qiáng)制實(shí)施還包括接收刪除命令,所述刪除命令指向所述目標(biāo)表中的目標(biāo)碼的目標(biāo)值;決定所述目標(biāo)表是否匹配所述子表、所述目標(biāo)碼是否匹配所述外碼、以及所述刪除命令是否請(qǐng)求從所述子表中刪除具有所述目標(biāo)值的所有行;以及如果所述決定為真,則從所述目標(biāo)表中刪除具有所述目標(biāo)碼的目標(biāo)值的所有行。
7.根據(jù)權(quán)利要求6所述的方法,還包括如果所述決定為真,則從所述父表中刪除具有所述主碼的目標(biāo)值的所有行。
8.根據(jù)權(quán)利要求7所述的方法,還包括接收多個(gè)限制命令,其中所述多個(gè)限制命令中的每個(gè)指定相應(yīng)的父表、所述相應(yīng)父表中的相應(yīng)主碼、相應(yīng)的子表以及所述相應(yīng)子表中的相應(yīng)外碼;以及如果所述決定為真,則找到所述父表中具有所述外碼的目標(biāo)值的所有子表,并在所找到的子表中刪除具有所述外碼的目標(biāo)值的行。
9.一種用于配置計(jì)算機(jī)的方法,包括配置計(jì)算機(jī)接收限制命令,其中所述限制命令指定父表、父表中的主碼、子表以及子表中的外碼,其中所述限制命令請(qǐng)求在所述子表的外碼中呈現(xiàn)所述父表中的主碼的所有值;以及配置計(jì)算機(jī)強(qiáng)制實(shí)施在所述子表的外碼中呈現(xiàn)所述父表中的主碼的所有值,其中所述配置計(jì)算機(jī)強(qiáng)制實(shí)施還包括配置計(jì)算機(jī)接收第一插入命令,其中所述插入命令指定目標(biāo)碼、目標(biāo)碼的目標(biāo)值以及目標(biāo)表,配置計(jì)算機(jī)確定所述目標(biāo)表是否匹配所述父表,以及在包括所述第一插入命令的事務(wù)中所述子表是否包括具有與所述主碼的目標(biāo)值相等的外碼值的至少一行,其中所述配置計(jì)算機(jī)進(jìn)行確定還包括配置計(jì)算機(jī)確定所述事務(wù)是否包括第二插入命令,所述第二插入命令請(qǐng)求將具有與所述主碼的目標(biāo)值相等的外碼值的所述至少一行插入所述子表中,以及如果所述確定為真,則配置計(jì)算機(jī)將所述目標(biāo)值插入所述目標(biāo)表。
10.根據(jù)權(quán)利要求9所述的方法,其中所述配置計(jì)算機(jī)強(qiáng)制實(shí)施還包括配置計(jì)算機(jī)接收刪除命令,所述刪除命令指向所述目標(biāo)表中的目標(biāo)碼的目標(biāo)值;配置計(jì)算機(jī)決定所述目標(biāo)表是否匹配所述子表、所述目標(biāo)碼是否匹配所述外碼、以及所述刪除命令是否請(qǐng)求從所述子表中刪除具有所述目標(biāo)值的所有行;如果所述決定為真,則配置計(jì)算機(jī)返回錯(cuò)誤;以及如果所述決定為假,則配置計(jì)算機(jī)從所述目標(biāo)表中刪除具有所述目標(biāo)碼的目標(biāo)值的行。
11.根據(jù)權(quán)利要求9所述的方法,其中所述配置計(jì)算機(jī)強(qiáng)制實(shí)施還包括配置計(jì)算機(jī)接收刪除命令,所述刪除命令指向所述目標(biāo)表中的目標(biāo)碼的目標(biāo)值;配置計(jì)算機(jī)決定所述目標(biāo)表是否匹配所述子表、所述目標(biāo)碼是否匹配所述外碼、以及所述刪除命令是否請(qǐng)求從所述子表中刪除具有所述目標(biāo)值的所有行;以及如果所述決定為真,則配置計(jì)算機(jī)從所述目標(biāo)表中刪除具有所述目標(biāo)碼的目標(biāo)值的所有行。
12.根據(jù)權(quán)利要求11所述的方法,還包括如果所述決定為真,則配置計(jì)算機(jī)從所述父表中刪除具有所述主碼的目標(biāo)值的所有行。
13.根據(jù)權(quán)利要求12所述的方法,還包括配置計(jì)算機(jī)接收多個(gè)限制命令,其中所述多個(gè)限制命令中的每個(gè)指定相應(yīng)的父表、所述相應(yīng)父表中的相應(yīng)主碼、相應(yīng)的子表以及所述相應(yīng)子表中的相應(yīng)外碼;以及如果所述決定為真,則配置計(jì)算機(jī)找到所述父表中具有所述外碼的目標(biāo)值的所有子表,并在所找到的子表中刪除具有所述外碼的目標(biāo)值的行。
14.一種數(shù)據(jù)處理系統(tǒng),包括用于執(zhí)行前述方法權(quán)利要求中的任一方法的裝置。
全文摘要
一種方法、裝置、系統(tǒng)和信號(hào)承載媒體,其接收指定父表、父表中的主碼、子表和子表中的外碼的限制命令,以及強(qiáng)制實(shí)施在子表的外碼中呈現(xiàn)父表中的主碼的所有值。所述強(qiáng)制實(shí)施包括接收第一插入命令,其中插入命令指定目標(biāo)碼、目標(biāo)碼的目標(biāo)值和目標(biāo)表;確定目標(biāo)表是否匹配父表,以及在包括第一插入命令的事務(wù)中子表是否包括具有與主碼的目標(biāo)值相等的外碼值的至少一行;如果確定為真則將目標(biāo)值插入目標(biāo)表;如果確定為假則返回錯(cuò)誤。所述強(qiáng)制實(shí)施包括接收指向目標(biāo)表中的目標(biāo)碼的目標(biāo)值的刪除命令;決定目標(biāo)表是否匹配子表、目標(biāo)碼是否匹配外碼以及刪除命令是否請(qǐng)求從子表中刪除具有目標(biāo)值的所有行;如果決定為真則返回錯(cuò)誤;如果決定為假則從目標(biāo)表中刪除具有目標(biāo)碼的目標(biāo)值的行。
文檔編號(hào)G06F17/30GK1963818SQ200610144479
公開日2007年5月16日 申請(qǐng)日期2006年11月8日 優(yōu)先權(quán)日2005年11月10日
發(fā)明者M·G·梅格瑞恩 申請(qǐng)人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
松江区| 绩溪县| 博乐市| 绥化市| 炎陵县| 稻城县| 博乐市| 基隆市| 靖远县| 韶关市| 酉阳| 辛集市| 体育| 平武县| 桃园市| 博客| 黎平县| 湖口县| 巨鹿县| 浙江省| 衡阳县| 瓦房店市| 汶川县| 宁南县| 湘潭县| 澜沧| 宁明县| 漳平市| 历史| 辽源市| 新和县| 吴川市| 五常市| 丘北县| 横峰县| 阿鲁科尔沁旗| 高碑店市| 常德市| 平乡县| 镶黄旗| 汉源县|