2011年10月20日 星期四

分享程式開發設計案裡,如何快速建置資料表,提昇你的工作效率

image
這是一個一般程式設計師不願說的秘密…DNOWBA不藏私…這裡分享一下我的建置心得,哈哈,這個開頭有點自以為是,其實也不是什麼太大的秘密,只是我自已開發的心得…以往自已在整個開發的過程裡面,我自已認為最沒有效率的就是這一段:資料設計和實現。

不管是WEB FORM 或是WINDOWS FORM開發案,開發前的資料庫設計或分析完成後,我們有時要將資料庫設計草案提供給客戶;抑或是純綷的程式設計教學,需要把資料表內容呈現給學生…

最早的時候我都是在EXCEL上寫(DNOWBA相信很多人都有這個經驗)。但這有一個壞處就是當我們要實際建置專案時,又得手動在資料庫上面建置一次。

最惱人的地方就是在建置過程中如果要修改哪一個欄位的型別,還要做二次以上…打個比方,如果我要在某個資料表建三個欄位如下圖(別職業病的分析下面的資料欄位設計的好不好,這只是舉例):

欄位名稱 資料型別 允許NULL 註解
ID INT X 自動編號/識別 Identifier
文章內容 varchar(500) X 本文內容
文章回應 varchar(500) V 本文的回應內容
並了讓大家能感受到效率的明顯提昇,我先用以下二個常用的建置資料表的工具讓大家能夠比較一下。

以前我以MS SQL SERVER搭配Visual Studio建立資料庫,好處是和程式設計都在同一個管理介面下,只要切換頁籤(不用切換整個視窗)就可以建立資料表…

(註:我已經喪失了直接用指令碼方式寫的能力了,現在手邊一定要有一本SQL參考字典才會寫,該死的我背不起來了,上一次手動寫資料表是什麼時候我早忘了,所以這邊的一般就是用UI套進去的方式)

  1. 我們先在伺服器總管下連結資料庫,然後加入新的資料表
    image
  2. 再照著你的資料表設計把資料建到實際的資料表中
    • 建立第一個欄位,ID的時候,設定主索引鍵要右鍵滑鼠→左鍵確定…(注意到了嗎,工具列上也是有一個PK按鈕,而建立其他的KEY則還是要右鍵、左鍵的押。)
      image
    • 上面三個欄位有的允許NULL有的不行空值,所以又要手動按Checkbox…多這麼一下也累。
    • 資料型別的部分,我特別分享一下,通常我會先建好資料行名稱,然後資料型別的部分最後做,同一類型的一次用複製貼上的方式,若是要大量建置資料行的話,絕對能提昇不少速度。
    • 比較不好在Visual Studio上面做的就是建立資料行屬性的地方,像「識別規格」就要按很多次(先展開,然後在"識別規格" 下的 "(Is Identity)" 做一次 Double Click 讓設定值變成 "是")。另外「描述」「預設值」這些常用的到資料行屬性在填寫時個人感覺也不很方便。
      image

      image


後來我用MS SQL SERVER搭配SQL Management Studio…可以解決上面「資料行屬性」不好操作的問題

  1. 這個方法是偶然一次使用「資料庫圖表」中發現的…SQL Server裡的「資料庫圖表」有別於我們使用「資料表」,他的主要功能是視覺化建立關聯的資料表。所以在新增資料庫圖表時,預設是讓你選擇「現有」的資料表來建立關聯。
    image
  2. 但意外的是,其實它提供的功能中,也可以「新增資料表」。下圖是他呈現的視窗,感覺他的欄位平白無奇,但是資料庫圖表卻額外提供了「資料表檢視」的選項
    image

    資料表檢視中,預設是「標準」檢視,就如上圖中只有「資料行名稱」「資料類型」「允許null」三個欄位,我們可以「修改自訂」要顯示的欄位
    image

    如下圖,自訂的欄位非常的多,我們可以把常用會輸入資料的欄位一次呈現在視窗中。
    image

    這樣輸入資料就方便一點點了
    image

但是…這樣子還是解決不完我的問題,我更想同步給客戶的資料表設計案以及資料庫實際建檔這二邊的內容,不管我更改那一邊的檔案,都能輕輕鬆鬆的只要幾個小動作…好久以前有陣子習慣用EXCEL來寫資料表設計,DNOWBA為了應付上面這些瑣碎的事情,索性又在EXCEL上把SQL指令和上頭寫的資料表用字串的方式串在一起,然後用複製的把指令給貼到SQL上頭去執行…超白痴的…後來我還是用了第三方的軟體 (喔,「第三方軟體」這個詞對我來說超貼切…dnowba除非必要,不然我可以寧死也不會碰除了Microsoft、Google 以外的第「三」方軟體的…我連剪圖都是用微軟的onenote在做的…),我只能說底下要介紹的軟體超經典,完全解決我的需求。


Data Dictionary Creator,資料庫設計不可或缺的好幫手…

怎麼利用Data Dictionary Creator連接資料庫的過程我不多說,和一般的AI大同小異,這個軟體的主要功能是補足微軟在設計資料表「資料描述」的不足
image

他好用的地方是可以在為資料表每個欄位做註解以後,重要的是可以直接輸出完整的資料庫結構說明文件(包括 Word, Excel, Xml, Html, T-SQL 等)
image

另外我們還可以匯入XML、TSQL格式來同步資料表,我還沒有匯入的實例,因為透過Data Dictionary Creator的界面來更新資料表欄位描述我已經覺得相當夠用了。

個人最愛的一個地方,在於我們還可以自已加其他的描述欄位(例如,可以自訂一個 UI 註解供網頁美工人員看一下你資料表設計的條件,然後直接把這個條件顯示在WEB裡,資料表設計師自已填說明,才比較不會雞同鴨講…),他會直接儲存在 SQL Server 中的「擴充屬性」中,給程式設計師看的、看客戶看的資料設計表一次到味。
image

image

沒有留言:

張貼留言

Related Posts Plugin for WordPress, Blogger...
// Dnow Function