翻譯|使用教程|編輯:莫成敏|2020-01-20 15:26:00.570|閱讀 416 次
概述:借助Data Generator for Oracle和一些基本的Python腳本,我們可以生成顯示動(dòng)態(tài)增長模式的測試數(shù)據(jù)。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
dbForge Data Generator for Oracle是一個(gè)小而強(qiáng)大的GUI工具,可用于使用大量實(shí)際測試數(shù)據(jù)填充Oracle模式。通過收集各種數(shù)據(jù)類型的基本的生成器,靈活的自定義選項(xiàng),用于創(chuàng)建自己的生成器模板,該工具可在用戶界面中提供完美的數(shù)據(jù)生成(包括隨機(jī)數(shù)生成)。
當(dāng)您需要為測試目的而用數(shù)據(jù)填充數(shù)據(jù)庫時(shí),使這些數(shù)據(jù)遵循真實(shí)生活中的動(dòng)態(tài)模式通常非常方便。在這種情況下,記錄應(yīng)該既看起來很真實(shí),又要形成栩栩如生的整體畫面。例如,如果您要在表中填寫帶有訂閱模型的在線服務(wù)的測試數(shù)據(jù),則記錄必須每天都是動(dòng)態(tài)的。在實(shí)際環(huán)境中,訂閱的數(shù)量總是會(huì)變化的——有些人會(huì)離開,而新的訂閱者會(huì)進(jìn)來。當(dāng)然,我們希望后者的數(shù)量超過前者。借助Data Generator for Oracle和一些基本的Python腳本,我們可以生成顯示動(dòng)態(tài)增長模式的測試數(shù)據(jù)。
如何以動(dòng)態(tài)增長模式生成真實(shí)的測試數(shù)據(jù)
創(chuàng)建必要的表
首先,我們需要一個(gè)可以正確描述我們要存儲(chǔ)信息的數(shù)據(jù)庫。
在此示例中,我們需要三個(gè)表來保存我們的數(shù)據(jù)-product、subscriber和subscriptions。
以下SQL查詢將創(chuàng)建這些表:
CREATE TABLE "Product" ( "id" NUMBER(10, 0), "name" VARCHAR2(50 BYTE), CONSTRAINT PK_PRODUCT_ID PRIMARY KEY ("id") USING INDEX TABLESPACE USERS ) TABLESPACE USERS LOGGING; CREATE TABLE "Subscriber" ( "id" NUMBER(10, 0), "name" VARCHAR2(50 BYTE), CONSTRAINT PK_SUBSCRIBER_ID PRIMARY KEY ("id") USING INDEX TABLESPACE USERS ) TABLESPACE USERS LOGGING; CREATE TABLE "Subscriptions" ( "day" NUMBER, "product_id" NUMBER, "subscriber_id" NUMBER, CONSTRAINT FK_SUBSCRIPTIONS_PRODUCT_ID FOREIGN KEY ("product_id") REFERENCES "Product" ("id"), CONSTRAINT FK_SUBSCRIPTIONS_SUBSCRIBER_ID FOREIGN KEY ("subscriber_id") REFERENCES "Subscriber" ("id") ) TABLESPACE USERS LOGGING;
您可以在Data Generator for Oracle中創(chuàng)建相應(yīng)的SQL文件。為此,請(qǐng)單擊屏幕左上方工具欄上的“新建SQL”按鈕。如果尚未連接到服務(wù)器,則將顯示“連接到服務(wù)器”窗口-在此處選擇所需的連接。完成后,單擊“連接”。在將打開的標(biāo)簽中,輸入我們上面提供的查詢:
然后,您可以執(zhí)行此查詢來創(chuàng)建下一步所需的表。
建立了這三個(gè)表后,我們可以繼續(xù)進(jìn)行。
創(chuàng)建一個(gè)新的數(shù)據(jù)生成器文檔
讓我們創(chuàng)建一個(gè)新的數(shù)據(jù)生成器文檔。
在dbForge Data Generator for Oracle中,單擊屏幕左上角的“新建數(shù)據(jù)生成”。將打開“數(shù)據(jù)生成器項(xiàng)目屬性”窗口。在“連接”選項(xiàng)卡中,選擇服務(wù)器連接以及包含我們?cè)谏弦徊街袆?chuàng)建的表的架構(gòu)。然后,按下一步繼續(xù)。如果需要,在“選項(xiàng)”選項(xiàng)卡中,您可以設(shè)置各種數(shù)據(jù)生成選項(xiàng)。您還可以繼續(xù)使用默認(rèn)選項(xiàng)。
一切設(shè)置完成后,按“打開”。將打開“數(shù)據(jù)生成器”主窗口。
應(yīng)用自定義數(shù)據(jù)生成腳本
現(xiàn)在,通過啟用相應(yīng)的復(fù)選框來選擇我們剛剛創(chuàng)建的表。然后,轉(zhuǎn)到表格的“DAY”字段。在右側(cè)的“列生成設(shè)置”窗口中,將“生成器”值設(shè)置為Python。
在“Python腳本”部分中,將默認(rèn)腳本替換為以下內(nèi)容:
def main(config): v_day = 1; v_count = 4 while True: for x in range(v_count): yield v_day; v_day = v_day + 1; v_count= v_count + 4;
輸入腳本后,您可以在屏幕下部的“預(yù)覽要生成的數(shù)據(jù)”部分中查看其生成的數(shù)據(jù)類型:
腳本的初始值是什么意思
腳本中有三點(diǎn)對(duì)我們很重要:v_day和v_count變量以及訂閱的每日增長。
v_day指定我們的服務(wù)運(yùn)營日期的數(shù)值。因此,我們啟動(dòng)服務(wù)的日期將標(biāo)記為第1天,兩周后的日期標(biāo)記為第15天。
v_count指定從開始生成數(shù)據(jù)的那一天起我們獲得了多少訂戶。在腳本的最初版本中,我們先從v_count = 4開始,這意味著在第一天將有4個(gè)新訂閱。
在腳本的最后,您將找到以下行:
v_count = v_count + 4;
此行指定訂閱的每日增長。因此,默認(rèn)情況下,每日訂閱量增長等于4。使用所有這些初始值,我們將在第一天獲得4個(gè)新訂閱者,第二天獲得8個(gè)新訂閱者,第三天獲得12個(gè),依此類推。
更改腳本以更好地滿足您的需求
要微調(diào)數(shù)據(jù)生成過程,可以在腳本中更改相應(yīng)的值。
通過在腳本中更改v_day的初始值,您可以在我們服務(wù)的生命周期中的特定日期開始生成數(shù)據(jù)。例如,您可以從服務(wù)開始運(yùn)行一個(gè)月開始,將腳本的第一行更改為:
v_day = 31;
通過更改v_count的值,您將更改從開始生成數(shù)據(jù)的那天起獲得的新訂戶數(shù)量。因此,假設(shè)到第31天為止,我們有2000個(gè)訂閱者。我們可以這樣更改腳本的第二行來指定它:
v_count = 2000;
最后,讓我們改變我們的每日訂閱量增長。如果每天有12個(gè)新訂閱者,則需要將腳本的最后一行更改為:
v_day = v_day + 1; v_count = v_count + 12;
因此,使用這些經(jīng)過修改的參數(shù),我們將從服務(wù)生命周期的第31天開始生成數(shù)據(jù),初始訂閱者為2000,每日訂閱數(shù)增長為12。
因此,您可以看到,使用dbForge Data Generator for Oracle為表生成動(dòng)態(tài)數(shù)據(jù)模式并不那么困難。您是否對(duì)產(chǎn)品感興趣呢!感興趣就趕快下載dbForge Data Generator for Oracle并自己嘗試。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: