﻿# 推薦好用工具：Data Dictionary Creator

今天要介紹的工具是 [Data Dictionary Creator](http://www.codeplex.com/datadictionary) (DDC)，是一個簡單又實用的工具，他可以幫你的 SQL Server 中的資料庫每一個表格、欄位做註解，註解寫完之後是直接儲存在 SQL Server 中的「擴充屬性」中，然後可以直接輸出完整的資料庫結構說明文件（包括 Word, Excel, Xml, Html, T-SQL 等），如果覺得不夠還可以自己擴充，因為這軟體是在 [CodePlex](http://www.codeplex.com/) 上的一個開放原始碼專案。

![Data Dictionary Creator](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/2a2682bc23ed3d33a00c-image_9.png) 

大家應該都知道在設計 SQL Server 資料表的時候每個欄位都有個屬性叫做「描述」，可以說明該欄位是做什麼用的：

![image](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/608965b56ff0ade6e606-image_3.png)

這個欄位的值其實是儲存在該欄位的「擴充屬性」裡，其屬性名稱是 MS\_Description

![這個欄位的值其實是儲存在該欄位的「擴充屬性」裡，其屬性名稱是 MS\_Description](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/5716adc007a8eab43c51-image_6.png)

我曾經在之前也寫過一篇[SQL Server Management Studio 表格設計技巧](/post/2008/01/26/SQL-Server-Management-Studio-Table-Design-Tips)，建議各位可以去看看。

而 Data Dictionary Creator 就是靠著擴充屬性的自訂，將所有可註解的訊息全部紀錄在資料庫中，除了預設的 Description 欄位外，你還可以自訂其他的擴充屬性，讓你在 Document Database 頁籤的畫面中輸入。

例如說：你可以在 Advanced Settings 的 Document Additional Properties 輸入「UI 輸入說明」

![在 Advanced Settings 的 Document Additional Properties 輸入「UI 輸入說明」](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/768bf65e43b1f5189569-image_12.png)

之後再進入 Document Database 頁籤就會馬上看到「UI 輸入說明」的欄位：

![再進入 Document Database 頁籤就會馬上看到「UI 輸入說明」的欄位](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/267a3ad51b5c43be679b-image_15.png)

最後再到 Export Documentation 就可以輸出文件：

![到 Export Documentation 就可以輸出文件](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/45eb710934abe5fe94e4-image_18.png)

之後你再選取你要輸出的格式即可：

[![選取你要輸出的格式](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/c739a4b8d0c13bc05b4a-image_thumb_7.png)](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/0d85c0ba371b8931f4e0-image_22.png)

這樣你就可以立即獲得一份完整的資料庫表格欄位說明文件了，而且不用再維護「離線的文件」，任何資料庫欄位有變更，只要用這軟體編輯一下就可以匯出新的文件了，且最新資訊永遠留在資料庫中，真的是個很理想的文件撰寫模式。

除此之外，還可以將之前匯出的 XML 檔案手動編輯之後重新匯入資料庫，直接覆蓋掉現有資料庫中的擴充屬性。

![可以將之前匯出的 XML 檔案手動編輯之後重新匯入資料庫，直接覆蓋掉現有資料庫中的擴充屬性](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/c81721d102ac20c18414-image_25.png)
