使用PowerDesigner生成数据库测试数据

本文涉及的产品
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 原文http://blog.csdn.net/horace20/article/details/6672081特别说明:本文产生于个人工作总结,转载请注明原文出处http://blog.csdn.net/horace20 1、环境        PowerDesigner15.2.0.3042-BEAN+ MySQL5.5 + mysql-connector-odbc-5.1.8        以上软件在网上都很容易找到,这里就不再给出相关链接!系统环境为WindowsXP。

原文http://blog.csdn.net/horace20/article/details/6672081

特别说明:本文产生于个人工作总结,转载请注明原文出处http://blog.csdn.net/horace20

1、环境

       PowerDesigner15.2.0.3042-BEAN+ MySQL5.5 + mysql-connector-odbc-5.1.8

       以上软件在网上都很容易找到,这里就不再给出相关链接!系统环境为WindowsXP。

2、具体流程

       既然是生成测试数据,首先数据库一定存在,这里我以对MySQL的操作为例,假设我的数据库名称为db_generate_test。

       流程如下:

 

2.1数据库反向工程

在PowerDesigner环境中,只能对PDM(物理数据模型)生成测试数据所以,首先将需要生成测试数据的数据库反向工程为PowerDesigner的PDM模型。

2.1.1配置数据源

       针对MySQL5.0系列版本需要安装mysql-connector-odbc-5.1.8,这里没有什么选择项,直接“下一步”就行。安装好后,打开控制面板 | 管理工具 | 数据源(ODBC) 如图:

 

添加数据源:

 

创建数据源:

 

填完相关选项后点击“Test”连接成功,OK确定即完成数据源的创建。

2.1.2数据库反向工程

       数据源建好后打开PowerDesigner,选择File | Reverse Engineer |Database…,如下图:

 

  

你可以为物理数据模型命名,确定即可,这里我命名为GenerateTestDataModel_1,接着:

  

点击红色箭头处配置数据源:

 


另外在“Options”选项下可以配置编码类型等选项:


确定后如下:

 

选择数据库用户,选择表,OK即可完成数据库到物理数据模型的转换

 

我这里只有两个表,而且表结构也极其简单,这个过程很快就会完成,但是如果你的数据库表多、表结构复杂,那么这将是一个非常耗时的过程。我曾遇到过 耗了三天三夜险些未完成的(果真是那样的话,不建议使用PowerDesigner生成测试数据,因为在生成测试数那一步会更加耗时,自己编写程序插入模 拟数据会快很多)。

2.2配置测试数据摘要文档

       这一步相当于是制定你的测试数据生成规则,可以单独做也可以和下一步“应用测试数据摘要文档”一起做,单独做的话点击Model | Test Data Profile…,不过我个人更建议和下一步一起做,因为那样使你更加明确需要配置哪些测试数据摘要文档。

2.3应用测试数据摘要文档

       在PowerDesigner PDM模型下双击Table,Columns选项卡下再双击相应字段,如下:

 

在出现的ColumnProperties选项板中Detail选项卡下点击红色箭头可创建测试数据摘要文档:

这里我为id列创建的测试数据摘要文档名为Num_id,是Number类型,自动产生。其中这里有三种类型可以选择,分别是:Number(数值 型)、Character(字符型)、Data&Time(日期时间型)。在”Generaction Source”项上为测试数据摘要文件指定数据的产生方式:Automatic是自动产生、List是根据列表值产生、ODBC是根据其它的数据库产生。

       再双击“Num_id”可制定更细致的规则,如下我这里指定的是一序列的方式从1递增至1000,步长为1(我假设在这里要产生1000条数据):

 

       制定摘要文档完成后确定回到Column Properties - id选项板下,为列应用摘要文档,如下:

 

       制定完所有测试数据生成规则后可进入下一步“生成测试数据”。

2.4生成测试数据

       选择Database | Generate Test Data…如下:

 

       确定即可开始生成测试数据。

2、总结

       每当我们完成数据库的构建,接下就需要数据库性能测、相关接口测试以及报表测试等等,这时就需要大量的测试数据。相比手工创建,使用 PowerDesigner自动生成不失为一种方便简捷的办法。但是这一切都是建立在我们的数据库结构并不复杂庞大的情况下,如果你的数据库结构庞大复 杂,那么你看到的将是PowerDesigner未响应,这时PowerDesigner的效率还不如我们自己写程序生成。

       另,在生成大量测试数据的过程中,为了节约时间我们可以采用并行生成测试数据,即在不影响相关外键及其他约束的情况下,我们可以将数据库分为几个相对独立的模块,分别生成。

 
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
17天前
|
SQL 数据库 微服务
微服务03,最简单的Demo,我们每个服务不能重复开发相同业务,微服务数据独立,不要访问其他微服务的数据库,微服务的特点之一是提供不能功能的数据库互相分割,微服务需要根据业务模块拆分,做到单一职责,
微服务03,最简单的Demo,我们每个服务不能重复开发相同业务,微服务数据独立,不要访问其他微服务的数据库,微服务的特点之一是提供不能功能的数据库互相分割,微服务需要根据业务模块拆分,做到单一职责,
|
5天前
|
SQL DataWorks 关系型数据库
DataWorks产品使用合集之数据集成时源头提供数据库自定义函数调用返回数据,数据源端是否可以写自定义SQL实现
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
2天前
|
存储 负载均衡 定位技术
现代数据库系统中的数据分片策略与优化
数据分片在现代数据库系统中扮演着关键角色,特别是在面对海量数据和高并发访问的情况下。本文探讨了数据分片的基本概念、常见的分片策略(如水平分片与垂直分片)、以及如何通过优化和选择合适的分片策略来提升数据库系统的性能和可扩展性。
|
4天前
|
数据采集 分布式计算 大数据
MaxCompute产品使用合集之数据集成中进行数据抽取时,是否可以定义使用和源数据库一样的字符集进行抽取
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
6天前
|
Java 关系型数据库 数据库
实时计算 Flink版产品使用问题之如何将增量数据直接写入下游数据库
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
8天前
|
机器学习/深度学习 运维 算法
Doping:使用精心设计的合成数据测试和评估异常检测器的技术
在这篇文章中,我们将探讨测试和评估异常检测器的问题(这是一个众所周知的难题),并提出了一种解决方案被称为“Doping”方法。使用Doping方法,真实数据行会被(通常是)随机修改,修改的方式是确保它们在某些方面可能成为异常值,这时应该被异常检测器检测到。然后通过评估检测器检测Doping记录的效果来评估这些检测器。
12 0
|
19天前
|
关系型数据库 MySQL 数据库
关系型数据库mysql数据增量恢复
【7月更文挑战第3天】
134 2
|
19天前
|
关系型数据库 MySQL Shell
关系型数据库mysql数据完全恢复
【7月更文挑战第3天】
85 2
|
19天前
|
数据处理 数据库 索引
数据库索引策略如何影响数据的读取效率?
【7月更文挑战第3天】数据库索引策略如何影响数据的读取效率?
11 2
|
19天前
|
前端开发 数据库
文本----富文本数据如何存入到数据库当中,解决方法,看其他大佬写的文章
文本----富文本数据如何存入到数据库当中,解决方法,看其他大佬写的文章
文本----富文本数据如何存入到数据库当中,解决方法,看其他大佬写的文章