梁廣輝,胡良謀,唐鋒,胡飛,曹克強(qiáng)
(1.空軍工程大學(xué)航空航天工程學(xué)院,陜西西安710038;2.廣空裝備部外場處,廣東廣州510071)
飛機(jī)液壓系統(tǒng)擔(dān)負(fù)著飛機(jī)的特定操縱與驅(qū)動任務(wù),對飛機(jī)安全正常飛行、實現(xiàn)設(shè)計性能及飛行員的生存保障,起著舉足輕重的作用[1]。因此研究飛機(jī)液壓系統(tǒng)的可靠性具有重要的現(xiàn)實意義。
飛機(jī)液壓系統(tǒng)在外場使用過程中的使用故障統(tǒng)計數(shù)據(jù)是其可靠性資料的主要來源。因為在使用階段反映的使用及環(huán)境條件最真實,參與評估的液壓系統(tǒng)及其附件數(shù)量較多,因此在該階段收集的使用故障(可靠性)數(shù)據(jù)極為珍貴,它能最真實地反映液壓系統(tǒng)及其附件的實際可靠性水平和薄弱環(huán)節(jié),對設(shè)計和制造的評價最權(quán)威。
為了記錄、有效管理和利用飛機(jī)液壓系統(tǒng)在外場使用過程中收集的使用故障統(tǒng)計數(shù)據(jù),建立先進(jìn)的數(shù)據(jù)庫系統(tǒng)是一個根本的解決方法。因此,如何設(shè)計開發(fā)出功能強(qiáng)大,人機(jī)界面友好,使用方便,高效,保密性好,可靠性高,現(xiàn)代化、自動化及智能化水平高的飛機(jī)液壓系統(tǒng)使用故障數(shù)據(jù)庫系統(tǒng)就成為一項非常重要和迫切的研究課題。
PowerBuilder 是一款目前流行的、優(yōu)秀的快速交互式數(shù)據(jù)庫開發(fā)工具,具有高效快捷的完全可視化的集成開發(fā)環(huán)境、簡潔友好的用戶界面、功能強(qiáng)大的數(shù)據(jù)窗口技術(shù)以及性能優(yōu)越的數(shù)據(jù)庫訪問能力,因此越來越受到眾多數(shù)據(jù)庫開發(fā)人員的青睞[2-5]。
文中應(yīng)用PowerBuilder 來設(shè)計開發(fā)飛機(jī)液壓系統(tǒng)使用故障數(shù)據(jù)庫系統(tǒng)的登錄界面,以提高數(shù)據(jù)庫系統(tǒng)的安全性。
設(shè)計任務(wù)為:設(shè)計一個適用于飛機(jī)液壓系統(tǒng)使用故障數(shù)據(jù)庫系統(tǒng)的登錄界面,用于數(shù)據(jù)庫系統(tǒng)的安全管理。
(1)開發(fā)軟件:PowerBuilder 9.0 及其自帶的后臺數(shù)據(jù)庫管理系統(tǒng)ASA(Adaptive Server Anywhere 8.0);
(2)數(shù)據(jù)庫系統(tǒng)只需實現(xiàn)單機(jī)版功能;
(3)登錄界面上只需輸入登錄密碼就可以登錄數(shù)據(jù)庫系統(tǒng);
(4)數(shù)據(jù)庫系統(tǒng)中有修改登錄密碼的功能。
為了能夠修改登錄密碼,首先必須要設(shè)計一個本地數(shù)據(jù)庫,用于存儲登錄密碼和保存登錄密碼修改結(jié)果。
采用ASA 創(chuàng)建登錄密碼數(shù)據(jù)庫。
采用PowerBuilder 創(chuàng)建本地ASA 數(shù)據(jù)庫有以下7個步驟:
(1)數(shù)據(jù)表的結(jié)構(gòu)設(shè)計
數(shù)據(jù)表[2-5]是數(shù)據(jù)庫中用于存儲數(shù)據(jù)的基本單元。數(shù)據(jù)表是一張二維關(guān)系表,定義了數(shù)據(jù)表結(jié)構(gòu),由若干行和列(Column,習(xí)慣上也稱為字段)組成。表中的每一行都代表一條記錄,而每條記錄又是由多個列組成的。
根據(jù)實際需求,定義的登錄密碼數(shù)據(jù)表(Password)的結(jié)構(gòu)如表1所示。其中,“密碼”字段的寬度為20,表示最多可設(shè)置20 位的登錄密碼。
表1 password 數(shù)據(jù)表的結(jié)構(gòu)
(2)創(chuàng)建本地ASA 數(shù)據(jù)庫
利用數(shù)據(jù)庫畫板可創(chuàng)建一個ASA 數(shù)據(jù)庫。
具體方法為:在PowerBuilder 中單擊工具欄中的“”(Database)圖標(biāo),打開“Database”窗口,并展開“Database”窗口左側(cè)樹狀列表中的“ODB ODBC Utilities”項;再雙擊“Create ASA Database”項,打開“Create Adaptive Server Anywhere Database”窗口,需要在該窗口配置數(shù)據(jù)庫的屬性(在“User ID”文本框中輸入用戶名,默認(rèn)值為“DBA”;在“Password”文本框中輸入密碼,默認(rèn)值為“SQL”;在“Database Name”文本框中輸入要創(chuàng)建的數(shù)據(jù)庫的名稱和路徑,這里為“E: 數(shù)據(jù)庫程序 fault_database password_db.db”;在“Log Name”文本框中輸入日志文件的名稱,為“password_db.log”;在“Page Size”項中可選擇頁面大小)。配置完成后,單擊“OK”按鈕,PowerBuilder 會自動完成本地ASA數(shù)據(jù)庫的創(chuàng)建工作。最后,在“Database”窗口的左側(cè)樹狀列表中的“ODB ODBC”項的下面增加了一項“Password Db”,并且它的圖標(biāo)上出現(xiàn)了一個符號“√”,表明數(shù)據(jù)庫“password_db.db”已經(jīng)成功連接到當(dāng)前的PowerBuilder 開發(fā)環(huán)境中了,如圖1所示。
圖1 數(shù)據(jù)庫創(chuàng)建及連接成功界面
(3)創(chuàng)建數(shù)據(jù)表結(jié)構(gòu)
根據(jù)前面定義的數(shù)據(jù)表的結(jié)構(gòu)設(shè)計結(jié)果,利用數(shù)據(jù)庫畫板創(chuàng)建數(shù)據(jù)表。
具體方法為:在圖1 中,選中“ODB ODBC Password Db Tables”項,右擊鼠標(biāo),在彈出的快捷菜單中選中“New Table”命令,在數(shù)據(jù)庫工作區(qū)的底部出現(xiàn)數(shù)據(jù)表的結(jié)構(gòu)定義界面,按照表1所示的結(jié)構(gòu)輸入所有字段的項目,如圖2所示。最后保存結(jié)果,并將數(shù)據(jù)表的名稱保存為“password”。
圖2 數(shù)據(jù)表“password”的結(jié)構(gòu)定義界面
(4)定義主鍵
數(shù)據(jù)表的主鍵(Primary Key)是唯一標(biāo)識每一行數(shù)據(jù)的一列或若干列的集合[2-5]。利用數(shù)據(jù)庫畫板可定義主鍵。這里將“編號”字段設(shè)置為主鍵。
(5)定義索引
索引(Index)是在數(shù)據(jù)庫中實現(xiàn)數(shù)據(jù)表中數(shù)據(jù)邏輯排序的有效方法[2-5]。
具體方法為:展開“ODB ODBC Password Db Tables password”目錄,選中“Indices”項,右擊鼠標(biāo),在彈出的快捷菜單中選中“New Index…”命令,從而可打開索引屬性面板。在索引屬性面板的“General”選項卡上的“Index”文本框中輸入索引名稱“i_bh”,在“Column”選項框中選中“編號”復(fù)選框(打勾),即可完成索引的創(chuàng)建。
(6)定義外鍵
外鍵(Foreign Key)是指表中的一個或多個列與其他表中的主鍵建立的對應(yīng)關(guān)系[2-5]。這里不用定義外鍵。
(7)向數(shù)據(jù)表中錄入數(shù)據(jù)
在前面創(chuàng)建的數(shù)據(jù)表的基礎(chǔ)上,利用數(shù)據(jù)庫畫板可以向數(shù)據(jù)表中錄入數(shù)據(jù)。
具體方法為:首先選中數(shù)據(jù)表“password”,右擊鼠標(biāo),在彈出的快捷菜單中選擇“Edit Data →Grid”命令,然后在數(shù)據(jù)庫工作區(qū)底部出現(xiàn)的“Results”視圖中,右擊鼠標(biāo),在彈出的快捷菜單中選擇“Insert Row”命令來錄入數(shù)據(jù)。最后,在“編號”列中輸入“1”;在“密碼”列中輸入初始密碼“123456”,如圖3所示。最后保存結(jié)果。
圖3 向數(shù)據(jù)表中錄入數(shù)據(jù)的界面
窗口(Window)是PowerBuilder 應(yīng)用程序的基本組成要素,是應(yīng)用程序與用戶進(jìn)行交互操作的平臺。用戶通過窗口向應(yīng)用程序提供必要的數(shù)據(jù),指示所需完成的工作;應(yīng)用程序則通過窗口顯示運行狀態(tài)和執(zhí)行結(jié)果[2-5]。具體地說,應(yīng)用程序與用戶之間的交互活動都需要通過窗口上的具體的各種類型的控件來完成。因此,窗口設(shè)計的主要工作就是決定窗口的類型和選用相關(guān)的窗口控件并合理布局,而且各種控件的布局、排列、色彩搭配等直接影響著系統(tǒng)的美觀。登錄界面就是通過窗口及其窗口控件來實現(xiàn)相應(yīng)的功能。
登錄界面的實際運行效果如圖4所示。其中,為了實現(xiàn)在單行編輯框“sle_1”中輸入密碼時,不顯示實際的輸入內(nèi)容,輸入的每個字符都用“* ”代替,需要在它的屬性面板中的“General”選項卡中選中“Password”選項(打勾)。
圖4 登錄界面
登錄密碼修改界面的實際運行如圖5所示。
圖5 登錄密碼修改界面
在該界面,主要功能有:
圖6 登錄密碼修改成功提示框
(1)修改登錄密碼。首先在“輸入原密碼”文本框中輸入當(dāng)前密碼,在“輸入新密碼”文本框中輸入新密碼,在“確認(rèn)新密碼”文本框中將新密碼重新輸入一次,最后單擊“保存”按鈕保存新密碼的設(shè)置。登錄密碼修改成功的提示框如圖6所示。
(2)如果在“輸入原密碼”文本框中輸入數(shù)據(jù)庫系統(tǒng)的當(dāng)前密碼錯誤時,此時出現(xiàn)的提示框如圖7所示,單擊“確定”按鈕后,重新輸入。
圖7 輸入數(shù)據(jù)庫系統(tǒng)的當(dāng)前密碼錯誤提示框
(3)當(dāng)“輸入新密碼”文本框中輸入的新密碼和“確認(rèn)新密碼”文本框中的確認(rèn)密碼不一致時,此時出現(xiàn)的提示框如圖8所示,單擊“確定”按鈕后,重新輸入。
圖8 “新密碼和確認(rèn)密碼不一致”提示框
(1)“保存”命令按鈕的程序代碼
采用目前最為流行的、美國著名的數(shù)據(jù)庫開發(fā)工具PowerBuilder 設(shè)計開發(fā)了飛機(jī)液壓系統(tǒng)使用故障數(shù)據(jù)庫系統(tǒng)的登錄界面,具有界面友好、功能強(qiáng)大、使用方便、可擴(kuò)展性強(qiáng)、智能化水平高等優(yōu)點,大大提高了數(shù)據(jù)庫系統(tǒng)的安全性水平。文中的研究工作為其他類型的數(shù)據(jù)庫系統(tǒng)登錄界面的設(shè)計開發(fā)提供了有意義的借鑒。
【1】王占林.飛機(jī)高壓液壓能源系統(tǒng)[M].北京:北京航空航天大學(xué)出版社,2004.
【2】郭新順.數(shù)據(jù)庫前臺開發(fā)環(huán)境[M].北京:清華大學(xué)出版社,2010.
【3】黃俊聯(lián),肖國強(qiáng).數(shù)據(jù)庫原理與應(yīng)用實驗教程[M].2版.北京:國防工業(yè)出版社,2008.
【4】李華.PowerBuilder 程序設(shè)計教程[M].北京:清華大學(xué)出版社,2011.
【5】陳永強(qiáng).PowerBuilder 數(shù)據(jù)庫開發(fā)經(jīng)典實例精解[M].北京:機(jī)械工業(yè)出版社,2007.