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