微軟於3月15日資料庫程式開發日中發表Visual Studio 2005的新組件—Team Edition for Database Professionals。將資料庫管理納入開發工具的整合環境中,協助開發人員進行自動化資料庫架構(Schema)與內容的比對、自動產生合理的測試資料、快速產生單元測試程式碼,幫助企業縮短開發整與測試的時程。僅需半小時,開發人員就能上手,完成過去耗時的資料庫版本控管與測試資料建置。

VS2005的新組件,可讓開發環境對資料庫異動的追蹤自動化,使開發人員更易控管資料庫的版本,可減少維護工作的負荷。目前支援SQL Server 2000和SQL Server 2005。

臺灣微軟開發工具暨平臺推廣處產品行銷經理胡德民指出:「過去開發時,你不曉得這個欄位被哪些程式使用,資料庫能增不能減,越長越肥。開發需求又常變更,開發人員來來去去。欄位名稱異動時,要花很多時間檢查哪些程式碼要一併修改。常常在開發完成要上線DEMO時,才發現上線環境的資料庫結構與開發環境不一致,導致程式無法執行。」

胡德民表示:「Team Edition for Database Professionals正是為資料庫開發人員與資料庫管理人員所設計,協助解決這些大型專案中,資料庫與程式碼對應問題,以及資料庫維護問題。」

對開發人員而言,能直接在VS2005中進行資料庫架構與內容的差異比對,的確有助於多資料庫間的整合。臺灣微軟特約資深顧問與MVP楊志強認為:「VS2005的資料庫版本控管,適合兼具開發與資料庫管理雙重角色的開發人員、上線系統與開發系統並存的整合環境,或者多人多組開發團隊共享資料庫的開發環境」。

開發人員可於VS2005中直接載入後端資料庫架構,建立離線資料庫,可降低開發過程直接存取線上資料庫的異動風險。開發過程需資料庫異動時,可先行於離線資料庫中處理,待階段性工作完成時,再將最後的資料庫結構更新至線上資料庫中。開發時,如果線上資料庫被其他開發人員異動,也可藉由資料庫架構比對功能,將異動情形更新回離線資料庫中。

資料庫架構每次異動,都需check in到Team Foundation Server中,以便進行資料庫的版本控制。若無Team Foundation Server,亦可將資料庫架構存檔,置入現有程式碼版本控管系統中管理,可達到同樣的控管作用。

楊志強指出:「過去只能藉由資料庫備份,來進行資料庫架構的版本控制,遇到資料表欄位異動時,要進行資料庫架構的部分回復非常麻煩。現在VS2005很容易可以解決這個問題。」他當場展示離線資料庫架構要更新回線上資料庫時,VS2005所提供的資料庫架構差異預覽功能,能從比較表中看出兩個資料庫整合時所需的異動操作。

此外,也可針對兩個資料庫的內容進行差異比對,楊志強補充:「半小時就能上手,資料庫管理人員會發現只需幾個滑鼠動作就能找出兩個資料庫間的資料異動差異,對維護既有線上資料庫,也很有幫助。」

除資料庫變更管理外,新組件還提供資料庫重構(Refactoring)功能,來處理專案作業與資料庫變更的整合。資料庫欄位名稱變更時,VS2005可透過重構功能,預覽相關連的SQL語法變更,或專案中所有相依物件,套用變更後也可全數復原。重構後的單元測試,VS2005可自動產生程式碼,節省撰寫前端程式碼的時間。

國內已有企業開始試用,預期對開發階段助益較大。考慮資料庫管理人員的轉換成本,不會馬上導入。長期使用微軟解決方案的廣達電腦管理資訊中心王嘉寧副理表示:「已開始測試VS2005 Team Edition for Database Professionals的功能,資料庫版本控制功能對開發階段較有助益……,我們經常要為內部ERP系統與客戶系統間的電子資料交換,開發自動交換與客製化結果報表的小型專案,平均每個小型專案僅有一個半月的開發時程。小型專案的開發團隊中,不會安排資料庫管理人員。通常是開發完成時,才與上線資料庫管理人員作溝通,資料庫架構的比對功能就很有幫助。」但他接著表示:「雖然廣達開發人員遍佈兩岸三地,實際上,開發整合溝通需求不高,對該組件的整合效果,持保留的態度。」

談及導入的考量,王嘉寧認為:「主要考量不是軟體成本,而是資料庫管理人員的教育訓練成本,資料庫維護人員還是熟悉既有SQL操作環境,要訓練他們使用Visual Studio,意願不高。」資料庫系統資深開發人員也同意:「現在的開發環境,是從公司的角度設計,對習慣單兵作戰的開發人員而言,會有一些工具轉換的阻力」。

後期系統測試時,VS2005 Team Edition for Database Professionals能自(文轉下頁)動產生大量合理有意義的測試資料,可節省開發測試的時間。楊志強表示:「資料庫開發時,若要考慮資料表之間的欄位關連來產生大量測試資料,非常麻煩。現在只需設定好資料條件,VS2005就能自動依資料表關連,建立測試資料。開發人員可按實際資料特性設定產生條件,例如金額大小、日期、資料格式等,也可以套用如指數分配、常態分配等資料分配方式,產生更貼近實際使用的模擬數據」, 王嘉寧表示:「廣達經常要面對客戶對系統開發的查核,需要很快提供系統壓力測試的結果,自動產生測試資料的功能可以節省不少時間。」

相較於其他資料庫版本控管工具而言,微軟胡德民表示:「Team Edition for Database Professionals目前僅支援MS SQL Server。」雖然無法支援其他資料庫系統是VS2005的限制,但介面整合是優勢。資料庫系統資深開發人員即指出:「雖現在已經有相當優異的控管工具,例如:DeZign for Databases,除能支援多種資料庫系統外,價格也相對便宜。但是,微軟的VS2005 Team Edition for Database Professionals,可即時進行資料庫架構的比較,無須產生資料庫架構描述文件後再比對,程序上較方便。開發人員已熟悉VS2005的操作介面,在臺灣小公司中,專案人員多半同時兼具開發與資料庫管理的角色,整合在同一套工具中的方便性,會是影響採用的重要考量。」

Visual Studio未來將納入新一代資料存取技術Language Integrated Query(LINQ)。臺灣微軟開發工具暨平臺推廣處的應用架構技術經理李匡正表示:「在下一代ADO.NET版本中,針對程式語言與資料庫的物件導向對應解決方案,微軟目前提供兩套解決方案,在程式語言層級提供LINQtoSQL,可在編譯時檢查語法,但僅支援MS SQL。而在.NET Framework層級會提供ADO.NET Entity Framework,可支援其他資料庫系統」,他也現場示範LINQtoSQL,只需透過物件拖曳與不到十行程式的屬性設定,即可進行資料庫的新增、查詢與異動操作。李匡正表示:「LINQ有助於提高程式可讀性。效率上,以查詢為例,由於每一筆資料都是物件,都會執行一個SQL Select指令,相較於傳統一次Select指令就能查詢所有資料,大量查詢資料時,LINQ對伺服器的負載較高」,.NET Framework下一代版本(代號Orcas)3月份發佈的技術預覽版本中,已經新增了LINQtoSQL的設計工具。文⊙王宏仁


新一代資料存取技術LINQ

LINQ讓開發人員在.NET平臺中,用同一套通用語法直接存取各種資料來源。LINQ可跨越資料查詢與程式語言的區分,讓C# 3與VB9在程式語言語法中整合查詢與資料轉換的能力。下一代Visual Studio (代號:Orcas)將納入LINQ。2007年3月釋出的RTP版本中,已可用通用語法查詢資料庫, XML, 記憶體中物件, Web Services等資料,查詢語法中可新增運算元或方法。此外也新增LINQ的SQL設計工具,可用視覺化方式設計資料庫的物件導向對應。文⊙王宏仁

熱門新聞

Advertisement