SQL Server中生成測試資料

2021-09-06 05:03:10 字數 1904 閱讀 4978

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

1.手動編輯

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

2.寫程式&t-sql語句進行插入

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

比如對乙個表生成1000條資料我可能就需要寫這麼多t-sql:

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

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

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

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

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

在vs2010建立資料庫專案,新增sql server 2008資料庫專案,然後新增資料生成計畫:

在vs2010中建立資料庫連線,新增新項,在資料生成計畫中,可以看到這兩個表了:

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

下面,我為employee表的幾個列資料進行指定,name列,我指定最小長度為4,最大長度為6.gender列只允許有兩個值,男和女.而email按照正規表示式,生成符合email位址規範的值:

性別列指定只有男和女

郵件列指定郵件的正規表示式

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

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

在ssms中檢視資料:

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

ios 中生成隨機數

ios 有如下三種隨機數方法 1.srand unsigned time 0 不加這句每次產生的隨機數不變 int i rand 5 2.srandom time 0 int i random 5 3.int i arc4random 5 注 rand 和random 實際並不是乙個真正的偽隨機數發...

ios 中生成隨機數

ios 有如下三種隨機數方法 1.srand unsigned time 0 不加這句每次產生的隨機數不變 int i rand 5 2.srandom time 0 int i random 5 3.int i arc4random 5 注 rand 和random 實際並不是乙個真正的偽隨機數發...

ios 中生成隨機數

原文 ios 有如下三種隨機數方法 1.srand unsigned time 0 不加這句每次產生的隨機數不變 int i rand 5 2.srandom time 0 int i random 5 3.int i arc4random 5 注 rand 和random 實際並不是乙個真正的偽隨...