<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      關于數據庫自我描述功能的構思

      關于數據庫自我描述功能的構思

      袁永福 2017-3-21

       

      前言

      筆者正在開發一個應用程序開發支撐平臺。用于對于廣大軟件公司和自主研發軟件的醫院信息科的。平臺做底層功能支撐,開發者就能專心做業務流程開發,幫助他們快速完成應用軟件的開發。而數據庫的自我描述功能就是本開發支撐平臺中的一個功能設想。

      行業痛點

          在應用系統開發中,數據庫結構的管理是一個繁重的工作。一個比較大的軟件產品,包含幾百個數據表、數千個字段,歷經多代程序員的傳承。期間發生了很多數據庫表和字段結構的增刪改操作(DDL操作)。這個時候很容易出現知識的斷檔,會出現文檔和實際數據庫結構不一致的問題,這給廣大程序員帶來諸多困擾。另外在浩瀚的數據庫中找到所需的字段也是一件不容易的事情。

          比如下圖所示:

                             

          這是MS SQL SERVER的數據庫字段設計器的界面。可以定義字段名、數據類型、允許NULL值等基本信息,其實下面還有一個屬性列表來定義更多的信息,不過應該很少人用到。

          不過這些信息實在是太少了。所以才會出現PDM、MS WORD、MS EXCEL等各種格式的文檔來定義數據庫結構。不過文檔是和數據庫分開保存的,兩者沒啥互動,時間久了造成程序猿沒有更新文檔的動力。埋怨前任留下坑的同時自己也在為后來者挖坑。

       

      數據庫自我描述

       

          為此筆者提出了數據庫自我描述的功能的構想。將數據庫結構的描述信息直接保存在數據庫中,并提供一套工具來將兩者緊密的關聯在一起。使得數據庫能自己描述自己,減少對文檔的依賴,增強數據庫對業務的支持,并為一些自動化機制提供支持。

        

          以下是管理工具用戶界面原型。

       

          在這個界面中,左邊是數據庫結構樹狀列表。根節點是若干個數據庫連接對象。每一個數據庫連接對象是獨立。比如第一個是ORACLE,第二個可以是SQL SERVER,第三個是MYSQL。這樣本功能就不僅僅用于公司產品了,也適用于客戶的數據庫管理了。因為一些客戶的系統是萬國系統,各個廠家的軟件的數據庫堆在一起,此時可以采用這種方式進行集中照看。

       

          這個樹狀列表的第二層節點就是各個數據庫中的數據表和視圖了。按照名稱進行排序。

          當用戶點擊數據庫連接節點時,右邊的列表控件列出了該數據庫下所有的數據表和視圖的信息。在這個列表中,對象是分組的,而且數據表和視圖的圖標不一樣。對象所在的組名是可以在對象屬性對話框中維護的。由于能分組,使得幾百個數據表能按照邏輯業務關聯而拆分成多組,降低管理難度。

          這個列表中列出的欄目有:

      名稱:數據表和視圖的原始名稱。該欄目的數據是自動生成的,不能修改。

      記錄個數:該數據表中所有的記錄個數。也就是“Select Count(*) From 表名”的結果。展示出這個列表內容后會后臺延時加載該欄目的數據。該欄目的數據是自動生成的,不能修改。

      標題:也就是對象的中文名。

      說明:對象的更進一步的詳細的說明。

      對應實體類型:程序中和該數據表對應的實體類型的全名??梢宰詣訏呙?,也可以手動修改。

       

          當用戶點擊左邊樹狀列表中的某個數據表或視圖時,右邊列出了該對象所包含的字段信息。其原型如下圖所示:

       

          在這個字段列表中,各個欄目的說明如下:

      名稱:字段的原始名稱。

      字段類型:字段的原始類型。

      允許NULL:字段是否允許為NULL值。前3個欄目是自動解析生成的,是不可修改的。

      標題:也就是字段中文名。

      說明:字段的更詳細的說明。

      擴展數據類型:列出了字段的在軟件中的抽象的數據類型。目前有:

          yyyyMMddHHmmss:表示精確到秒的日期時間數據。很多系統為了擴展性和對各種數據庫的兼容性,不會定義原生態的DataTime格式。而是采用通用的字符串格式來存儲日期時間數據。

          yyyyMMdd:表示精確到天的日期數據。

          HHmmss:表示精確到秒的時間數據。

          Base64:Base64格式的字符串,應該轉換為一個字節數組。

          GUID:GUID格式的字符串。

          還有其他應用系統自定義的擴展數據類型。

      在這個列表界面中,對于不同的字段類型,比如主鍵、索引、外聯字段等,其圖標是不一樣的。

       

          數據庫字段賦予應用系統可以解釋的擴展數據類型,這提高了數據庫的自我描述性。增強了數據庫的機器可讀性和人類可讀性。

       

          在這個主界面中的工具條按鈕功能說明如下: 

      新增數據庫連接:彈出空白的數據庫連接屬性對話框,讓用戶輸入數據庫連接信息來新增數據庫連接對象。

      刪除數據庫連接:刪除當前選中的數據庫連接節點。

      刷新:不保存而重新加載數據。如果數據被用戶修改了,則提示用戶是否保存數據。

      屬性:顯示屬性對話框。如果樹狀列表獲得焦點則顯示當前節點的屬性對話框,如果列表控件獲得焦點則顯示當前列表項目的屬性對話框。

      保存:保存設置。

      查找:輸入一個關鍵字,查找指定的表或者字段對象。查找范圍包括對象的名稱、標題和說明。

      導入PDM:打開一個PDM的XML文件對話框,然后導入PDM中的設計信息到當前數據庫連接下面的表和字段。

      導出HTML文件:導出當前數據庫連接下所有的表和字段信息到一個本地HTML文件中。也就是自動生成數據庫的API文檔。

       

          點擊工具條的屬性按鈕,會彈出對象屬性對話框,對于數據庫表對象,彈出的對話框界面原型如下:

       

       

          對于字段,彈出的屬性對話框界面原型如下:

       

          在這個界面中,點擊“編輯列表內容對話框按鈕”則彈出如下所示的對話框:

       

      點擊“列表來源對話框按鈕”,則顯示如下所示的對話框:

       

      該對話框顯示了系統中所有預定義的字典項目。

      用戶點擊“顯示校驗格式對話框按鈕”,則顯示如下所示的對話框:

       

      用戶點擊“顯示格式對話框按鈕”,則顯示如下對話框:

       

       

          經過上述界面的編輯維護,軟件將產生一些配置信息,這些配置信息就存在數據庫的特定表中。這樣就實現了數據庫結構的自我描述。另外能為某些自動化的操作來提供支持。

      比如在下面的表單設計界面:

       

          右邊列出了所有可用的字段,用戶可以將字段拖拽到模板中來自動生成和字段關聯的輸入域元素。如果沒有數據庫的自我描述,則需要設置輸入域的背景文字、顯示寬度、前面的標題文本、內容校驗規則等等。如下圖所示,需要在右下角的屬性列表中做不少操作。

       

       

          如果有了數據庫的自我描述,則可以自動設置。如果整個系統中有100處需要引用“UserName”字段,則只要進行一次字段自我描述定義,則能省掉其他99次的類似操作。實現“一次配置,到處使用”的功能。提高數據庫的自我描述的應用價值。

          另外可以由系統管理員來預先設置好數據庫的自我描述,這樣降低了模板制作人員的使用難度,使得不是很懂計算機的普通用戶也能修改模板,幫助實現“全民參與信息化建設”。

       

      posted on 2017-03-22 09:28  袁永福 電子病歷,醫療信息化  閱讀(879)  評論(0)    收藏  舉報

      導航

      主站蜘蛛池模板: 最新国产精品中文字幕| 欧美亚洲另类制服卡通动漫| 国产精品久久毛片| 萍乡市| a男人的天堂久久a毛片| 激情综合色综合啪啪开心| 91精品国产老熟女在线| 精品国产人妻一区二区三区久久| 亚洲gv猛男gv无码男同| 日韩有码国产精品一区| 粉嫩av蜜臀一区二区三区| 中文字幕精品亚洲二区| 亚洲欧美在线观看一区二区| 久久精品国产亚洲av麻豆长发| 日韩卡1卡2卡三卡免费网站| 成全我在线观看免费第二季| 婷婷综合亚洲| 黑人巨茎大战欧美白妇| 亚洲av一本二本三本| 亚洲 小说区 图片区 都市| 日本高清日本在线免费| 国产中文字幕日韩精品| 欧美大bbbb流白水| 高清无码爆乳潮喷在线观看| 国内精品久久人妻无码不卡| 国产在线午夜不卡精品影院| 亚洲日本韩国欧美云霸高清| 在线播放亚洲成人av| 色一情一区二区三区四区| 国产91精品调教在线播放| 亚洲天堂av在线免费看| 亚洲中文字幕无码爆乳APP| 国产成人精品av| 国产一区二区三区美女| 亚洲av成人三区国产精品| 久久99国产精一区二区三区!| 亚洲精品麻豆一二三区| 99久久激情国产精品| 五月婷久久麻豆国产| 亚洲人成网站18禁止无码| 亚洲 欧美 综合 另类 中字|