亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

數(shù)據(jù)庫的數(shù)據(jù)表生成方法

文檔序號:6613040閱讀:156來源:國知局

專利名稱::數(shù)據(jù)庫的數(shù)據(jù)表生成方法
技術(shù)領(lǐng)域
:本發(fā)明為一種數(shù)據(jù)表生成方法,且特別是一種在不影響數(shù)據(jù)庫數(shù)據(jù)表結(jié)構(gòu)前提下新增一數(shù)據(jù)表,并自動適應數(shù)據(jù)庫的變化而產(chǎn)生數(shù)據(jù)總表的方法。
背景技術(shù)
:數(shù)據(jù)庫可儲存多筆數(shù)據(jù)并對這些數(shù)據(jù)進行管理,目前已普遍運用在例如電子商務或人事管理等系統(tǒng)中。當建置數(shù)據(jù)庫時,首先需確定數(shù)據(jù)庫的結(jié)構(gòu),包括數(shù)據(jù)庫中數(shù)據(jù)表的數(shù)量、各個數(shù)據(jù)表的字段,以及數(shù)據(jù)表中各個字段之間的關(guān)聯(lián)等。數(shù)據(jù)庫數(shù)據(jù)表之間字段的關(guān)聯(lián)性直接影響到后續(xù)數(shù)據(jù)庫開發(fā)或使用的穩(wěn)定性。舉例來說,當開發(fā)數(shù)據(jù)庫應用系統(tǒng)時,如人事管理系統(tǒng),需先建置數(shù)據(jù)庫,當數(shù)據(jù)庫建置完成后,數(shù)據(jù)庫內(nèi)的數(shù)據(jù)表字段即不再更動。開發(fā)過程中,常會發(fā)現(xiàn)數(shù)據(jù)庫中數(shù)據(jù)表的字段設(shè)計不合理、或字段之間的關(guān)聯(lián)性存在邏輯性的錯誤,致使數(shù)據(jù)庫應用系統(tǒng)發(fā)生預期外的錯誤。此時可直接修改數(shù)據(jù)庫的數(shù)據(jù)表中發(fā)生錯誤的字段,以其修正開發(fā)過程的錯誤。然而,在數(shù)據(jù)庫應用系統(tǒng)開發(fā)完成并交付客戶端后,可能因為客戶端不定期的新增數(shù)據(jù)庫數(shù)據(jù)表,且這些新增的數(shù)據(jù)表存在字段關(guān)聯(lián)性問題,而造成數(shù)據(jù)庫應用系統(tǒng)存取數(shù)據(jù)錯誤或影響系統(tǒng)運作的穩(wěn)定性,甚至導致數(shù)據(jù)庫應用系統(tǒng)的崩潰。目前用以解決此類問題的方式,不外乎重新設(shè)計字段的關(guān)聯(lián)性,并改寫數(shù)據(jù)庫應用系統(tǒng)中的SQL語句,使數(shù)據(jù)庫應用系統(tǒng)得以適應數(shù)據(jù)庫結(jié)構(gòu)的變化。不過,這類的解決方式相當倚賴定期的人工修改,相當耗費系統(tǒng)維護的時間與金錢成本。
發(fā)明內(nèi)容鑒于上述新增數(shù)據(jù)表造成數(shù)據(jù)庫存取錯誤或應用程序/系統(tǒng)效能低下等問題,本發(fā)明的目的在于提出一種數(shù)據(jù)庫的數(shù)據(jù)表生成方法,用以在不影響數(shù)據(jù)庫中的數(shù)據(jù)表結(jié)構(gòu)前提下新增一數(shù)據(jù)表,并產(chǎn)生數(shù)據(jù)總表供客戶端存取運用,以收自動適應數(shù)據(jù)庫變化的功效。為達上述的目的,數(shù)據(jù)庫的數(shù)據(jù)表生成方法包括下列步驟首先,建立與數(shù)據(jù)庫的連接;接著,依據(jù)建表訊息新增數(shù)據(jù)表;然后,聯(lián)集新增的數(shù)據(jù)表及數(shù)據(jù)庫暨有的數(shù)據(jù)表,并記錄新增的數(shù)據(jù)表與暨有的數(shù)據(jù)表的關(guān)聯(lián),以產(chǎn)生數(shù)據(jù)總表;最后,將固定接口套用至數(shù)據(jù)總表,并輸出數(shù)據(jù)總表供客戶端使用。其中,所述的新增的數(shù)據(jù)表是依據(jù)數(shù)據(jù)表結(jié)構(gòu)套用建表訊息,而產(chǎn)生的數(shù)據(jù)表。另外,所述的固定接口包含多個固定名稱的參數(shù)。實作數(shù)據(jù)庫的數(shù)據(jù)表生成方法的數(shù)據(jù)庫應用系統(tǒng),會自動產(chǎn)生相應數(shù)據(jù)總表與固定接口的綁定關(guān)系的SQL語句,例如透過別名SQL函數(shù)(alias)套用此固定接口(以綁定數(shù)據(jù)總表與固定接口的關(guān)系)。依照本發(fā)明的較佳實施例所述的數(shù)據(jù)庫的數(shù)據(jù)表生成方法,新增該數(shù)據(jù)表包括以下步驟綁定數(shù)據(jù)表結(jié)構(gòu)與建表信息的字段內(nèi)容,并產(chǎn)生相應的數(shù)個SQL語句;以及執(zhí)行這些SQL語句以新增數(shù)據(jù)表于數(shù)據(jù)庫。依照本發(fā)明的較佳實施例所述的數(shù)據(jù)庫的數(shù)據(jù)表生成方法,聯(lián)集新增的數(shù)據(jù)表包括以下步驟讀取數(shù)據(jù)庫中與新增數(shù)據(jù)表關(guān)聯(lián)的數(shù)據(jù)表;以及依序聯(lián)集(imion)讀取出的數(shù)個數(shù)據(jù)表及新增的數(shù)據(jù)表為一張數(shù)據(jù)總表。由上所述,本發(fā)明藉由聯(lián)集數(shù)據(jù)庫內(nèi)的數(shù)據(jù)表,并記錄新增的數(shù)據(jù)表與暨有數(shù)據(jù)表的關(guān)聯(lián),以產(chǎn)生一張數(shù)據(jù)總表,之后再透過固定接口存取此數(shù)據(jù)總表。因此本發(fā)明可在不影響數(shù)據(jù)庫中數(shù)據(jù)表的結(jié)構(gòu)前提下新增一數(shù)據(jù)表,并產(chǎn)生數(shù)據(jù)總表供客戶端使用,以收到自動適應數(shù)據(jù)庫變化的功效。有關(guān)本發(fā)明的詳細特征與實作,茲配合圖示在實施方式中詳細說明如下,其內(nèi)容足以使任何熟悉相關(guān)技藝者了解本發(fā)明的技術(shù)內(nèi)容并據(jù)以實施,且根據(jù)本說明書所揭露的內(nèi)容及圖式,任何熟悉相關(guān)技藝者可輕易地理解本發(fā)明相關(guān)的目的及優(yōu)點。以下結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述,但不作為對本發(fā)明的限定。圖1為數(shù)據(jù)庫的數(shù)據(jù)表生成方法流程圖2為實作數(shù)據(jù)庫的數(shù)據(jù)表生成方法的系統(tǒng)架構(gòu)5圖3A為數(shù)據(jù)庫中的客戶表的示意圖;圖3B、圖3D為客戶的數(shù)據(jù)表的示意圖;圖3C為新增的數(shù)據(jù)表的示意圖;圖3E為數(shù)據(jù)總表示意圖4A、圖4B為以固定接口査詢數(shù)據(jù)庫的示意圖。主要組件符號說明210計算機220數(shù)據(jù)庫222、224數(shù)據(jù)表230屏幕240鍵盤232、310、410人機界面312數(shù)據(jù)表結(jié)構(gòu)314儲存鍵320數(shù)據(jù)總表322數(shù)據(jù)表關(guān)聯(lián)字段420査詢結(jié)果具體實施例方式本發(fā)明的目的及提出將在下列較佳實施例中詳細說明。然而本發(fā)明的概念亦可用于其它范圍。以下列舉的實施例僅用于說明本發(fā)明的目的與執(zhí)行方法,并非用以限制其范圍。"圖1"為數(shù)據(jù)庫的數(shù)據(jù)表生成方法流程圖。請參照"圖1",數(shù)據(jù)庫的數(shù)據(jù)表生成方法包括下列歩驟首先,建立與數(shù)據(jù)庫的連接(步驟SllO)。接著,接收客戶端輸入的建表訊息,以新增數(shù)據(jù)表(步驟S120)。此建表訊息例如包括數(shù)據(jù)表的名稱、字段、及字段內(nèi)容,依據(jù)此建表信息內(nèi)容套用到一張數(shù)據(jù)表結(jié)構(gòu),即可于數(shù)據(jù)庫新增一張數(shù)據(jù)表。然后,聯(lián)集新增的數(shù)據(jù)表及數(shù)據(jù)庫暨有的數(shù)據(jù)表,并記錄新增的數(shù)據(jù)表與暨有的數(shù)據(jù)表的關(guān)聯(lián),以產(chǎn)生數(shù)據(jù)總表(步驟S130);最后,將固定接口套用至數(shù)據(jù)總表,并輸出數(shù)據(jù)總表供客戶端使用(步驟S140)。當客戶端結(jié)束對數(shù)據(jù)庫存取后,前端系統(tǒng)隨即斷開并釋放與后端數(shù)據(jù)庫的連接。實作數(shù)據(jù)庫的數(shù)據(jù)表生成方法的架構(gòu)包括前端的數(shù)據(jù)庫應用系統(tǒng)(以下稱為前端系統(tǒng))以及后端數(shù)據(jù)庫。前端系統(tǒng)利用一個人機接口接收客戶端的操作,獲取用戶建表訊息,并以數(shù)據(jù)庫聯(lián)結(jié)函式建立聯(lián)機(例如0DBC、JDBC)。本實施例例如執(zhí)行下列的JDBC數(shù)據(jù)庫聯(lián)結(jié)函式來建立連接Connectioncon二DriverManager.getConnection(〃jdbc:odbc:wombat〃,〃1ogin〃,〃password〃);Statementstmt=con.createStatement();ResultSetrs二stmt.executeQuery(〃SELECTa,b,cFROMTablel〃),當建立聯(lián)機后,前端系統(tǒng)即根據(jù)建表訊息中的數(shù)據(jù)表名稱及字段訊息,自數(shù)據(jù)庫中尋找相映的數(shù)據(jù)表結(jié)構(gòu),并將建表訊息中的數(shù)筆字段內(nèi)容填入數(shù)據(jù)表結(jié)構(gòu)中,而成為一張數(shù)據(jù)表,并新增此數(shù)據(jù)表于數(shù)據(jù)庫。在本實施例中,新增數(shù)據(jù)表的步驟例如為先綁定數(shù)據(jù)表結(jié)構(gòu)與建表信息的字段內(nèi)容,并產(chǎn)生相應的數(shù)個SQL語句。之后,再由前端系統(tǒng)去執(zhí)行前述的SQL語句以新增數(shù)據(jù)表于數(shù)據(jù)庫??蛻舳诵略鲆粡垟?shù)據(jù)表后,此時后端數(shù)據(jù)庫內(nèi)容已發(fā)生改變,前端系統(tǒng)旋即取出數(shù)據(jù)庫中與新增的數(shù)據(jù)表關(guān)聯(lián)的數(shù)據(jù)表,并對這些數(shù)據(jù)表進行聯(lián)集動作,以產(chǎn)生一張關(guān)聯(lián)性最大的數(shù)據(jù)總表。在本實施例中,前端系統(tǒng)會讀取數(shù)據(jù)庫中包含新增數(shù)據(jù)表的任意字段的數(shù)據(jù)表,之后再以SQL的聯(lián)集(imicm)語句,將新增的數(shù)據(jù)表及與其相關(guān)聯(lián)的數(shù)張數(shù)據(jù)表,合而為一張數(shù)據(jù)總表,所述的SQL語句例如為Selectallfromtablel■ONallSelectallfromtable2值得一提的是,所述數(shù)據(jù)總表雖然是以表的型態(tài)顯示予客戶端,然而此數(shù)據(jù)總表并不會回存到數(shù)據(jù)庫中,也就是說后端數(shù)據(jù)庫并不存在數(shù)據(jù)總表。換言之,數(shù)據(jù)總表為臨時產(chǎn)生的一張數(shù)據(jù)表,客戶端可藉由人機操作接口看到數(shù)據(jù)總表,并可存取數(shù)據(jù)總表。但是當斷開與數(shù)據(jù)庫連接后,數(shù)據(jù)總表則隨的消失。在這張數(shù)據(jù)總表上包括所有數(shù)據(jù)表的信息,以及所有數(shù)據(jù)表間的關(guān)聯(lián)字段,藉由此數(shù)據(jù)總表,得以在不影響數(shù)據(jù)庫數(shù)據(jù)表結(jié)構(gòu)的前提下,存取數(shù)據(jù)庫,并自動適應數(shù)據(jù)庫變化。另外,前端系統(tǒng)更套用固定接口于數(shù)據(jù)總表。所謂的固定接口,所指就是多個參數(shù),這些參數(shù)的名稱是固定不改變的,藉由執(zhí)行別名函數(shù)(SQL語法中的alias函式)將固定接口套用到數(shù)據(jù)總表,藉以讓前端系統(tǒng)不需隨著數(shù)據(jù)庫數(shù)據(jù)表的異動,更改存取數(shù)據(jù)庫的接口(參數(shù))名稱。前端系統(tǒng)綁定固定接口及數(shù)據(jù)總表的字段名稱,并自動產(chǎn)生對應綁定關(guān)系的SQL語句。舉例而言,數(shù)據(jù)總表存在一個名為"sum(sales)"字段,固定接口對應此字段的參數(shù)名稱為"totalsales",則前端系統(tǒng)產(chǎn)生如下列的SQL語句,以"totalsales"取代sum(sales)如下SELECTAl.store—nameStore,SUM(Al.Sales)"TotalSales〃FROMStore—InformationAlGROUPBYAl.store—name接著,列舉實例說明前述的數(shù)據(jù)庫的數(shù)據(jù)表生成方法。"圖2"為實作數(shù)據(jù)庫的數(shù)據(jù)表生成方法的系統(tǒng)架構(gòu)圖。請參照"圖2",本實施例的數(shù)據(jù)庫的數(shù)據(jù)表生成方法是透過計算機210執(zhí)行,在計算機210內(nèi)具有一個數(shù)據(jù)庫220,此數(shù)據(jù)庫220建有數(shù)個數(shù)據(jù)表(222、224)。屏幕230顯示一個新增數(shù)據(jù)表的人機接口232,客戶端透過鍵盤240輸入建表訊息,以新增數(shù)據(jù)表于數(shù)據(jù)庫220。例如,欲在客戶名稱字段新增一個名為test3的一筆數(shù)據(jù),則用戶僅需在此人機接口232輸入客戶的識別名稱,如test3,并按下人機接口232上的儲存鍵后,即開始進行于數(shù)據(jù)庫220新增數(shù)據(jù)表的程序。"圖3A"為客戶表的示意圖。請參照"圖3A",當使用者按下儲存鍵后,即依據(jù)當下計算機的時間,于數(shù)據(jù)庫中的客戶表末端加入一筆客戶數(shù)據(jù),其包括客戶的ID、流水編號(sortNum)、客戶名稱、新增客戶名稱的時間、以及更新客戶數(shù)據(jù)的時間等字段。由此表可發(fā)現(xiàn),新增的客戶test3以新增于客戶表的第3號,其Id名為customer003。當新增客戶test3于客戶表后,此時創(chuàng)建該客戶test3的數(shù)據(jù)表,后端系統(tǒng)至數(shù)據(jù)庫抓取客戶的數(shù)據(jù)表如"圖3B"所示,此數(shù)據(jù)表為所有客戶的所有產(chǎn)品的信息,其包括例如產(chǎn)品流水編號Pno、該筆產(chǎn)品信息建立日期(Cdt)、該筆產(chǎn)品信息更新日期(Udt)等字段信息。在數(shù)據(jù)庫中可能建置有許多這類的數(shù)據(jù)表,亦可能以單一個客戶的數(shù)據(jù)表記錄所有客戶的所有產(chǎn)品信息。在本實施例中,例如以單一個客戶的數(shù)據(jù)表記錄所有客戶的所有產(chǎn)品信息。承上,"圖3C"為新增數(shù)據(jù)表的示意圖。請參照"圖3C",當客戶端欲新增客戶數(shù)據(jù)時,屏幕上會顯示新增數(shù)據(jù)表的人機接口310,客戶端可直接于數(shù)據(jù)表結(jié)構(gòu)312點選字段輸入數(shù)據(jù),并按下儲存鍵314后,即生成如"圖3B"的數(shù)據(jù)表。之后,再透過聯(lián)集數(shù)據(jù)庫中客戶的數(shù)據(jù)表(如"圖3D"所示)及其它相關(guān)的數(shù)據(jù)表(例如"圖3A"所示的客戶表),而產(chǎn)生如"圖3E"的數(shù)據(jù)總表示意圖。請繼續(xù)參照"圖3E",在一些實施例中,數(shù)據(jù)總表320除了包括數(shù)據(jù)表關(guān)聯(lián)字段322紀錄與數(shù)據(jù)庫中多張數(shù)據(jù)表的關(guān)聯(lián)性(在本實施例中,例如紀錄數(shù)據(jù)表名稱)外,更包括自動產(chǎn)生主鍵字段(未顯示),藉以對數(shù)據(jù)總表的數(shù)據(jù)作循序排序,以供前端系統(tǒng)存取。"圖4A"為以固定接口查詢數(shù)據(jù)庫的示意圖。請參照"圖4A",前端系統(tǒng)產(chǎn)生一個供客戶端查詢/使用的人機接口410。當用戶輸入查詢條件后,前端系統(tǒng)即使用固定接口存取數(shù)據(jù)總表,并依據(jù)輸入的査詢條件擷取信息而產(chǎn)生如"圖4A"的查詢結(jié)果420。另夕卜,使用者亦可透過按下重新查詢鍵,進行其它査詢。例如,顯示所有客戶名稱及對應的數(shù)據(jù)庫表名稱,如"圖4B"所示。由此圖可知,后端系統(tǒng)藉由此接口返回客戶名稱test3所對應的數(shù)據(jù)庫表名稱(T—B0MPARTS一3)。當按下人機界面410中的結(jié)束査詢鍵時,即結(jié)束查詢,并斷開與數(shù)據(jù)庫的聯(lián)機。當然,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當可根據(jù)本發(fā)明作出各種相應的改變和變形,但這些相應的改變和變形都應屬于本發(fā)明所附的權(quán)利要求的保護范圍。9權(quán)利要求1.一種數(shù)據(jù)庫的數(shù)據(jù)表生成方法,用以在計算機數(shù)據(jù)庫新增數(shù)據(jù)表,其特征在于,該數(shù)據(jù)庫的數(shù)據(jù)表生成方法包括以下步驟建立與數(shù)據(jù)庫的連接;依據(jù)接收自客戶端的一建表訊息新增一數(shù)據(jù)表;聯(lián)集新增的該數(shù)據(jù)表及該數(shù)據(jù)庫暨有的數(shù)據(jù)表,并記錄新增的該數(shù)據(jù)表與暨有的該些數(shù)據(jù)表的關(guān)聯(lián),以產(chǎn)生一數(shù)據(jù)總表;將一固定接口套用至該數(shù)據(jù)總表,并輸出該數(shù)據(jù)總表供客戶端使用。2.如權(quán)利要求1所述的數(shù)據(jù)庫的數(shù)據(jù)表生成方法,其特征在于,其中每一該些建表訊息包括數(shù)據(jù)表的名稱、字段、及字段的內(nèi)容。3.如權(quán)利要求1所述的數(shù)據(jù)庫的數(shù)據(jù)表生成方法,其特征在于,其中新增的該數(shù)據(jù)表是依據(jù)該數(shù)據(jù)庫中已存在的一數(shù)據(jù)表結(jié)構(gòu)套用該建表訊息所產(chǎn)生的數(shù)據(jù)表。4.如權(quán)利要求2所述的數(shù)據(jù)庫的數(shù)據(jù)表生成方法,其特征在于,其中新增該數(shù)據(jù)表包括以下步驟綁定該數(shù)據(jù)表結(jié)構(gòu)與該建表信息的字段內(nèi)容,并產(chǎn)生相應的數(shù)個SQL語句;執(zhí)行該些SQL語句以新增該數(shù)據(jù)表于數(shù)據(jù)庫。5.如權(quán)利要求1所述的數(shù)據(jù)庫的數(shù)據(jù)表生成方法,其特征在于,其中與數(shù)據(jù)庫的連接是透過數(shù)據(jù)庫聯(lián)結(jié)函式建立。6.如權(quán)利要求5所述的數(shù)據(jù)庫的數(shù)據(jù)表生成方法,其特征在于,其中該數(shù)據(jù)庫聯(lián)結(jié)函式是選自于由開放式數(shù)據(jù)庫連接函式(ODBC)及Java數(shù)據(jù)庫連接函式(JDBC)所組成集合的任一。7.如權(quán)利要求1所述的數(shù)據(jù)庫的數(shù)據(jù)表生成方法,其特征在于,其中聯(lián)集新增的該數(shù)據(jù)表的步驟包括讀取該數(shù)據(jù)庫中,與新增的該數(shù)據(jù)表關(guān)聯(lián)的該些數(shù)據(jù)表;依序聯(lián)集(imion)讀取的該些數(shù)據(jù)表及新增的該數(shù)據(jù)表為該數(shù)據(jù)總表。8.如權(quán)利要求1所述的數(shù)據(jù)庫的數(shù)據(jù)表生成方法,其特征在于,其中該數(shù)據(jù)總表是以別名SQL函數(shù)(alias)套用該固定接口。9.如權(quán)利要求1所述的數(shù)據(jù)庫的數(shù)據(jù)表生成方法,其特征在于,其中該數(shù)據(jù)表生成方法更包括綁定該固定接口及該數(shù)據(jù)總表的數(shù)個字段,并自動產(chǎn)生相應該些綁定關(guān)系的數(shù)個SQL語句。全文摘要一種數(shù)據(jù)庫的數(shù)據(jù)表生成方法。本方法包括以下步驟首先,建立與數(shù)據(jù)庫的連接;之后,依據(jù)建表訊息新增數(shù)據(jù)表;然后,聯(lián)集新增的數(shù)據(jù)表及數(shù)據(jù)庫暨有的數(shù)據(jù)表,并記錄新增的數(shù)據(jù)表與暨有的數(shù)據(jù)表的關(guān)聯(lián),以產(chǎn)生一數(shù)據(jù)總表;接著,將固定接口套用至數(shù)據(jù)總表(即以固定接口的字段名稱套用數(shù)據(jù)總表的字段名稱),并輸出數(shù)據(jù)總表。所產(chǎn)生的數(shù)據(jù)總表為數(shù)據(jù)庫內(nèi)數(shù)據(jù)表的聯(lián)集,且紀錄與數(shù)據(jù)表的關(guān)聯(lián)。因此可在不影響數(shù)據(jù)庫數(shù)據(jù)表結(jié)構(gòu)的前提下,新增一數(shù)據(jù)表,并產(chǎn)生數(shù)據(jù)總表供客戶端使用,以達自動適應數(shù)據(jù)庫變化的功效。文檔編號G06F17/30GK101425060SQ200710165929公開日2009年5月6日申請日期2007年11月2日優(yōu)先權(quán)日2007年11月2日發(fā)明者劉文涵,闞道明,陳玄同申請人:英業(yè)達股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1