數據字典生成工具之旅(2):數據字典生成工具及文檔工具做用介紹

       上一篇介紹完了整個架構和功能,這一篇將更加詳細介紹功能和操做,將會以實際例子幫助理解!(預告:下一篇正式進入實現原理講解)html

開始使用工具

        平常工做你是經過什麼工具來建立表的呢?架構

        1.經過SqlServer自帶的新建表的功能實現,或者直接寫Create Table(.....)語句。能更加便捷的方式建立嗎?這樣建立的表便於後續維護和學習嗎?ide

        2.經過PowerDesign建立表,很直觀,而後導出表的建立語句。模擬一下作學生信息管理系統,則須要建立一個學生信息表(Student)svn

       

          再看看導出的SQL 工具

if exists (select 1
            from  sysobjects
           where  id = object_id('Student')
            and   type = 'U')
   drop table Student
go

/*==============================================================*/
/* Table: Student                                               */
/*==============================================================*/
create table Student (
   Name                 nvarchar(20)         null,
   Code                 nvarchar(30)         null,
   Sex                  bit                  null,
   constraint PK_STUDENT primary key ()
)
go

 

       先刪除表再建立表(若是是後來在學生信息表加了性別字段,這樣已執行原先表裏面的數據全都被幹掉了),字段的中文含義也沒有生成,不便於後續維護。學習

       3.可不能夠經過EXECL或者WORD更加經常使用的文檔來生成呢?測試

工具全景圖

        1.數據字典生成工具spa

         第一步:在EXECL,PowerDesign,Word中設計好表結構(特別注意:EXECL,WORD表的格式要固定成和模版一致才能正確生成)。看下EXECL和WORD模版的格式設計

        

         

             模版文件能夠從安裝程序目錄下的「測試模版」下,本身能夠複製出來進行操做。

            再看看經過工具生成SQL

           

            咱們先以新增模式生成表,而後再看看修改模式生成(自動識別模式會根據表的字段在數據庫中是否存在,作爲判斷基礎,存在則會用修改模式不然新增模式)

            新增模式SQL      

/*---------------------------數據字典生成工具(V2.0)--------------------------------*/
GO
IF NOT EXISTS(SELECT 1 FROM sysobjects WHERE id=OBJECT_ID('[Student]'))
BEGIN
/*==============================================================*/
/* Table: Student                                              */
/*==============================================================*/
CREATE TABLE [dbo].[Student](
    [StudentGUID] uniqueidentifier   ,
    [Name] varchar(40)   ,
    [Code] varchar(40)   ,
    [Sex] tinyint   ,
    PRIMARY KEY(StudentGUID)
)
    

declare @CurrentUser sysname
select @CurrentUser = user_name()
execute sp_addextendedproperty 'MS_Description', '學生信息表','user', @CurrentUser, 'table', 'Student'
execute sp_addextendedproperty 'MS_Description', '學生信息GUID','user', @CurrentUser, 'table', 'Student', 'column', 'StudentGUID'
execute sp_addextendedproperty 'MS_Description', '姓名','user', @CurrentUser, 'table', 'Student', 'column', 'Name'
execute sp_addextendedproperty 'MS_Description', '編號','user', @CurrentUser, 'table', 'Student', 'column', 'Code'
execute sp_addextendedproperty 'MS_Description', '0:男  1:女','user', @CurrentUser, 'table', 'Student', 'column', 'Sex'

END
GO

      在數據庫執行,後續需求變更了須要在Student表裏面新增一個年級的字段,咱們如今以前的模版上面加上該字段

    從新使用工具,切換到修改模式生成(特別提醒:修改模式是須要鏈接數據庫的,須要進行對比找出新增的字段)。能夠看到找出了剛纔新增的Grade字段了,如今在數據庫裏面執行。

/*---------------------------數據字典生成工具(V2.0)--------------------------------*/
GO
IF NOT EXISTS(SELECT 1 FROM syscolumns WHERE id=OBJECT_ID('[Student]') AND name='Grade')
BEGIN
    ALTER TABLE [dbo].[Student] ADD [Grade] varchar(40)       
    declare @CurrentUser sysname
    select @CurrentUser = user_name()
    execute sp_addextendedproperty 'MS_Description', '年級','user', @CurrentUser, 'table', 'Student', 'column', 'Grade'
END
GO

  來查詢一下該表信息,標紅部分着重注意,發現沒鼠標放上去表和字段的中文含義就提示出來了,你還須要爲不懂表和字段含義而操心嗎,後續維護是否是更方便了呢?

 

                           

        2.文檔生成工具

         上面咱們已經建立好了學生信息表,又來了個需求此次咱們須要和公司的其它部分進行交互了,他們須要一個表結構信息的文檔,你會怎麼處理呢?又或者是你的部門來了新同事,怎麼讓他迅速瞭解整個系統

   和學習表結構呢?文檔生成工具能解決你的問題。

        

       能夠看到經過系統和時間過濾出了剛建立的學生信息表,而後導出Word或者Html格式的文檔

     

           整個演示過程完畢了,回顧一下。首先咱們經過在EXECL或者WORD裏面添加學生信息表,而後經過數據字典生成工具生成了該表的建立語句,模擬了需求修改須要加字段的場景。後續則是須要傳遞信息了,這個時候文檔生成工具就派上用場了,經過文檔工具能夠生成WORD或者HTML版的數據庫結構設計說明書,是否是傳遞更加方便了呢。

           本章到這裏就要結束啦,若是你以爲對你有幫助請記得點贊哦,下篇正式進入實現細節,會帶你學到更多知識哦!

工具源代碼下載

      目前總共有通過了七個版本的升級,如今提供最新版本的下載地址

數據字典生成工具V2.0安裝程序 最新安裝程序
數據字典生成工具源代碼 最新源代碼
http://code.taobao.org/svn/DataDicPub SVN最新源碼共享地址

學習使用

      若是你使用了該工具,或者想學習該工具,歡迎加入這個小組,一塊兒討論數據字典生成工具、把該工具作的更強,更方便使用,一塊兒加入147425783 QQ羣

      更多數據字典生成工具資料請點擊數據字典生成工具專題

 

相關文章
相關標籤/搜索