專利名稱:數(shù)據(jù)庫(kù)檢查維護(hù)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)庫(kù)檢查維護(hù)領(lǐng)域,具體涉及一種數(shù)據(jù)庫(kù)的檢查、維護(hù)方法。
背景技術(shù):
在計(jì)算機(jī)應(yīng)用領(lǐng)域,根據(jù)應(yīng)用的需要,往往要求對(duì)于正在使用的數(shù)據(jù)庫(kù)進(jìn)行不定期的維護(hù)及升級(jí)。例如,在系軟件開發(fā)過(guò)程中,隨著軟件版本的變化,會(huì)存在數(shù)據(jù)庫(kù)結(jié)構(gòu)的不斷變化,而發(fā)布的軟件在客戶使用過(guò)程中,隨著客戶的需求變化,在維護(hù)過(guò)程中,需要對(duì)數(shù)據(jù)庫(kù)結(jié)構(gòu)進(jìn)行變更或升級(jí),由于軟件本身功能的不斷變化,還可能導(dǎo)致不同客戶的數(shù)據(jù)庫(kù)結(jié)構(gòu)版本可能不一致。在不影響客戶使用的情況下進(jìn)行升級(jí),就必須形成數(shù)據(jù)庫(kù)結(jié)構(gòu)及基礎(chǔ)數(shù)據(jù)的差異報(bào)告,能夠自動(dòng)產(chǎn)生升級(jí)語(yǔ)法。 目前,現(xiàn)有的數(shù)據(jù)庫(kù)維護(hù)及升級(jí)存在一些問(wèn)題。首先,在系統(tǒng)設(shè)計(jì)開發(fā)過(guò)程中,一般采取維護(hù)數(shù)據(jù)庫(kù)的物理模型,維護(hù)的是完整的數(shù)據(jù)結(jié)構(gòu),但在具體開發(fā)過(guò)程中,可能需要反復(fù)的變更數(shù)據(jù)結(jié)構(gòu),需要準(zhǔn)確的記載變更的語(yǔ)法,這在多人協(xié)作的設(shè)計(jì)及開發(fā)環(huán)境下,若配置及管理不嚴(yán),很容易出現(xiàn)記載缺失或部分失誤,難以發(fā)現(xiàn),造成模型庫(kù)同開發(fā)庫(kù)出現(xiàn)不一致情況。其次,應(yīng)用系統(tǒng)的客戶數(shù)據(jù)庫(kù)檢查及升級(jí)的方式一般是需要先建立不同的數(shù)據(jù)庫(kù)版本及相鄰版本的升級(jí)語(yǔ)法,然后升級(jí)時(shí)利用版本變化獲取一組升級(jí)語(yǔ)法,需要從低版本到高版本逐一處理每個(gè)版本的升級(jí)語(yǔ)法,這樣效率低下,而且需要提供的數(shù)據(jù)庫(kù)版本信息要完整,一旦客戶的數(shù)據(jù)庫(kù)因某種原因變化過(guò),則會(huì)直接導(dǎo)致升級(jí)失敗或用戶數(shù)據(jù)丟失。第三,在開發(fā)過(guò)程中或?qū)嶋H用戶使用過(guò)程中,技術(shù)人員可能會(huì)變動(dòng)過(guò)基礎(chǔ)數(shù)據(jù),這一行為很難以監(jiān)管,只能實(shí)行嚴(yán)格管理而沒(méi)有有效的檢查機(jī)制。
發(fā)明內(nèi)容
所要解決的技術(shù)問(wèn)題針對(duì)現(xiàn)有技術(shù)存在的缺陷,本發(fā)明的目的是為軟件開發(fā)或維護(hù)過(guò)程提供一種數(shù)據(jù)庫(kù)的檢查維護(hù)方法,實(shí)現(xiàn)數(shù)據(jù)庫(kù)版本的記載及快速檢查維護(hù)或升級(jí)數(shù)據(jù)庫(kù),并能提供報(bào)告及數(shù)據(jù)庫(kù)腳本語(yǔ)法。技術(shù)方案一種數(shù)據(jù)庫(kù)檢查維護(hù)方法,其特征在于包括以下幾個(gè)步驟
步驟I:建立數(shù)據(jù)庫(kù)版本,獲取當(dāng)前最新版本數(shù)據(jù)庫(kù)結(jié)構(gòu),形成數(shù)據(jù)庫(kù)結(jié)構(gòu)腳本語(yǔ)法,存貯數(shù)據(jù)庫(kù)結(jié)構(gòu)信息;
步驟2 :定義基礎(chǔ)表,獲取最新版本基礎(chǔ)數(shù)據(jù),形成基礎(chǔ)數(shù)據(jù)語(yǔ)法,存貯基礎(chǔ)數(shù)據(jù);
步驟3 :獲取待比較的數(shù)據(jù)庫(kù)或歷史版本的數(shù)據(jù)庫(kù)結(jié)構(gòu)及基礎(chǔ)數(shù)據(jù);
步驟4 比較數(shù)據(jù)庫(kù)結(jié)構(gòu)及基礎(chǔ)數(shù)據(jù),形成差異報(bào)告,產(chǎn)生升級(jí)語(yǔ)法。所述的步驟I包括以下步驟
步驟1-1 :按順序獲取數(shù)據(jù)庫(kù)結(jié)構(gòu)信息,即先獲取系統(tǒng)中的用戶表,然后獲取對(duì)應(yīng)表的字段信息,進(jìn)一步獲取觸發(fā)器、視圖及存貯過(guò)程,最后解析出表的主鍵、外鍵,在獲取數(shù)據(jù)時(shí),需要對(duì)數(shù)據(jù)進(jìn)行排序,即對(duì)照建立索引的要求進(jìn)行排序;步驟1-2 :利用已獲取的數(shù)據(jù)庫(kù)結(jié)構(gòu)信息,按順序組織數(shù)據(jù)庫(kù)的腳本語(yǔ)法,以便可以直接執(zhí)行數(shù)據(jù)庫(kù)腳本;
步驟1-3已獲取的數(shù)據(jù),根據(jù)排序,建立索引,并根據(jù)索引中的順序來(lái)組織語(yǔ)法并存貯文件。所述的步驟2是根據(jù)步驟1-1獲取到的用戶表,設(shè)置相關(guān)表為基礎(chǔ)數(shù)據(jù)表,即需要采集其數(shù)據(jù)作為系統(tǒng)的基礎(chǔ)數(shù)據(jù),采集數(shù)據(jù)時(shí),需先根據(jù)步驟1-1獲取的表的字段信息,來(lái)組織對(duì)應(yīng)表的數(shù)據(jù)讀取的腳本語(yǔ)法,腳本語(yǔ)法中按步驟1-1中獲取的主鍵增加排序字段,這樣,獲取的基礎(chǔ)數(shù)據(jù)是按主鍵排序的,然后利用步驟1-3中構(gòu)建索引的原則組織索引文件及數(shù)據(jù)文件。所述的索引文件主要記載表名,記錄主鍵,數(shù)據(jù)的大小,數(shù)據(jù)文件的存貯名稱信
肩、O
所述的步驟3分兩種情況,一種是直接同歷史版本進(jìn)行比較,只需讀取歷史版本所保存的版本文件即可,另一種是比較某個(gè)具體的用戶庫(kù),此時(shí),對(duì)待比較的庫(kù)執(zhí)行的操作為先執(zhí)行步驟1-1中的獲取數(shù)據(jù)結(jié)構(gòu)信息及存貯文件,然后執(zhí)行步驟2中的獲取基礎(chǔ)數(shù)據(jù)及處理和存貯數(shù)據(jù)文件;本步驟執(zhí)行完,最終的結(jié)果是要產(chǎn)生兩組供比較的數(shù)據(jù)文件。所述的步驟4利用步驟3產(chǎn)生的數(shù)據(jù)文件,對(duì)數(shù)據(jù)庫(kù)結(jié)構(gòu)的進(jìn)行比較,需要按順序比較數(shù)據(jù)庫(kù)表、字段、觸發(fā)器、主鍵、索引、外鍵、存貯過(guò)程;對(duì)于增加或減少的表,則不再比較其表的其他結(jié)構(gòu)信息;在比較過(guò)程中,根據(jù)差異形成比較報(bào)告,并產(chǎn)生對(duì)應(yīng)的升級(jí)語(yǔ)法。所述的升級(jí)語(yǔ)法,需先形成增減表的語(yǔ)法,然后形成增減及修改字段的語(yǔ)法,最后形成觸發(fā)器、主鍵、外鍵、索引的變化語(yǔ)法。所述的步驟4包括以下步驟
步驟4-1 :根據(jù)索引文件,讀取雙方所建立的索引主鍵;
步驟4-2 比較主鍵,若主鍵不一致,直接記載主鍵小的一方的數(shù)據(jù)及語(yǔ)法即可,接著繼續(xù)讀取主鍵小的一方的下條記錄重復(fù)本步驟;
步驟4-3 :比較內(nèi)容,若步驟4-2中主鍵一致,則要比較內(nèi)容,若內(nèi)容不一致,則要記載差異并形成差異語(yǔ)法,內(nèi)容比較完后,雙方繼續(xù)讀取下條記錄重復(fù)以上步驟,直到一方索引文件讀取完畢,最后將另一方未比較完的信息及語(yǔ)法作為差異記載即可。有益效果本發(fā)明可隨時(shí)檢查數(shù)據(jù)庫(kù)環(huán)境的變化情況,并可形成相應(yīng)的版本文件。本發(fā)明可實(shí)現(xiàn)自動(dòng)檢查用戶數(shù)據(jù)庫(kù)并快速升級(jí),可用于數(shù)據(jù)庫(kù)系統(tǒng)的軟件的自動(dòng)更新。本發(fā)明提供了一種通用的數(shù)據(jù)庫(kù)檢查維護(hù)的方式,適用性廣,減少了數(shù)據(jù)庫(kù)人工維護(hù)的工作量及降低了出錯(cuò)的可能性,人工操作的出錯(cuò)率。
圖I是本發(fā)明的工作流程示意 圖2是本發(fā)明中用于獲取數(shù)據(jù)庫(kù)信息的流程 圖3是本發(fā)明中用于比較數(shù)據(jù)庫(kù)信息及基礎(chǔ)數(shù)據(jù)的流程圖。
具體實(shí)施例方式本發(fā)明的基本思想是,根據(jù)當(dāng)前使用的數(shù)據(jù)庫(kù),利用數(shù)據(jù)庫(kù)的系統(tǒng)表,解析各數(shù)據(jù)結(jié)構(gòu),利用數(shù)據(jù)庫(kù)語(yǔ)法規(guī)則,形成相關(guān)數(shù)據(jù)庫(kù)腳本語(yǔ)法,獲取基礎(chǔ)數(shù)據(jù),并按一定規(guī)則將數(shù)據(jù)庫(kù)結(jié)構(gòu)信息和基礎(chǔ)數(shù)據(jù)進(jìn)行組織并存貯到相應(yīng)文件,利用同樣方式在另一個(gè)用戶數(shù)據(jù)庫(kù)環(huán)境中采集相關(guān)數(shù)據(jù)或讀取歷史版本的文件,然后根據(jù)不同文件的組成方式進(jìn)行比較。在比較過(guò)程中產(chǎn)生報(bào)告并同時(shí)形成數(shù)據(jù)庫(kù)升級(jí)或更新語(yǔ)法。下面結(jié)合說(shuō)明書附圖與具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。如圖I所示,本發(fā)明的數(shù)據(jù)庫(kù)檢查維護(hù)方法,包括以下幾個(gè)步驟
步驟I:建立數(shù)據(jù)庫(kù)版本,獲取當(dāng)前最新版本數(shù)據(jù)庫(kù)結(jié)構(gòu),形成數(shù)據(jù)庫(kù)結(jié)構(gòu)腳本語(yǔ)法,存貯數(shù)據(jù)庫(kù)結(jié)構(gòu)信息;
根據(jù)具體應(yīng)用,設(shè)定當(dāng)前的版本號(hào),利用數(shù)據(jù)庫(kù)的系統(tǒng)表的結(jié)構(gòu)關(guān)系,獲取數(shù)據(jù)庫(kù)結(jié)構(gòu)的有關(guān)信息,包括庫(kù)中的用戶表,表字段的定義、表上的觸發(fā)器、表的主外鍵、索引、視圖以及相關(guān)存貯過(guò)程,相關(guān)信息的獲取均來(lái)源于數(shù)據(jù)庫(kù)的系統(tǒng)表,需要熟悉系統(tǒng)表間的關(guān)系,了解所要的數(shù)據(jù)的存貯結(jié)構(gòu)。獲取數(shù)據(jù)后,需要對(duì)數(shù)據(jù)進(jìn)行適當(dāng)組織,建立索引文件,即需要定義一組映射關(guān)系,為各類信息建立索引,以便能根據(jù)索引可找到對(duì)應(yīng)文件并可快速獲取 所要的詳細(xì)信息。如對(duì)表字段可用分類標(biāo)識(shí)、表名稱、字段名稱來(lái)建立一個(gè)索引值,并對(duì)數(shù)據(jù)排序,可按字符串升序排列數(shù)據(jù),然后組織具體的內(nèi)容數(shù)據(jù),將內(nèi)容的長(zhǎng)度記載在索引文件里,即在讀取數(shù)據(jù)時(shí)可以根據(jù)索引文件快速獲取內(nèi)容。 步驟I的具體過(guò)程,如圖2所示;
為便于分析處理數(shù)據(jù)及形成數(shù)據(jù)結(jié)構(gòu)語(yǔ)法,步驟1-1:按順序獲取數(shù)據(jù)庫(kù)結(jié)構(gòu)信息,即先獲取系統(tǒng)中的用戶表,然后獲取對(duì)應(yīng)表的字段信息,進(jìn)一步獲取觸發(fā)器、視圖及存貯過(guò)程,最后解析出表的主鍵、外鍵,在獲取數(shù)據(jù)時(shí),需要對(duì)數(shù)據(jù)進(jìn)行排序,即對(duì)照建立索引的要求進(jìn)行排序;
步驟1-2 :利用已獲取的數(shù)據(jù)庫(kù)結(jié)構(gòu)信息,按順序組織數(shù)據(jù)庫(kù)的腳本語(yǔ)法,以便可以直接執(zhí)行數(shù)據(jù)庫(kù)腳本;
步驟1-3已獲取的數(shù)據(jù),根據(jù)排序,建立索引,并根據(jù)索引中的順序來(lái)組織語(yǔ)法并存貯文件。步驟2 :定義基礎(chǔ)表,獲取最新版本基礎(chǔ)數(shù)據(jù),形成基礎(chǔ)數(shù)據(jù)語(yǔ)法,存貯基礎(chǔ)數(shù)據(jù); 據(jù)步驟1-1獲取到的用戶表,設(shè)置相關(guān)表為基礎(chǔ)數(shù)據(jù)表,即需要采集其數(shù)據(jù)作為系統(tǒng)
的基礎(chǔ)數(shù)據(jù),采集數(shù)據(jù)時(shí),需先根據(jù)步驟1-1獲取的表的字段信息,來(lái)組織對(duì)應(yīng)表的數(shù)據(jù)讀取的腳本語(yǔ)法,腳本語(yǔ)法中按步驟1-1中獲取的主鍵增加排序字段,這樣,獲取的基礎(chǔ)數(shù)據(jù)是按主鍵排序的,然后利用步驟1-3中構(gòu)建索引的原則組織索引文件及數(shù)據(jù)文件。要求索引文件中記載對(duì)應(yīng)數(shù)據(jù)的文件的大小,便于在步驟4中能快速讀取到所需內(nèi)容。索引文件主要記載表名,記錄主鍵,數(shù)據(jù)的大小,數(shù)據(jù)文件的存貯名稱信息。步驟3 :獲取待比較的數(shù)據(jù)庫(kù)或歷史版本的數(shù)據(jù)庫(kù)結(jié)構(gòu)及基礎(chǔ)數(shù)據(jù)。分兩種情況,一種是直接同歷史版本進(jìn)行比較,只需讀取歷史版本所保存的版本文件即可,另一種是比較某個(gè)具體的用戶庫(kù),此時(shí),對(duì)待比較的庫(kù)執(zhí)行的操作為先執(zhí)行步驟1-1中的獲取數(shù)據(jù)結(jié)構(gòu)信息及存貯文件,然后執(zhí)行步驟2中的獲取基礎(chǔ)數(shù)據(jù)及處理和存貯數(shù)據(jù)文件;本步驟執(zhí)行完,最終的結(jié)果是要產(chǎn)生兩組供比較的數(shù)據(jù)文件。步驟4 :比較數(shù)據(jù)庫(kù)結(jié)構(gòu)及基礎(chǔ)數(shù)據(jù),形成差異報(bào)告,產(chǎn)生升級(jí)語(yǔ)法。利用步驟3產(chǎn)生的數(shù)據(jù)文件,對(duì)數(shù)據(jù)庫(kù)結(jié)構(gòu)的進(jìn)行比較,需要按順序比較數(shù)據(jù)庫(kù)表、字段、觸發(fā)器、主鍵、索引、外鍵、存貯過(guò)程。對(duì)于增加或減少的表,則不再比較其表的其他結(jié)構(gòu)信息。在比較過(guò)程中,根據(jù)差異形成比較報(bào)告,并產(chǎn)生對(duì)應(yīng)的升級(jí)語(yǔ)法。所述的升級(jí)語(yǔ)法,需先形成增減表的語(yǔ)法,然后形成增減及修改字段的語(yǔ)法,最后形成觸發(fā)器、主鍵、外鍵、索引的變化語(yǔ)法。在步驟4中,還包括數(shù)據(jù)文件的比較,具體為利用同一張數(shù)據(jù)表的兩個(gè)不同版本的基礎(chǔ)數(shù)據(jù)文件,根據(jù)采集后基礎(chǔ)數(shù)據(jù)按主鍵順序存貯的原則,可按順序掃描文件,獲取同一主鍵下的基礎(chǔ)數(shù)據(jù)進(jìn)行比較,并報(bào)告結(jié)果,其中還包括增加或減少的基礎(chǔ)數(shù)據(jù)。具體執(zhí)行過(guò)程見(jiàn)圖3描述。步驟4包括以下步驟
步驟4-1 :根據(jù)索引文件,讀取雙方所建立的索引主鍵;
步驟4-2 比較主鍵,若主鍵不一致,直接記載主鍵小的一方的數(shù)據(jù)及語(yǔ)法即可,接著繼續(xù)讀取主鍵小的一方的下條記錄重復(fù)本步驟;
步驟4-3 :比較內(nèi)容,若步驟4-2中主鍵一致,則要比較內(nèi)容,若內(nèi)容不一致,則要記載差異并形成差異語(yǔ)法,內(nèi)容比較完后,雙方繼續(xù)讀取下條記錄重復(fù)以上步驟,直到一方索引文件讀取完畢,最后將另一方未比較完的信息及語(yǔ)法作為差異記載即可。數(shù)據(jù)庫(kù)基礎(chǔ)數(shù)據(jù)及結(jié)構(gòu)信息的比較算法是一致的。主要是利用索引文件,順序掃描數(shù)據(jù)文件,在掃描過(guò)程中進(jìn)行循環(huán)比較,這樣所有數(shù)據(jù)只需掃描一遍即可完成各項(xiàng)比較工作,處理效率高,而且方法比較通用。在形成數(shù)據(jù)庫(kù)腳本時(shí)需要注意,因數(shù)據(jù)庫(kù)的表、字段、視圖、主外鍵等有建立的先后關(guān)系,一定要處理好先后關(guān)系,即先建立表及表字段,然后才形成其他語(yǔ)法,具體實(shí)施時(shí),可以先將不同類信息存于不同的文件,最后將文件再按正確的順序重新組織即可形成正確的升級(jí)語(yǔ)法。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不限制于本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的權(quán)利要求范圍之內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)庫(kù)檢查維護(hù)方法,其特征在于包括以下幾個(gè)步驟 步驟I:建立數(shù)據(jù)庫(kù)版本,獲取當(dāng)前最新版本數(shù)據(jù)庫(kù)結(jié)構(gòu),形成數(shù)據(jù)庫(kù)結(jié)構(gòu)腳本語(yǔ)法,存貯數(shù)據(jù)庫(kù)結(jié)構(gòu)信息; 步驟2 :定義基礎(chǔ)表,獲取最新版本基礎(chǔ)數(shù)據(jù),形成基礎(chǔ)數(shù)據(jù)語(yǔ)法,存貯基礎(chǔ)數(shù)據(jù); 步驟3 :獲取待比較的數(shù)據(jù)庫(kù)或歷史版本的數(shù)據(jù)庫(kù)結(jié)構(gòu)及基礎(chǔ)數(shù)據(jù); 步驟4 比較數(shù)據(jù)庫(kù)結(jié)構(gòu)及基礎(chǔ)數(shù)據(jù),形成差異報(bào)告,產(chǎn)生升級(jí)語(yǔ)法。
2.根據(jù)權(quán)利要求I所示的數(shù)據(jù)庫(kù)檢查維護(hù)方法,其特征在于所述的步驟I包括以下步驟 步驟1-1 :按順序獲取數(shù)據(jù)庫(kù)結(jié)構(gòu)信息,即先獲取系統(tǒng)中的用戶表,然后獲取對(duì)應(yīng)表的 字段信息,進(jìn)一步獲取觸發(fā)器、視圖及存貯過(guò)程,最后解析出表的主鍵、外鍵,在獲取數(shù)據(jù)時(shí),需要對(duì)數(shù)據(jù)進(jìn)行排序,即對(duì)照建立索引的要求進(jìn)行排序; 步驟1-2 :利用已獲取的數(shù)據(jù)庫(kù)結(jié)構(gòu)信息,按順序組織數(shù)據(jù)庫(kù)的腳本語(yǔ)法,以便可以直 接執(zhí)行數(shù)據(jù)庫(kù)腳本; 步驟1-3已獲取的數(shù)據(jù),根據(jù)排序,建立索引,并根據(jù)索引中的順序組織語(yǔ)法并存貯文件。
3.根據(jù)權(quán)利要求I所示的數(shù)據(jù)庫(kù)檢查維護(hù)方法,其特征在于所述的步驟2是根據(jù)步驟1-1獲取到的用戶表,設(shè)置相關(guān)表為基礎(chǔ)數(shù)據(jù)表,即需要采集其數(shù)據(jù)作為系統(tǒng)的基礎(chǔ)數(shù)據(jù),采集數(shù)據(jù)時(shí),需先根據(jù)步驟1-1獲取的表的字段信息,來(lái)組織對(duì)應(yīng)表的數(shù)據(jù)讀取的腳本語(yǔ)法,腳本語(yǔ)法中按步驟1-1中獲取的主鍵增加排序字段,這樣,獲取的基礎(chǔ)數(shù)據(jù)是按主鍵排序的,然后利用步驟1-3中構(gòu)建索引的原則組織索引文件及數(shù)據(jù)文件。
4.根據(jù)權(quán)利要求3所示的數(shù)據(jù)庫(kù)檢查維護(hù)方法,其特征在于所述的索引文件主要記載表名,記錄主鍵,數(shù)據(jù)的大小,數(shù)據(jù)文件的存貯名稱信息。
5.根據(jù)權(quán)利要求I所示的數(shù)據(jù)庫(kù)檢查維護(hù)方法,其特征在于所述的步驟3分兩種情況,一種是直接同歷史版本進(jìn)行比較,只需讀取歷史版本所保存的版本文件即可,另一種是比較某個(gè)具體的用戶庫(kù),此時(shí),對(duì)待比較的庫(kù)執(zhí)行的操作為先執(zhí)行步驟1-1中的獲取數(shù)據(jù)結(jié)構(gòu)信息及存貯文件,然后執(zhí)行步驟2中的獲取基礎(chǔ)數(shù)據(jù)及處理和存貯數(shù)據(jù)文件;本步驟執(zhí)行完,最終的結(jié)果是要產(chǎn)生兩組供比較的數(shù)據(jù)文件。
6.根據(jù)權(quán)利要求I所示的數(shù)據(jù)庫(kù)檢查維護(hù)方法,其特征在于所述的步驟4利用步驟3產(chǎn)生的數(shù)據(jù)文件,對(duì)數(shù)據(jù)庫(kù)結(jié)構(gòu)的進(jìn)行比較,需要按順序比較數(shù)據(jù)庫(kù)表、字段、觸發(fā)器、主鍵、索引、外鍵、存貯過(guò)程;對(duì)于增加或減少的表,則不再比較其表的其他結(jié)構(gòu)信息;在比較過(guò)程中,根據(jù)差異形成比較報(bào)告,并產(chǎn)生對(duì)應(yīng)的升級(jí)語(yǔ)法。
7.根據(jù)權(quán)利要求6所示的數(shù)據(jù)庫(kù)檢查維護(hù)方法,其特征在于所述的升級(jí)語(yǔ)法,需先形成增減表的語(yǔ)法,然后形成增減及修改字段的語(yǔ)法,最后形成觸發(fā)器、主鍵、外鍵、索引的變化語(yǔ)法。
8.根據(jù)權(quán)利要求I或6所示的數(shù)據(jù)庫(kù)檢查維護(hù)方法,其特征在于所述的步驟4包括以下步驟 步驟4-1 :根據(jù)索引文件,讀取雙方所建立的索引主鍵; 步驟4-2 比較主鍵,若主鍵不一致,直接記載主鍵小的一方的數(shù)據(jù)及語(yǔ)法即可,接著繼續(xù)讀取主鍵小的一方的下條記錄重復(fù)本步驟;步驟4-3 :比較內(nèi)容,若步驟4-2中主鍵一致,則要比較內(nèi)容,若內(nèi)容不一致,則要記載差異并形成差異語(yǔ)法,內(nèi)容比較完后,雙方繼續(xù)讀取下條記錄重復(fù)以上步驟,直到一方索引文件讀取完畢,最后將另一方未比較完的信息及語(yǔ)法作為差異記載即可。·
全文摘要
本發(fā)明涉及一種數(shù)據(jù)庫(kù)檢查維護(hù)方法包括以下步驟步驟1建立數(shù)據(jù)庫(kù)版本,獲取當(dāng)前最新版本數(shù)據(jù)庫(kù)結(jié)構(gòu),形成數(shù)據(jù)庫(kù)結(jié)構(gòu)腳本語(yǔ)法,存貯數(shù)據(jù)庫(kù)結(jié)構(gòu)信息;步驟2定義基礎(chǔ)表,獲取最新版本基礎(chǔ)數(shù)據(jù),形成基礎(chǔ)數(shù)據(jù)語(yǔ)法,存貯基礎(chǔ)數(shù)據(jù);步驟3獲取待比較的數(shù)據(jù)庫(kù)或歷史版本的數(shù)據(jù)庫(kù)結(jié)構(gòu)及基礎(chǔ)數(shù)據(jù);步驟4比較數(shù)據(jù)庫(kù)結(jié)構(gòu)及基礎(chǔ)數(shù)據(jù),形成差異報(bào)告,產(chǎn)生升級(jí)語(yǔ)法。本發(fā)明可隨時(shí)檢查數(shù)據(jù)庫(kù)環(huán)境的變化情況,并可形成相應(yīng)的版本文件。本發(fā)明可實(shí)現(xiàn)自動(dòng)檢查用戶數(shù)據(jù)庫(kù)并快速升級(jí),可用于數(shù)據(jù)庫(kù)系統(tǒng)的軟件的自動(dòng)更新。本發(fā)明提供了一種通用的數(shù)據(jù)庫(kù)檢查維護(hù)的方式,適用性廣,減少了數(shù)據(jù)庫(kù)人工維護(hù)的工作量及降低了出錯(cuò)的可能性,人工操作的出錯(cuò)率。
文檔編號(hào)G06F17/30GK102890720SQ201210391160
公開日2013年1月23日 申請(qǐng)日期2012年10月16日 優(yōu)先權(quán)日2012年10月16日
發(fā)明者潘付軍 申請(qǐng)人:南京通達(dá)海信息技術(shù)有限公司