溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

SQL Server中怎么生成測(cè)試數(shù)據(jù)

發(fā)布時(shí)間:2021-08-19 10:22:53 來(lái)源:億速云 閱讀:125 作者:chen 欄目:數(shù)據(jù)庫(kù)

本篇內(nèi)容介紹了“SQL Server中怎么生成測(cè)試數(shù)據(jù)”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

簡(jiǎn)介

在實(shí)際的開發(fā)過(guò)程中。很多情況下我們都需要在數(shù)據(jù)庫(kù)中插入大量測(cè)試數(shù)據(jù)來(lái)對(duì)程序的功能進(jìn)行測(cè)試。而生成的測(cè)試數(shù)據(jù)往往需要符合特定規(guī)則。雖然可以自己寫一段程序來(lái)進(jìn)行插入數(shù)據(jù),但每一個(gè)項(xiàng)目就寫一個(gè)插入數(shù)據(jù)的程序并不明智。本文主要介紹使用VS2010的數(shù)據(jù)生成計(jì)劃在SQL Server中生成測(cè)試數(shù)據(jù)。

生成測(cè)試數(shù)據(jù)的方法

1.手動(dòng)編輯

在開發(fā)過(guò)程中,非常少量的數(shù)據(jù)可以手動(dòng)插入。這個(gè)方法的缺點(diǎn)可想而知….插入100條數(shù)據(jù)就夠你忙乎一上午了。

2.寫程序&T-SQL語(yǔ)句進(jìn)行插入

這個(gè)缺點(diǎn)也是顯而易見的,開發(fā)效率同樣底下。對(duì)于再次開發(fā)不同的程序時(shí),程序需要修改或者重寫。甚至對(duì)于每一個(gè)表就要寫一段代碼,并且生成的數(shù)據(jù)靈活性并不高!

比如對(duì)一個(gè)表生成1000條數(shù)據(jù)我可能就需要寫這么多T-SQL:

可以看出,這種方法不僅麻煩,生成的測(cè)試數(shù)據(jù)也可能不符合我們需要的。

3. 使用已經(jīng)上線的系統(tǒng)的數(shù)據(jù)

嗯,這個(gè)方法貌似不錯(cuò).簡(jiǎn)單容易,數(shù)據(jù)量足。但先拋開新系統(tǒng)或完全不同的系統(tǒng)表結(jié)構(gòu)改變可能無(wú)法使用已經(jīng)上線的數(shù)據(jù)這個(gè)因素之外。拿客戶的商業(yè)數(shù)據(jù)進(jìn)行測(cè)試..這個(gè)也太沒節(jié)操了吧……

使用VS2010的數(shù)據(jù)生成計(jì)劃來(lái)生成測(cè)試數(shù)據(jù)

VS2010提供的數(shù)據(jù)生成計(jì)劃是一個(gè)強(qiáng)大的工具。它可以高效的生成測(cè)試數(shù)據(jù),其中內(nèi)置的數(shù)據(jù)生成規(guī)則可以很容易的讓我們實(shí)現(xiàn)生成所需數(shù)據(jù)。下面來(lái)看一個(gè)實(shí)際的例子:

為了簡(jiǎn)便起見,所生成的數(shù)據(jù)的構(gòu)架只有兩個(gè)表(員工表和部門表),用外鍵連接:

在VS2010創(chuàng)建數(shù)據(jù)庫(kù)項(xiàng)目,添加SQL Server 2008數(shù)據(jù)庫(kù)項(xiàng)目,然后添加數(shù)據(jù)生成計(jì)劃:

在VS2010中建立數(shù)據(jù)庫(kù)連接,添加新項(xiàng),在數(shù)據(jù)生成計(jì)劃中,可以看到這兩個(gè)表了:

通過(guò)指定列的屬性,我可以調(diào)整我所生成的數(shù)據(jù)的規(guī)范:

下面,我為Employee表的幾個(gè)列數(shù)據(jù)進(jìn)行指定,Name列,我指定最小長(zhǎng)度為4,最大長(zhǎng)度為6.Gender列只允許有兩個(gè)值,男和女.而Email按照正則表達(dá)式,生成符合Email地址規(guī)范的值:

性別列指定只有男和女

郵件列指定郵件的正則表達(dá)式

在數(shù)據(jù)生成計(jì)劃中,VS2010提供的強(qiáng)大功能還有外鍵約束生成數(shù)據(jù)。上面兩個(gè)表中,假設(shè)公司有1000名員工,有10個(gè)部分,對(duì)應(yīng)的每生成一個(gè)部門數(shù)據(jù)則生成100個(gè)員工數(shù)據(jù),我可以在“相關(guān)表”和“相關(guān)表設(shè)置里進(jìn)行”:

一切準(zhǔn)備就緒后,我可以通過(guò)按F5生成數(shù)據(jù):

在SSMS中查看數(shù)據(jù):

可以看到,數(shù)據(jù)基本符合我所需要生成的數(shù)據(jù)

“SQL Server中怎么生成測(cè)試數(shù)據(jù)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI