亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        關(guān)于數(shù)據(jù)庫技術(shù)中查詢功能的探討

        2011-12-31 04:29:19劉金燕
        中國新技術(shù)新產(chǎn)品 2011年2期
        關(guān)鍵詞:元組完整性應(yīng)用程序

        劉金燕

        (河北秦皇島廣播電視大學(xué),河北 秦皇島 066001)

        1 綜合信息的查詢

        目前,隨著工具軟件的發(fā)展和廣泛采用,使數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)如虎添翼,其中PowerBuilder以其獨特的數(shù)據(jù)窗口倍受歡迎。

        利用PowerBuilder提供的內(nèi)部查詢機(jī)制,我們即可以讓數(shù)據(jù)窗口作為查詢條件的輸入,又可以讓該數(shù)據(jù)窗口作為查詢結(jié)果的輸出,這樣就可以使數(shù)據(jù)窗口中的所有數(shù)據(jù)項進(jìn)行自由組合的查詢。例如:在窗口W_que上建立兩個數(shù)據(jù)窗口控制dw_1和dw_2,分別連接兩個數(shù)據(jù)窗口對象dw_que1與dw_que2,其中dw_1用于輸入查詢條件,而dw_2用于顯示滿足查詢條件的所有元組。事實上條件的輸入及元組的顯示完全可以在一個數(shù)據(jù)窗口中實現(xiàn),考慮到這兩種操作的差別(例:條件輸入可編輯,而元組顯示不可編輯;條件輸入可為某一范圍,而元組顯示僅為滿足條件的所有紀(jì)錄……)將其用兩個數(shù)據(jù)窗口控制來實現(xiàn)。這就要求dw_2與dw_1數(shù)據(jù)共享,即要求dw_que1與dw_que2兩數(shù)據(jù)窗口的數(shù)據(jù)源完全相同。

        2 客戶端利用PB開發(fā)的應(yīng)用程序?qū)崿F(xiàn)數(shù)據(jù)的完整性

        2.1 用PB的控件來確保數(shù)據(jù)的完整性

        在以PB開發(fā)工具編寫的應(yīng)用程序中,可使用數(shù)據(jù)窗口對象的列校驗屬性來檢查輸入數(shù)據(jù)的正確性;在窗口輸入界面中還可以采用下拉列表、復(fù)選框、單選按鈕等控件,實現(xiàn)固定值選取輸入來確保數(shù)據(jù)的正確;另外,應(yīng)用程序本身也可以對輸入數(shù)據(jù)進(jìn)行有效檢查來確保數(shù)據(jù)的完整性。

        2.2 利用事務(wù)的特點來保證數(shù)據(jù)的一致性

        因PB的每一操作都是基于控件中的事件,所以一個完整的事務(wù)處理要集中在一個事件或一個操作單元中。例如,門診劃價收費中的付款處理;同一個收費序號下的數(shù)據(jù),經(jīng)過處理后要記入明細(xì)帳、一級明細(xì)帳、總帳,同時還要更新收費序號登記表等;所有這些處理算是一個完整的任務(wù),必須等所有的語句都執(zhí)行成功后,才能對數(shù)據(jù)庫進(jìn)行提交;如果有一條語句未執(zhí)行成功,就要撤消該事務(wù)的一切操作,回退到事務(wù)開始的狀態(tài),這樣才能保證數(shù)據(jù)的一致。利用客戶端應(yīng)用程序?qū)崿F(xiàn)數(shù)據(jù)完整性的方法,其主要特點是:交互性好、功能強(qiáng),但編程偏大、維護(hù)困難、可靠性差。

        3 實現(xiàn)數(shù)據(jù)完整性的策略

        由上述可見,在數(shù)據(jù)庫應(yīng)用系統(tǒng)中,實現(xiàn)數(shù)據(jù)完整性的方法各有其特點。對具體應(yīng)用系統(tǒng),可根據(jù)需要采用其中一種或多種方法來建立數(shù)據(jù)完整性的機(jī)制,其策略為:

        (1)對于通過窗口操作輸入的數(shù)據(jù),一般采用客戶端應(yīng)用程序來確保數(shù)據(jù)的完整性。這樣,一方面可把非法數(shù)據(jù)在提交到數(shù)據(jù)庫之前就拒之門外,另一方面可使用戶及時得到操作反饋信息,做出正確的選擇。

        (2)對于通過其他途徑轉(zhuǎn)入的數(shù)據(jù),一般需要服務(wù)器端數(shù)據(jù)庫管理系統(tǒng)來實現(xiàn)數(shù)據(jù)的完整性。

        (3)對于數(shù)據(jù)一致性的維護(hù),宜于由服務(wù)器端數(shù)據(jù)庫的觸發(fā)器或表定義的約束來實現(xiàn)。這樣可降低客戶端應(yīng)用程序的開發(fā)量,提高應(yīng)用系統(tǒng)的運行效率、可維護(hù)性及可靠性。

        (4)對于數(shù)據(jù)完整性和安全性要求較高的系統(tǒng),則需要采用多層保護(hù)屏障來確保數(shù)據(jù)的完整性和安全性。如:既在客戶端應(yīng)用系統(tǒng)程序檢查輸入數(shù)據(jù)的有效性,同時又在服務(wù)器端數(shù)據(jù)庫中建立表的約束、規(guī)則、缺省和觸發(fā)器等進(jìn)行數(shù)據(jù)完整性約束。這樣可以提高系統(tǒng)數(shù)據(jù)的可靠性和安全性。

        4 計算機(jī)動態(tài)查詢的實現(xiàn)

        在某些實際的應(yīng)用系統(tǒng)開發(fā)中,由于用戶在開發(fā)前提不出查詢的需求,而在系統(tǒng)運行中希望能夠?qū)λ械臄?shù)據(jù)項任意組合進(jìn)行查詢,以滿足來自多方的需求,實現(xiàn)動態(tài)地查詢(即隨機(jī)地從43張表中選擇數(shù)據(jù)項進(jìn)行組合作為查詢條件并任意地選擇數(shù)據(jù)項作為顯示條目)。對于此類查詢的實現(xiàn)要利用PowerBuilder通過編程的方式在運行時動態(tài)地創(chuàng)建數(shù)據(jù)窗口,并動態(tài)地控制數(shù)據(jù)窗口。

        動態(tài)地創(chuàng)建一個數(shù)據(jù)窗口,應(yīng)用程序需要執(zhí)行下列任務(wù):

        動態(tài)地構(gòu)造SQL語句。

        用符合數(shù)據(jù)窗口語法的字符串,為現(xiàn)在的數(shù)據(jù)窗口控制創(chuàng)建一個數(shù)據(jù)窗口對象。具體實現(xiàn)如下:

        4.1 動態(tài)地生成SQL語句,根據(jù)SQL的語法:SELECTstringa FROMstringb

        WHERE stringc

        也就是動態(tài)地生成 stringa,stringb,stringc.由用戶輸入要顯示的列,一旦輸入完畢,列名就隨之確定,將所有列名拼成一個"串",中間用","分隔,形如"columm1,column2,column3,...,columnr",則動態(tài)地生成stringa;同樣由用戶輸入查詢條件,包括相應(yīng)的列、滿足的條件或范圍、邏輯關(guān)系等,將這些條件拚成一個串,即為stringc,顯然,所有的列名都確定了,他們所在的表名也確定了,按照stringb的語法規(guī)則即可構(gòu)造。

        注意:上面的stringc由兩部分(表間關(guān)系stringc1及查詢條件stringc2)組成;表名串stringb與表間關(guān)系stringc1、查詢條件stringc2及顯示條目stringa均有關(guān)。

        在實現(xiàn)的過程中:為貼近實際應(yīng)用,習(xí)慣上,先輸入查詢條件,再輸入顯示條目。即在輸入查詢條件后,生成strinc2,stringb,stringc1;然后,再在輸入顯示條目后生成stringa,并修改stringc1,stringb。最后形成SQL語法:str="select"+stringa+"from"+stringb+"where"+stringcl+stringc2

        4.2 在現(xiàn)在的事物對象里利用相關(guān)的SyntaxFromSQL()函數(shù)生成符合數(shù)據(jù)窗口語法的字符串:

        exp=syntaxfromsq1(sq1ca,str,strsty,error)生成數(shù)據(jù)窗口的源代碼

        其中:strsty為數(shù)據(jù)窗口的顯示風(fēng)格,例:strsty="style(type=grid)datawindow(units=lcolor=12632256)text(font.face='system')"

        4.3 創(chuàng)建數(shù)據(jù)窗口對象

        dw_que.create(exp)

        這樣就實現(xiàn)了用戶要求的隨機(jī)查詢。

        在真實系統(tǒng)中,用戶在輸入查詢條件時希望通過選項方式錄入查詢信息,由于庫表中存放的大量信息為代碼,這就需要在程序中先把錄入的文字信息轉(zhuǎn)化成相應(yīng)的代碼再連接到查詢條件中。為簡化輸入,提高準(zhǔn)確性,可采用代碼輸入,即動態(tài)地嵌套下拉式數(shù)據(jù)窗口。在顯示查詢結(jié)果的數(shù)據(jù)窗口中,事先不能嵌套下拉式數(shù)據(jù)窗口,可預(yù)先做一個函數(shù),在程序運行中根據(jù)所選的列把代碼轉(zhuǎn)化成所對應(yīng)的漢字顯示,這樣更完善了用戶要求的隨機(jī)查詢。

        根據(jù)數(shù)據(jù)窗口的動態(tài)特性,對于那些運行時才能確定的數(shù)據(jù)窗口采用動態(tài)方式創(chuàng)建,使應(yīng)用程序能更靈活地滿足用戶的需求。

        總結(jié)

        將查詢條件的輸入實現(xiàn)多級菜單選擇將查詢結(jié)果文字化,使復(fù)雜查詢問題解決得更完善。動態(tài)查詢的方法,不僅能應(yīng)用于人事管理信息系統(tǒng),同時也是解決其他需要復(fù)雜查詢的數(shù)據(jù)庫應(yīng)用系統(tǒng)的途徑。這種動態(tài)查詢方法的在數(shù)據(jù)庫應(yīng)用系統(tǒng)的使用,避免了應(yīng)用系統(tǒng)開發(fā)中開發(fā)者冥思苦想所有可能的查詢條件,而系統(tǒng)運行中用戶總遇到有些查詢要求無法滿足的矛盾。

        [1]胡曉彥,桂炳東.實施計算機(jī)信息管理,提高檢驗質(zhì)量和工作效率.江西醫(yī)學(xué)檢驗,2007-10-15期刊.

        [2]孟巖.計算機(jī)信息管理系統(tǒng)安全的對策探討.信息與電腦(理論版),2010-06-15期刊.

        猜你喜歡
        元組完整性應(yīng)用程序
        稠油熱采水泥環(huán)完整性研究
        云南化工(2021年9期)2021-12-21 07:44:00
        Python核心語法
        電腦報(2021年14期)2021-06-28 10:46:22
        刪除Win10中自帶的應(yīng)用程序
        電腦報(2019年12期)2019-09-10 05:08:20
        海量數(shù)據(jù)上有效的top-kSkyline查詢算法*
        基于減少檢索的負(fù)表約束優(yōu)化算法
        莫斷音動聽 且惜意傳情——論音樂作品“完整性欣賞”的意義
        精子DNA完整性損傷的發(fā)生機(jī)制及診斷治療
        樁身完整性檢測中缺陷的綜合判別
        河南科技(2014年18期)2014-02-27 14:14:46
        面向數(shù)據(jù)流處理的元組跟蹤方法
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        极品人妻少妇av免费久久| 国内精品久久久久久久亚洲| 亚洲av天堂久久精品| 亚洲精品久久视频网站| av免费网址在线观看| 日韩av无码成人无码免费| 欧美日韩综合在线视频免费看| 亚洲天堂一区二区三区 | 欧美大屁股xxxx高潮喷水| 福利视频一二三在线观看| 无码少妇一区二区性色av| 久久亚洲黄色| 亚洲阿v天堂2018在线观看| 白白色青青草视频免费观看| 亚洲国产精品高清一区| 婷婷亚洲久悠悠色悠在线播放| 亚洲天堂成人在线| 成人综合久久精品色婷婷| 蜜桃夜夜爽天天爽三区麻豆av| 国产v片在线播放免费无码| 国产成人www免费人成看片| 日日躁欧美老妇| 日本一二三区免费在线| 天天综合网在线观看视频| 国产精品主播视频| 一区二区三区成人av| 成人欧美一区二区三区在线 | 久久国产精品男人的天堂av| 狼人伊人影院在线观看国产| 亚洲裸男gv网站| 综合色久七七综合尤物| 天堂精品人妻一卡二卡| 国产97色在线 | 国产| 日日干夜夜操高清视频| 色偷偷av一区二区三区人妖| av网站在线观看大全| 熟妇丰满多毛的大隂户| 国产中文字幕乱码在线| 在线观看免费不卡网站| 亚洲国产精品一区二区www| 精品第一页|