上一篇介紹完了整個架構和功能,這一篇將更加詳細介紹功能和操做,將會以實際例子幫助理解!(預告:下一篇正式進入實現原理講解)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羣。
更多數據字典生成工具資料請點擊數據字典生成工具專題。