999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

自適應數(shù)據(jù)庫變遷的通用查詢系統(tǒng)研究

2016-05-14 22:04:23孫仁鵬吳聰卞光亮
軟件導刊 2016年5期

孫仁鵬 吳聰 卞光亮

摘要:MIS系統(tǒng)的查詢模塊一般與數(shù)據(jù)庫和業(yè)務緊耦合、不通用,不能滿足一些特定的應用場景。為解決該不足,基于數(shù)據(jù)字典和用戶數(shù)據(jù)字典來設計查詢,并且將查詢權限融入設計。查詢自定義模塊根據(jù)鏈接的數(shù)據(jù)庫產(chǎn)品類別,定位存放查詢對象和查詢字段的數(shù)據(jù)字典表,翻譯查詢信息至用戶數(shù)據(jù)字典表,然后查詢模塊提取翻譯的查詢信息,由終端用戶選擇和輸入條件,實現(xiàn)靈活動態(tài)查詢,并對查詢結(jié)果進行統(tǒng)計和輸出。同時,為用戶動態(tài)分配權限,權限的粒度可控制到字段。系統(tǒng)動態(tài)鏈接數(shù)據(jù)庫、動態(tài)生成界面、動態(tài)生成SQL、動態(tài)設置權限、動態(tài)數(shù)據(jù)處理,實現(xiàn)了查詢的通用性和自適應數(shù)據(jù)庫的變遷,實際應用效果較好。

關鍵詞:通用查詢;數(shù)據(jù)字典;查詢權限;自適應數(shù)據(jù)庫變遷;動態(tài)界面

DOIDOI:10.11907/rjdk.161380

中圖分類號:TP392

文獻標識碼:A 文章編號:1672-7800(2016)005-0169-02

0 引言

MIS系統(tǒng)查詢模塊往往面向特定數(shù)據(jù)庫、特定企業(yè)業(yè)務,與具體數(shù)據(jù)庫應用系統(tǒng)緊密耦合,不通用。正是這種不通用,導致一些實際場景想查看數(shù)據(jù)就顯得非常不便。比如:數(shù)據(jù)庫初始化、導庫已完成,想查看數(shù)據(jù)是否正確或完整;業(yè)務系統(tǒng)還沒有正式上線,想驗證封裝業(yè)務的sql語句執(zhí)行的結(jié)果否正確;一線員工往往無權使用企業(yè)業(yè)務系統(tǒng),但是隨時想查看自己每天的工作量有沒有被弄錯等。另外,用戶可能需要根據(jù)各個屬性的各種組合條件選擇性地查詢需要的實體屬性,靈活方便查詢。自適應數(shù)據(jù)庫變遷的通用查詢系統(tǒng)由于通用,難以實現(xiàn)豐富的個性化查詢圖表報表需求,但是有其應用需求,而這方面的研究并不多見。

1 研究思路

自適應數(shù)據(jù)庫變遷的通用查詢系統(tǒng)需滿足通用性、靈活性和翻譯性。通用性指不因查詢需求的多少和改變而修改程序,不因數(shù)據(jù)庫結(jié)構的改變或數(shù)據(jù)庫的變遷而修改程序。靈活性指查詢項由用戶選擇,查詢條件由用戶動態(tài)輸入和組合,查詢結(jié)果可統(tǒng)計、可寫入Excel,查詢權限的粒度可細到字段。翻譯性指查詢需求信息具有國際化功效,能自適應不同語言的用戶。

1.1 查詢sql語句與查詢系統(tǒng)分離

顯然,查詢sql語句不能事先嵌入到查詢程序中,因為查詢系統(tǒng)是通用的,事先不知道查詢需求和數(shù)據(jù)庫情況,查詢程序只是查詢運行的平臺。

1.2 數(shù)據(jù)字典實現(xiàn)通用性

數(shù)據(jù)字典記錄了數(shù)據(jù)庫的總體信息,包括表、視圖、字段名、類型等,其維護工作也由數(shù)據(jù)庫服務器自動完成。用戶查詢需求用視圖封裝,自動存放在數(shù)據(jù)字典中。當有新的查詢需求時,就編寫相應的視圖,只不過該視圖一般不含任何參數(shù),具體參數(shù)是通過查詢軟件傳遞過來并動態(tài)構建查詢sql,從視圖對應的數(shù)據(jù)集中提取用戶所需的子集。對于業(yè)務復雜的查詢需求,即不能直接用視圖來表達,可以通過業(yè)務系統(tǒng)或存儲過程的執(zhí)行,將執(zhí)行結(jié)果集存于中間表中,然后再用視圖封裝。通過對數(shù)據(jù)字典的設計來對數(shù)據(jù)庫表進行管理和控制,實現(xiàn)應用程序和表結(jié)構的分離,開發(fā)人員僅需在查詢定義中引入完善的數(shù)據(jù)字典,即可完成系統(tǒng)定制查詢功能。

1.3 查詢翻譯

數(shù)據(jù)字典中存放視圖和表等數(shù)據(jù)庫服務器端對象信息,也存放其對應的字段信息。從數(shù)據(jù)字典中提取查詢需求(在數(shù)據(jù)庫服務器端以視圖和字段形式表現(xiàn)),動態(tài)生成查詢翻譯界面,翻譯成用戶可理解的語言,包括視圖名和對應字段的翻譯。查詢需求和翻譯的對應關系,即翻譯結(jié)果保存在用戶數(shù)據(jù)字典中。一個用戶數(shù)據(jù)字典表存放視圖、表對象和對應的翻譯信息,比如視圖名、視圖中文名等;另一個用戶數(shù)據(jù)字典表存放對應字段名和中文名。查詢翻譯需要操作存放對象的數(shù)據(jù)字典表和存放對象對應字段的數(shù)據(jù)字典表,對象的約束條件為視圖,存放翻譯結(jié)果的對應兩個用戶數(shù)據(jù)字典表。顯然,查詢翻譯不是給終端用戶用來查詢數(shù)據(jù),而是給了解企業(yè)數(shù)據(jù)庫信息的工作者用來完成查詢設置的,即將數(shù)據(jù)庫中定義的查詢需求信息翻譯成用戶可理解的語言,方便不同語言用戶。

1.4 查詢

查詢翻譯的結(jié)果是供查詢程序使用。查詢程序根據(jù)用戶數(shù)據(jù)字典和用戶選擇的查詢需求動態(tài)生成查詢界面,根據(jù)用戶選擇的查詢需求、字段信息和輸入的查詢條件(字段的精確值、模糊值和范圍),再映射回用戶數(shù)據(jù)字典,構建最終所需的完整SQL語句,輸出查詢結(jié)果。

1.5 查詢結(jié)果處理

對查詢結(jié)果設定匯總和統(tǒng)計功能,完成查詢范圍中數(shù)值型字段的匯總統(tǒng)計,實現(xiàn)查詢結(jié)果和匯總結(jié)果寫入到Excel文件中。

1.6 權限管理

基于角色—用戶—權限進行權限管理,為用戶分配角色,為角色分配查詢項,包括分配查詢對象和查詢字段,不同用戶登錄后能夠查詢不同的內(nèi)容。

1.7 自適應數(shù)據(jù)庫變遷

JAVA的數(shù)據(jù)庫訪問技術JDBC可為不同關系數(shù)據(jù)庫提供統(tǒng)一訪問,通過加載不同的數(shù)據(jù)庫驅(qū)動訪問不同數(shù)據(jù)庫產(chǎn)品,同時將加密數(shù)據(jù)庫鏈接信息寫入配置文件,實現(xiàn)自適應對不同數(shù)據(jù)庫的訪問。通過操作數(shù)據(jù)庫元數(shù)據(jù),獲取數(shù)據(jù)庫產(chǎn)品和版本,獲取不同數(shù)據(jù)庫產(chǎn)品存放視圖和字段的數(shù)據(jù)字典信息。

2 關鍵實現(xiàn)

2.1 表設計

不同數(shù)據(jù)庫產(chǎn)品,數(shù)據(jù)字典表名不同,下面以oracle產(chǎn)品為例說明。數(shù)據(jù)字典表user_objects記錄了數(shù)據(jù)庫對象信息,user_tab_cols記錄了對象與字段的關系及字段類型。用戶數(shù)據(jù)字典表tablename記錄數(shù)據(jù)庫服務器端視圖名和供客戶理解的翻譯信息對應關系,比如中英文對應關系;columnname記錄中英文字段對應關系、字段類型、屬于哪個對象和顯示順序等信息;querycondition記錄用戶常用的查詢,以免重復選擇查詢字段和輸入查詢條件。用戶權限表role、acount、roleaccount和rolepermission用于權限管理,控制用戶查詢權限,權限粒度可到字段。以自定義的部分用戶數(shù)據(jù)表為例說明。

2.2 數(shù)據(jù)庫鏈接

鏈接模塊從界面配置數(shù)據(jù)庫URL信息、從配置文件讀取驅(qū)動名,創(chuàng)建用戶數(shù)據(jù)字典表和權限管理相關表,生成權限管理的Root角色和管理員賬號密碼,為系統(tǒng)作初始化配置。

2.3 查詢自定義

查詢自定義需要Root角色的賬號,功能包括將視圖翻譯成用戶可理解的文字信息和查詢權限管理。程序從user_tab_cols表中取出視圖對象,選擇一個視圖對象時,再從user_tab_cols表中取出對應字段名,動態(tài)顯示在界面上。如果該視圖名和對應的字段名已進行了中英文翻譯,則在界面上顯示相應的中英文翻譯結(jié)果,并可修改,也可設定字段的顯示順序。可以給角色分配視圖和視圖中的字段,用戶的權限可以細化到字段的查詢。

2.4 查詢

用戶登錄后,根據(jù)權限、所選的中文對象名(視圖翻譯)、中文字段名(字段翻譯)和用戶輸入的條件,映射對應的視圖名和字段名,動態(tài)構建SQL語句。根據(jù)tablename中翻譯信息動態(tài)生成查詢需求,根據(jù)用戶選擇的查詢需求和columnname中翻譯的信息動態(tài)生成查詢界面中相應文本框、復選框、標簽和日期等控件;根據(jù)用戶的選擇、輸入和數(shù)據(jù)字典中信息,生成查詢結(jié)果。字段值可精確查詢,也可模式匹配查詢(在文本框前后加上%),也可在一定范圍內(nèi)查詢(在左右文本框中分別輸入值)。也可將經(jīng)常使用的查詢信息命名保存起來,下次直接選擇已有的查詢設置,避免再次選擇和輸入查詢條件。

3 結(jié)語

傳統(tǒng)的查詢模塊與具體應用緊耦合,不同的數(shù)據(jù)庫應用系統(tǒng)需獨立編寫,每次用戶查詢需求變化后都要重新編寫、修改和部署查詢程序。本系統(tǒng)是一個通用查詢工具,能夠自適應數(shù)據(jù)庫的變遷、結(jié)構變化和查詢需求變化,可對任何字段進行條件查詢,權限控制粒度可到每個字段,查詢結(jié)果可統(tǒng)計、可寫入Excel文件,同時具有國際化效果,獨立于具體數(shù)據(jù)庫應用系統(tǒng)。所有變化可通過簡單設置和配置來完成,方便用戶數(shù)據(jù)查詢,是傳統(tǒng)查詢模塊的有益補充。

參考文獻:

[1]王德廣,張軍卒,李文.基于數(shù)據(jù)字典的通用查詢平臺的設計[J].科學技術與工程,2009,9(19):5850-5851.

[2]任慶東,李永盛,袁文翠等.基于元數(shù)據(jù)驅(qū)動的勘探開發(fā)綜合數(shù)據(jù)庫通用查詢系統(tǒng)[J].大慶石油學院學報,2010,34(6):91-92.

[3]江海龍,吳曉東,邵志驊. 公安交通管理信息系統(tǒng)通用查詢統(tǒng)計模型研究與應用[J]. 交通信息與安,2014,32(4):150-151.

(責任編輯:陳福時)

主站蜘蛛池模板: 亚洲av中文无码乱人伦在线r| 国产精品美女网站| 青青操视频免费观看| 久久成人免费| 曰AV在线无码| 亚洲福利一区二区三区| 欧美乱妇高清无乱码免费| 欧洲一区二区三区无码| 国产精品久久久久久搜索| 亚洲一级毛片免费观看| 国产噜噜噜视频在线观看 | 成人午夜免费观看| 丝袜久久剧情精品国产| 手机在线国产精品| 天堂岛国av无码免费无禁网站| 91系列在线观看| 日韩欧美中文字幕在线韩免费 | 亚洲精品视频免费| 99在线视频免费观看| 亚洲大学生视频在线播放| 国产精品久久久免费视频| 精品国产免费观看| 欧美成人一级| 极品国产一区二区三区| 亚洲国产日韩在线观看| 亚洲国产精品一区二区高清无码久久| 欧美亚洲国产精品第一页| 无码中文字幕精品推荐| 毛片基地美国正在播放亚洲| 嫩草国产在线| 欧美一区二区三区欧美日韩亚洲| 亚洲最大情网站在线观看 | 欧美日韩激情在线| 久久精品嫩草研究院| 在线欧美a| 国产美女无遮挡免费视频| 波多野结衣无码中文字幕在线观看一区二区| 激情無極限的亚洲一区免费| 国产乱子伦手机在线| 国产不卡网| 福利片91| 久久狠狠色噜噜狠狠狠狠97视色| 正在播放久久| 亚洲欧洲免费视频| 国产精品偷伦在线观看| 手机在线看片不卡中文字幕| 久久综合成人| 国产视频久久久久| 国产91丝袜在线播放动漫| 五月婷婷丁香综合| 老司机久久99久久精品播放| 欧美成人手机在线视频| 亚洲精品无码专区在线观看 | 日韩欧美网址| 欧美a级在线| 伊人久久婷婷| 日韩精品成人网页视频在线| 波多野结衣一区二区三区四区| 亚洲天堂网2014| 福利视频一区| 精品视频第一页| 精品人妻AV区| 亚洲人成网址| 九色最新网址| 欧美日韩在线成人| 亚洲侵犯无码网址在线观看| 国产爽妇精品| 亚洲国产精品美女| 视频一本大道香蕉久在线播放| 一本色道久久88| 国产精彩视频在线观看| 亚洲色图欧美一区| 亚洲人成网站色7799在线播放| 四虎AV麻豆| 国产一级毛片在线| 国产又色又刺激高潮免费看| 青青草国产一区二区三区| 天天综合网色中文字幕| 蜜芽国产尤物av尤物在线看| 在线精品欧美日韩| 九九精品在线观看| 亚洲人成色在线观看|