資料字典生成工具及文件工具作用介紹

Bacer發表於2021-09-09

開始使用工具

        日常工作你是透過什麼工具來建立表的呢?

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

        2.透過PowerDesign建立表,很直觀,然後匯出表的建立語句。模擬一下做學生資訊管理系統,則需要建立一個學生資訊表(Student)

        圖片描述圖片描述

          再看看匯出的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.資料字典生成工具

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

         圖片描述

          圖片描述

             模版檔案可以從安裝程式目錄下的“測試模版”下,自己可以複製出來進行操作。

            再看看透過工具生成SQL

            圖片描述圖片描述

            我們先以新增模式生成表,然後再看看修改模式生成(自動識別模式會根據表的欄位在資料庫中是否存在,做為判斷基礎,存在則會用修改模式否則新增模式)

            新增模式SQL      

圖片描述

/*---------------------------資料字典生成工具(V2.0)--------------------------------*/GOIF 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 sysnameselect @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'ENDGO

圖片描述

      在資料庫執行,後續需求變動了需要在Student表裡面新增一個年級的欄位,我們現在之前的模版上面加上該欄位
圖片描述

    重新使用工具,切換到修改模式生成(特別提醒:修改模式是需要連線資料庫的,需要進行對比找出新增的欄位)。可以看到找出了剛才新增的Grade欄位了,現在在資料庫裡面執行。


/*---------------------------資料字典生成工具(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

  來查詢一下該表資訊,標紅部分著重注意,發現沒滑鼠放上去表和欄位的中文含義就提示出來了,你還需要為不懂表和欄位含義而操心嗎,後續維護是不是更方便了呢?

  圖片描述圖片描述

                           

        2.文件生成工具

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

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

        圖片描述圖片描述

       可以看到透過系統和時間過濾出了剛建立的學生資訊表,然後匯出Word或者Html格式的文件

      圖片描述圖片描述

           整個演示過程完畢了,回顧一下。首先我們透過在EXECL或者WORD裡面新增學生資訊表,然後透過資料字典生成工具生成了該表的建立語句,模擬了需求修改需要加欄位的場景。後續則是需要傳遞資訊了,這個時候文件生成工具就派上用場了,透過文件工具可以生成WORD或者HTML版的資料庫結構設計說明書,是不是傳遞更加方便了呢。

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

回到頂部

工具原始碼下載

      目前總共有經過了七個版本的升級,現在提供最新版本的下載地址

資料字典生成工具V2.0安裝程式 最新安裝程式
資料字典生成工具原始碼 最新原始碼
SVN最新原始碼共享地址

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2768/viewspace-2800855/,如需轉載,請註明出處,否則將追究法律責任。

相關文章