楊 超
(煙臺職業(yè)學院,山東 煙臺 264670)
計算機數(shù)據(jù)庫信息查詢方法及實現(xiàn)分析
楊 超
(煙臺職業(yè)學院,山東 煙臺 264670)
數(shù)據(jù)庫的應(yīng)用范圍越來越廣,查詢功能數(shù)據(jù)庫應(yīng)用系統(tǒng)最常用的功能,查詢技術(shù)非常重要.動態(tài)多條件查詢是信息的重要方法,能有效幫助客戶解決數(shù)據(jù)庫應(yīng)用系統(tǒng)中數(shù)據(jù)的復雜查詢問題.這種查詢方式的實現(xiàn)關(guān)鍵在于利用SQL語句動態(tài)生成數(shù)據(jù)窗口而簡化了信息查詢流程.動態(tài)查詢大大縮短了應(yīng)用系統(tǒng)開發(fā)周期,節(jié)約了維護成本,給產(chǎn)品維護工作帶來極大便利.
數(shù)據(jù)庫;信息查詢;方法
隨著計算機網(wǎng)絡(luò)的飛速發(fā)展,數(shù)據(jù)庫技術(shù)的應(yīng)用范圍越來越廣,它已成為計算機應(yīng)用系統(tǒng)和信息系統(tǒng)的基礎(chǔ)和核心.充分利用數(shù)據(jù)庫中的數(shù)據(jù),建立數(shù)據(jù)庫應(yīng)用系統(tǒng),有助于信息管理.數(shù)據(jù)庫的類型多樣,從簡單的表格處理到海量數(shù)據(jù)儲存系統(tǒng)都包含在內(nèi).數(shù)據(jù)庫不僅能夠儲存企事業(yè)單位、團體和個人的信息,且海量資源可以為眾多用戶所共享,能滿足客戶對于信息信息查詢和信息處理的需求.
數(shù)據(jù)庫作為獨立的程序,能靈活設(shè)置用戶接口,支持多個用戶同時操作.用戶可根據(jù)自身需求,從數(shù)據(jù)庫擴區(qū)所需數(shù)據(jù).查詢功能是用戶操作數(shù)據(jù)庫應(yīng)用系統(tǒng)時最基礎(chǔ)、最常使用的功能,且當前用戶進行數(shù)據(jù)查詢十分頻繁,數(shù)據(jù)庫查詢技術(shù)顯得非常重要.對數(shù)據(jù)庫信息查詢的方法進行分類,并研究其實現(xiàn)方法,意義重大.
數(shù)據(jù)庫綜合查詢技術(shù)是讓用戶指定任何多個組合條件并且由用戶指定輸出哪些字段的查詢方法,利用該項技術(shù),可以選擇輸出的字段列表,同時指定查詢條件組合,然后通過自定義動態(tài)組合地生成查詢指令,最后將查詢結(jié)果顯示在客戶端界面上[1].
當前數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)主要使用美國Powersoft公司于1991年6月推出的開發(fā)工具Power Builder,該項工具的獨特優(yōu)勢是它智能化的數(shù)據(jù)窗口,利用此對象可以直接使用檢索、更新等多種方式的操作來變更數(shù)據(jù)庫中的數(shù)據(jù),而省去寫入SQL語句的麻煩[2].
Power Builder具有內(nèi)部查詢機制,在同一個數(shù)據(jù)窗口中,用戶既能輸入查詢條件,又可以看到查詢結(jié)果的顯示,同時還能根據(jù)實際需求將多個查詢條件組合起來進行查詢,具有獨特的優(yōu)勢,因而倍受用戶歡迎.條件的輸入和元組顯示能夠在同一數(shù)據(jù)窗口內(nèi)實現(xiàn),但二者之間有一定的差異,條件輸入是固定在某一個范圍,不可進行編輯,元組顯示則包含滿足條件的所有記錄,可以進行編輯.基于元組顯示和條件輸入之間的差別,才使用兩個數(shù)據(jù)窗口進行控制,而沒有把它們放在同一個數(shù)據(jù)窗口中實現(xiàn).
在使用Power Builder進行應(yīng)用程序的設(shè)計過程中要考慮其完整性和實用性.維持數(shù)據(jù)庫的完整性要做到字段和數(shù)值的范圍相吻合.查詢系統(tǒng)實用性的實現(xiàn),依靠數(shù)據(jù)窗口設(shè)計的簡單明了和完備性,這樣既方便用戶操作,又能滿足任何復雜條件的合理查詢需求.例如:在綜合查詢的設(shè)計中使用“非”(not)、“或”(or)、“與”(and)3 種邏輯關(guān)系可以自由組合查詢條件;使用標點符號可以改變邏輯關(guān)系,使用“>”、“=”、“<”、“≥”、“≤”等比較符,進行合理的條件組合能很快找出符合條件的查詢結(jié)果.在系統(tǒng)操作過程中,數(shù)據(jù)的實用性會影響運算結(jié)果和運算一致性,它是建立系統(tǒng)的重要依據(jù).因此需要針對具體的應(yīng)用系統(tǒng)特征,使用一種或多種方式建立相應(yīng)的機制,以提高數(shù)據(jù)的正確性和有效性.為維護數(shù)據(jù)的一致性,可使用表定義約束和觸發(fā)器方法,由此使程序開發(fā)量減少,幫助應(yīng)用系統(tǒng)提升穩(wěn)定性和運行效率.第二,多層次保護的使用,能夠有效維護數(shù)據(jù)庫應(yīng)用系統(tǒng)的完整性和安全性.再者,通過管理系統(tǒng)的維護,及時反饋用戶操作信息并拒絕非法數(shù)據(jù)的輸入,實現(xiàn)數(shù)據(jù)的完整性.
在數(shù)據(jù)庫應(yīng)用系統(tǒng)的實際開發(fā)中,使用SQL語句是完成信息查詢的基礎(chǔ)步驟.SQL(St ruct ured Query Language)語言是1974年由Boyce和Chamberl in提出的,集數(shù)據(jù)定義(Dat a Definition)、數(shù)據(jù)操縱(Dat a Manipul ation)、和數(shù)據(jù)控制(Dat a Cont rol)為一體的關(guān)系數(shù)據(jù)語言[3].
SQL即結(jié)構(gòu)化查詢語言,它的突出優(yōu)勢是語言簡潔,功能多樣,核心為數(shù)據(jù)庫查詢語句.SQL的語法為:SELECT〈目標列〉stringa FROM〈基本表(或視圖)〉stringb WHRE〈條件表達式〉stringc.
格式說明:〈〉中的內(nèi)容為根據(jù)需要的具體內(nèi)容.
語句含義:根據(jù)W H ERE子句中的條件表達式,從基本表(或視圖)中找出滿足條件的元組,按SELECT子句中的目標列,選出元組中的分量形成表.
使用SQL語句構(gòu)建數(shù)據(jù)庫應(yīng)用系統(tǒng),需要對數(shù)據(jù)庫的結(jié)構(gòu)十分熟悉,僅僅了解SQL語句,只能進行簡單的信息查詢;另外,必須對庫造作,并配合其他技術(shù)的使用,才能很好地完成復雜的查詢工作.
圖1
在數(shù)據(jù)庫應(yīng)用系統(tǒng)的實際開發(fā)過程中,常常涉及到對數(shù)據(jù)庫中的字符按進行自由組合形式的查詢,即為動態(tài)多條件查詢,如圖1,就是典型的多條件動態(tài)查詢.在查詢界面中,用戶可根據(jù)自己所知的幾個條件信息搜索數(shù)據(jù)庫,篩選已知信息以縮小搜索范圍,從而更快找到所需結(jié)果.對于這類多條件的動態(tài)查詢,應(yīng)當使用PowerBuilder工具創(chuàng)建動態(tài)數(shù)據(jù)窗口,并對其實行動態(tài)監(jiān)控.動態(tài)地創(chuàng)建數(shù)據(jù)窗口,應(yīng)遵循以下步驟:
SQL 查詢語句的語法是:“select A from B where C”[4],其中A代表的是查詢目標,即為查詢表的字段;B代表的是操作的表對象,可以是多個表或單個表的個副本;C代表的是進行操作的記錄條件.建立SQL語句時,可以在程序設(shè)計期間調(diào)用動態(tài)調(diào)用動態(tài)SQL語句,也可在程序運行期間調(diào)用SQL動態(tài)語句.在程序運行過程中如果用戶要求實現(xiàn)綜合查詢,則只能通過重寫SQL語句來滿足客戶需求,最好動態(tài)地創(chuàng)建SQL語句.動態(tài)SQL語句即為參數(shù)化的語句,可以在程序運行中動態(tài)地給參數(shù)變量賦值,以實現(xiàn)應(yīng)用過程中的綜合查詢.在具體的應(yīng)用過程中,通常先輸入查詢條件,輸入完畢后點擊按鈕使查詢條件顯示在顯示欄中,此時用于查詢的字符串也被寫入了查詢條件,SQL語句由此生成.
synt axFrom SQL()函數(shù)具有功能強、靈活性高的優(yōu)點,常被用來創(chuàng)建動態(tài)窗口.創(chuàng)建數(shù)據(jù)窗口對象語法可以依照以下步驟:首先聲明變量,其次定義數(shù)據(jù)窗口的字符來源和顯示字符串,最后得到創(chuàng)建數(shù)據(jù)窗口對象語法.如果發(fā)生錯誤,synt axFrom SQL會返回一個字符串.利用synt axFrom SQL( )函數(shù)構(gòu)建數(shù)據(jù)窗口得到字符串后,必須把它同窗口上已經(jīng)存在的數(shù)據(jù)窗口控件相結(jié)合.利用得出的SQL字符串,在數(shù)據(jù)窗口空間中動態(tài)創(chuàng)建一個新的數(shù)據(jù)窗口[5].
在真實的數(shù)據(jù)庫應(yīng)用系統(tǒng)中,用戶習慣于利用選項方式輸入查詢條件,這就需要創(chuàng)建一個界面簡潔、使用方便的數(shù)據(jù)窗口對象.利用數(shù)據(jù)窗口控件建立數(shù)據(jù)窗口對象時,先要尋備好要建對象的基本屬性數(shù)據(jù),將這些數(shù)據(jù)輸入程序完成屬性調(diào)整,然后完成各對象缺省參數(shù)的賦值,改變對象大小并調(diào)整對象間間距,最終完成數(shù)據(jù)窗口對象的可視創(chuàng)建.由于數(shù)據(jù)窗口動態(tài)性較強,應(yīng)靈活使用應(yīng)用程序,采用動態(tài)方式創(chuàng)建那些只有在運行時才能確定的數(shù)據(jù)窗口.
數(shù)據(jù)庫查詢技術(shù)是計算機應(yīng)用技術(shù)的核心,查詢方法包括綜合信息查詢技術(shù)、使用SQL語句和動態(tài)多條件查詢方法.而動態(tài)多條件查詢法應(yīng)用于計算機數(shù)據(jù)庫應(yīng)用系統(tǒng)中,不僅能簡化查詢條件,且避免了應(yīng)用系統(tǒng)開發(fā)同用戶查詢方式需求不相適應(yīng)的矛盾.動態(tài)多條件查詢方式的實現(xiàn),關(guān)鍵在于利用SQL語句動態(tài)生成數(shù)據(jù)窗口而簡化了信息查詢流程.這使用這種查詢方法,對于普通客戶而言,能滿足他們對信息管理的需求;對于那些需要解決數(shù)據(jù)庫應(yīng)用系統(tǒng)中數(shù)據(jù)復雜查詢問題的客戶而言,則幫他們攻克了技術(shù)難關(guān).動態(tài)查詢的實現(xiàn),大大縮短了應(yīng)用系統(tǒng)開發(fā)周期,節(jié)約了維護成本,給產(chǎn)品維護工作帶來極大便利.
〔1〕崔艷榮,陳勇.web模式下動態(tài)數(shù)據(jù)庫綜合查詢技術(shù)[J].電腦知識與技術(shù),2011,8(5):991-1018.
〔2〕孫艷紅.計算機數(shù)據(jù)庫信息查詢技術(shù)分析[J].科技創(chuàng)新導報,2008(23):42.
〔3〕孟令宇.淺談數(shù)據(jù)庫數(shù)據(jù)的復雜查詢利用工具的進行[J].中國科技信息,2005(17):50-54.
〔4〕王彬蔚.計算機數(shù)據(jù)庫庫信息查詢技術(shù)探討[J].現(xiàn)代商貿(mào)工業(yè),2010(23):391.
〔5〕周晨旭.計算機數(shù)據(jù)庫信息查詢方法分析與實現(xiàn)方法[J]才智,2012(4):63.
〔6〕穆彤娜,于洪敏,張鐵成.數(shù)據(jù)庫系統(tǒng)綜合查詢方法研究[J].中國礦業(yè)大學學報,2006,3,35(2):260-264.
TP311.13
A
1673-260X(2012)08-0030-02