SQL Server中產生測試資料

來源:互聯網
上載者:User
簡介

     在實際的開發過程中。很多情況下我們都需要在資料庫中插入大量測試資料來對程式的功能進行測試。而產生的測試資料往往需要符合特定規則。雖然可以自己寫一段程式來進行插入資料,但每一個項目就寫一個插入資料的程式並不明智。本文主要介紹使用VS2010的資料產生計劃在SQL Server中產生測試資料。

 

產生測試資料的方法

     1.手動編輯

          在開發過程中,非常少量的資料可以手動插入。這個方法的缺點可想而知….插入100條資料就夠你忙乎一上午了。

 

    2.寫程式&T-SQL語句進行插入

             這個缺點也是顯而易見的,開發效率同樣底下。對於再次開發不同的程式時,程式需要修改或者重寫。甚至對於每一個表就要寫一段代碼,並且產生的資料靈活性並不高!

         比如對一個表產生1000條資料我可能就需要寫這麼多T-SQL:

       

        可以看出,這種方法不僅麻煩,產生的測試資料也可能不符合我們需要的。

 

      3. 使用已經上線的系統的資料

          嗯,這個方法貌似不錯.簡單容易,資料量足。但先拋開新系統或完全不同的系統資料表結構改變可能無法使用已經上線的資料這個因素之外。拿客戶的商業資料進行測試..這個也太沒節操了吧……

 

使用VS2010的資料產生計劃來產生測試資料

     VS2010提供的資料產生計劃是一個強大的工具。它可以高效的產生測試資料,其中內建的資料建置規則可以很容易的讓我們實現產生所需資料。下面來看一個實際的例子:

     為了簡便起見,所產生的資料的構架只有兩個表(員工表和部門表),用外鍵串連:

   

      在VS2010建立資料庫專案,添加SQL Server 2008資料庫專案,然後添加資料產生計劃:

   

    在VS2010中建立資料庫連接,添加新項,在資料產生計劃中,可以看到這兩個表了:

   

    通過指定列的屬性,我可以調整我所產生的資料的規範:

   

    下面,我為Employee表的幾個列資料進行指定,Name列,我指定最小長度為4,最大長度為6.Gender列只允許有兩個值,男和女.而Email按照Regex,產生符合Email地址規範的值:

   

    性別列指定只有男和女

   

    郵件列指定郵件的Regex

    在資料產生計劃中,VS2010提供的強大功能還有外鍵約束產生資料。上面兩個表中,假設公司有1000名員工,有10個部分,對應的每產生一個部門資料則產生100個員工資料,我可以在“相關表”和“相關表設定裡進行”:

   

    一切準備就緒後,我可以通過按F5產生資料:

  

   在SSMS中查看資料:

   

    可以看到,資料基本符合我所需要產生的資料

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.