摘要: 本文通過對傳統(tǒng)管理信息系統(tǒng)設(shè)計(jì)方法中查詢技術(shù)使用中存在問題的分析,介紹“世紀(jì)橋管理信息系統(tǒng)設(shè)計(jì)平臺(tái)(MISD)”中樹狀層次查詢技術(shù)的使用,從而尋求更合理的查詢技術(shù)開發(fā)方案。
關(guān)鍵詞: 管理信息系統(tǒng)設(shè)計(jì)MISD樹狀層次查詢技術(shù)
一、引言
基于事務(wù)邏輯的“世紀(jì)橋管理信息系統(tǒng)設(shè)計(jì)平臺(tái)”(以下簡稱MISD-Manager Information System Designer)是一種創(chuàng)新型的管理信息系統(tǒng)設(shè)計(jì)工具,是我國軟件技術(shù)領(lǐng)域取得的一項(xiàng)自主知識(shí)產(chǎn)權(quán)的重要成果。這種系統(tǒng)設(shè)計(jì)不依賴系統(tǒng)模型,而是注重系統(tǒng)的界面、外部條件、結(jié)構(gòu)流程、外部算法和系統(tǒng)運(yùn)行的結(jié)果。系統(tǒng)開發(fā)周期短、不編程也不產(chǎn)生任何程序代碼,易學(xué)習(xí)、易優(yōu)化。因此,其特別適用于初學(xué)者或編程能力較弱的高職高專類學(xué)生使用。
采用MISD事務(wù)邏輯設(shè)計(jì)平臺(tái)可以直觀地利用業(yè)務(wù)流程和數(shù)據(jù)流程,同時(shí)基于算法資源,建立和描述系統(tǒng)結(jié)構(gòu),每一個(gè)流程設(shè)計(jì),在界面上可以即時(shí)操作,每一過程階段子結(jié)構(gòu)都能即時(shí)運(yùn)行,直接檢驗(yàn)運(yùn)行結(jié)果。MISD的很多設(shè)計(jì)技術(shù)簡單、實(shí)用、有效,其中的庫表鏈接技術(shù)就很有特色,以下以學(xué)生檔案管理系統(tǒng)為例說明樹狀層次查詢技術(shù)的應(yīng)用。
二、樹狀層次查詢的設(shè)計(jì)
1.傳統(tǒng)的查詢設(shè)計(jì)方法存在的問題
例如在學(xué)生檔案管理系統(tǒng)中對“學(xué)生資料表”進(jìn)行查詢,傳統(tǒng)的設(shè)計(jì)方法是通過使用變量條件查詢,使在查詢過程中出現(xiàn)對話框,再讓用戶輸入欲查詢的系別、班級(jí)和姓名進(jìn)行查詢。這種查詢設(shè)計(jì)方法存在以下兩個(gè)方面的問題:一是如果用戶不知道數(shù)據(jù)庫中有哪些班級(jí)或記不準(zhǔn)欲查班級(jí)的名稱,則可能不知道輸入什么,因此,用這種方法設(shè)計(jì)的查詢,用戶使用時(shí)會(huì)感到很不方便;二是需要提交表單、重寫列表,這樣會(huì)造成表單的多次提交,加重服務(wù)器的負(fù)擔(dān),因此,這種設(shè)計(jì)查詢的方法是不科學(xué)的。
2.樹狀層次查詢技術(shù)的意義
樹狀層次查詢是將查詢界面設(shè)計(jì)成樹狀的列表框進(jìn)行條件選擇,使后一級(jí)列表的值根據(jù)前一級(jí)列表中選取的值執(zhí)行數(shù)據(jù)庫操作來取得。這樣層層嵌套,達(dá)到樹狀層次查詢的精確查詢。設(shè)計(jì)時(shí)我們可以事先將數(shù)據(jù)從數(shù)據(jù)庫中按條件查詢寫入?yún)?shù)表,而且每個(gè)參數(shù)表根據(jù)用戶設(shè)定的條件,利用過濾的辦法實(shí)現(xiàn)列表框的動(dòng)態(tài)關(guān)聯(lián),然后設(shè)計(jì)查詢界面,在查詢界面的下拉列表框中鏈接對應(yīng)的參數(shù)表,從而形成具有層次的查詢。
例如,在學(xué)生檔案管理系統(tǒng)中,我們欲查詢一個(gè)學(xué)院有哪些系別,系下面設(shè)有哪些專業(yè),專業(yè)下面又有哪些班級(jí),再查班級(jí)中學(xué)生的情況,則可將查詢界面設(shè)計(jì)為如圖1所示的樹狀層次的下拉列表查詢形式,用戶在查詢時(shí)首先點(diǎn)擊系別,在下拉列表中會(huì)顯示出數(shù)據(jù)庫中所有的系別供用戶選擇,再選擇專業(yè),則會(huì)出現(xiàn)前面所選系別中對應(yīng)的所有專業(yè),然后點(diǎn)擊班級(jí),在下拉列表中會(huì)列出前面所選范圍內(nèi)的所有學(xué)生名單。這樣,用戶在查詢時(shí)就會(huì)感到界面方便。
此查詢的特點(diǎn)是層次分明、結(jié)構(gòu)清晰、條理清楚,下層會(huì)出現(xiàn)與上層相關(guān)的內(nèi)容,使查詢結(jié)果不會(huì)落空,從而大大縮小了查詢的范圍,節(jié)省了用戶查詢的時(shí)間。
三、樹狀層次查詢技術(shù)設(shè)計(jì)實(shí)例
以下以學(xué)生檔案管理系統(tǒng)中查詢子系統(tǒng)為例說明樹狀層次查詢技術(shù)的實(shí)現(xiàn)過程。
例:設(shè)計(jì)一個(gè)查詢界面,對學(xué)生資料表中的數(shù)據(jù)按樹狀層次進(jìn)行查詢。
本例中包括的表及字段如下:
[表1]學(xué)生資料表:學(xué)號(hào)、姓名、系別、專業(yè)、班級(jí)、照片等字段;
[表2]系別參數(shù)表:參數(shù);
[表3]專業(yè)參數(shù)表:參數(shù);
[表4]班級(jí)參數(shù)表:參數(shù);
[表5]查詢表:學(xué)號(hào)、姓名、系別、專業(yè)、班級(jí)等字段;
[表6]查詢界面表:學(xué)號(hào)、姓名、系別、專業(yè)、班級(jí)等字段;
主要設(shè)計(jì)步驟如下:
1.流程圖設(shè)計(jì)
本系統(tǒng)的流程圖如圖2所示。
2.表格設(shè)計(jì)
3.定義查詢
(1)分別定義“學(xué)生資料表”到“系別參數(shù)”、“專業(yè)參數(shù)”、“班級(jí)參數(shù)”的查詢
“學(xué)生資料表”到“系別參數(shù)”的查詢:
抄表:.參數(shù)=[1R].系別
分組:[1R].系別
“學(xué)生資料表”到“系別參數(shù)”的查詢:
抄表:.參數(shù)=[1R].專業(yè)
分組:[1R].專業(yè)
條件:[1R].系別Like{系別}(表明該專業(yè)是在系別條件下的專業(yè))
“學(xué)生資料表”到“班級(jí)參數(shù)”的查詢:
抄表:.參數(shù)=[1R].班級(jí)
分組:[1R].班級(jí)
條件:[1R].系別Like{系別}AND[1R].專業(yè)Like{專業(yè)}(表明該班級(jí)是在系別與專業(yè)下的班級(jí))
注:這里的系別、專業(yè)和班級(jí)三個(gè)表使用的是同一個(gè)參數(shù)表。
(2)定義“學(xué)生資料表”到“學(xué)生資料查詢表”的查詢
抄表:.學(xué)號(hào)=[1R].學(xué)號(hào)
.姓名= [1R].姓名
.班級(jí)= [1R].班級(jí)
.專業(yè)= [1R].專業(yè)
.系別= [1R].系別
條件:[1R].系別 Like {系別} AND [1R].專業(yè) Like {專業(yè)} AND [1R].班級(jí) Like {班級(jí)}
4.設(shè)計(jì)查詢界面
(1)建立“查詢界面”流程框,并創(chuàng)建數(shù)據(jù)庫。
(2)分別為“系別”、“專業(yè)”和“班級(jí)”字段建立庫表鏈接,使其連接到相應(yīng)的參數(shù)表,并設(shè)定對應(yīng)的參數(shù)值。
其中系別參數(shù)值“@4@”的設(shè)定方法是利用單擊學(xué)生資料表中的系別字段得到的,同理可設(shè)定其它兩個(gè)參數(shù)值。
(3)為“查詢”字段建立表格超鏈接。
●選定“查詢” 字段,打開“對象屬性”對話框;
●單擊“數(shù)據(jù)”選項(xiàng)卡中的“鏈接屬性”按鈕;
●在打開的“按鈕設(shè)置”對話框選擇鏈接的流程框?yàn)椤皩W(xué)生資料查詢”,并分別設(shè)置“系別”、“專業(yè)”和“班級(jí)”的參數(shù)為本表中的相應(yīng)字段值;
●在“查詢”字段上面分別放置帶顏色的矩形框和靜態(tài)文字“查詢”作為裝飾。
系統(tǒng)設(shè)計(jì)完成后,運(yùn)行查詢界面,按照如圖1所示的樹狀層次查詢方法操作,再雙擊“查詢”字段,即可得到查詢結(jié)果。
參考文獻(xiàn):
[1]殷步九著.世紀(jì)橋.信息管理系統(tǒng)設(shè)計(jì)平臺(tái)及其解釋器[EB/OL] .http://www.lkhuasoft.com/zhjs1.asp,2005.
[2]王建平,馮蘭軍.新一代MIS設(shè)計(jì)平臺(tái)-世紀(jì)橋?qū)嵱?xùn)教程.廣東經(jīng)濟(jì)出版社,2006.10.