彩票走势图

dbForge Data Generator for Oracle教程:如何以动态增长模式生成真实的测试数据

翻译|使用教程|编辑:莫成敏|2020-01-20 15:26:00.570|阅读 363 次

概述:借助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教程:如何以动态增长模式生成真实的测试数据

然后,您可以执行此查询来创建下一步所需的表。

建立了这三个表后,我们可以继续进行。

创建一个新的数据生成器文档

让我们创建一个新的数据生成器文档。

在dbForge Data Generator for Oracle中,单击屏幕左上角的“新建数据生成”。将打开“数据生成器项目属性”窗口。在“连接”选项卡中,选择服务器连接以及包含我们在上一步中创建的表的架构。然后,按下一步继续。如果需要,在“选项”选项卡中,您可以设置各种数据生成选项。您还可以继续使用默认选项。

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;
dbForge Data Generator for Oracle教程:如何以动态增长模式生成真实的测试数据

输入脚本后,您可以在屏幕下部的“预览要生成的数据”部分中查看其生成的数据类型:

dbForge Data Generator for Oracle教程:如何以动态增长模式生成真实的测试数据

脚本的初始值是什么意思

脚本中有三点对我们很重要: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@cahobeh.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP