借助Data Generator for Oracle和一些基本的Python脚本,我们可以生成显示动态增长模式的测试数据。
dbForge Data Generator for Oracle是一个小而强大的GUI工具,可用于使用大量实际测试数据填充Oracle模式。通过收集各种数据类型的基本的生成器,灵活的自定义选项,用于创建自己的生成器模板,该工具可在用户界面中提供完美的数据生成(包括随机数生成)。
dbForge Data Generator for 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 USERSLOGGING;CREATE TABLE "Subscriber" ("id" NUMBER(10, 0),"name" VARCHAR2(50 BYTE),CONSTRAINT PK_SUBSCRIBER_ID PRIMARY KEY ("id") USING INDEX TABLESPACE USERS)TABLESPACE USERSLOGGING;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 USERSLOGGING;
您可以在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并自己尝试。
想要购买产品正版授权,或了解更多产品信息请点击【咨询在线客服】

标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!