幾位工程師在開發專案超過一年後,給我一個結論:T-SQL該功成身退了。這個曾經加強SQL Server 資料庫功能的老舊語言該被取代了。

為什麼他們會下這樣的結論呢?主要的原因是:

  1. CLR整合進SQL Server 2005
  2. LINQ
  3. 缺乏創新的T-SQL

CLR整合進SQL Server 2005
從2000年到2005年,微軟花費相當多的資源將CLR以及.NET Framewrok整合至SQL Server 2005 裡。現在你可以使用VB.NET或C#去產生觸發程序,預存程序、自訂函數、custom data tpyes,以及custom aggregates。微軟花費相當多的心力確保在SQL Server裡CLR有很好的執行效能。

LINQ
微軟目前在研發LINQ(Language Integrated Query),一種結合database-style 以及OOP 語言(物件導向語言,像是VB.NET和C#)的技術。你可以在VB.NET和C#語言上利用LINQ加入queries 去讀取資源來源像是資料庫、物件以及XML。最棒的是,它還有提供工具以及語法去處理multiple heterogeneous data source。有關更多LINQ的資訊,可以翻翻Mar/Apr 2006那期的CoDe magazine。但可惜的是,我認為LINQ並不會加在開發代號為"Orcas"的下一版Visual Studio。

缺乏創新的T-SQL
最後也是最重要的就是T-SQL這語言缺乏創新。這五年來,T-SQL的進步相當少。當T-SQL已經擁有使用者自訂函數、例外處理以及更多的SQL能力,但語言上的改變卻相當少。它仍然只是個程序性語言和笨重的傢伙。T-SQL需要提供OOP的架構像是classes、properies、methods等等。

結論
由以上三點可知,T-SQL需要結構上以及工具的更新。其中一個選擇是將T-SQL加進物件導向功能或是由LINQ和CLR結合,來取代現行SQL上的語言。

原文網址:(需有EPS帳號才能閱讀完整版)
http://www.code-magazine.com/Article.aspx?quickid=0607011

arrow
arrow
    全站熱搜

    卑微研究生 發表在 痞客邦 留言(0) 人氣()