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.

(責任編輯:陳福時)

主站蜘蛛池模板: 成年女人a毛片免费视频| 国产成人精品一区二区| 亚洲精品777| 91精品日韩人妻无码久久| 怡春院欧美一区二区三区免费| 国产成人精品高清在线| 国产成人精品免费av| 国产欧美自拍视频| 免费a在线观看播放| 亚洲成人一区在线| 日本午夜精品一本在线观看 | 中文字幕人成人乱码亚洲电影| 国产美女自慰在线观看| 91免费国产高清观看| 中文字幕在线不卡视频| 欧美人与性动交a欧美精品| 亚洲无码在线午夜电影| 日韩精品无码不卡无码| 国产青榴视频在线观看网站| 日韩精品欧美国产在线| 漂亮人妻被中出中文字幕久久| 亚洲AV无码乱码在线观看裸奔| 在线无码私拍| 欧美 亚洲 日韩 国产| 亚洲bt欧美bt精品| 2020国产在线视精品在| 日韩精品一区二区三区免费| 日韩成人在线视频| 高清国产va日韩亚洲免费午夜电影| 波多野结衣无码视频在线观看| 狠狠五月天中文字幕| 亚洲欧美不卡| 激情六月丁香婷婷| 成人欧美日韩| 欧美视频二区| 免费无码网站| 日韩无码一二三区| 亚洲欧美日韩成人在线| 国产亚洲精久久久久久久91| 91年精品国产福利线观看久久 | 91丝袜在线观看| 狠狠色综合网| 国产超碰一区二区三区| 久久人妻xunleige无码| 午夜性刺激在线观看免费| 午夜国产小视频| 国产精品亚洲精品爽爽| 久久中文字幕不卡一二区| 久久人妻系列无码一区| 在线精品视频成人网| 亚洲人成人伊人成综合网无码| 亚洲国产在一区二区三区| 亚洲无码不卡网| 中文字幕资源站| 国产精品视频3p| 99re在线观看视频| 欧美色伊人| 不卡无码h在线观看| 亚洲第一色网站| 亚洲成综合人影院在院播放| 亚洲AⅤ无码国产精品| 亚洲第一成年免费网站| 精品国产毛片| 91伊人国产| 亚洲欧州色色免费AV| 久久国产拍爱| 国产免费久久精品99re丫丫一| 国产无码高清视频不卡| 中文字幕永久在线观看| 亚洲第一综合天堂另类专| 欧美成人午夜视频免看| 国产人成乱码视频免费观看| 亚洲精品成人片在线播放| 久久国产精品电影| 99久久99这里只有免费的精品| 成人亚洲天堂| 亚洲香蕉伊综合在人在线| 久久这里只有精品23| 亚洲中文字幕在线一区播放| 亚洲Av综合日韩精品久久久| www.91在线播放| 国产精品无码翘臀在线看纯欲|