博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL Server中生成测试数据
阅读量:7033 次
发布时间:2019-06-28

本文共 1022 字,大约阅读时间需要 3 分钟。

简介

     在实际的开发过程中。很多情况下我们都需要在数据库中插入大量测试数据来对程序的功能进行测试。而生成的测试数据往往需要符合特定规则。虽然可以自己写一段程序来进行插入数据,但每一个项目就写一个插入数据的程序并不明智。本文主要介绍使用VS2010的数据生成计划在SQL Server中生成测试数据。

 

生成测试数据的方法

     1.手动编辑

          在开发过程中,非常少量的数据可以手动插入。这个方法的缺点可想而知….插入100条数据就够你忙乎一上午了。

 

    2.写程序&T-SQL语句进行插入

             这个缺点也是显而易见的,开发效率同样底下。对于再次开发不同的程序时,程序需要修改或者重写。甚至对于每一个表就要写一段代码,并且生成的数据灵活性并不高!

         比如对一个表生成1000条数据我可能就需要写这么多T-SQL:

       

        可以看出,这种方法不仅麻烦,生成的测试数据也可能不符合我们需要的。

 

      3. 使用已经上线的系统的数据

          嗯,这个方法貌似不错.简单容易,数据量足。但先抛开新系统或完全不同的系统表结构改变可能无法使用已经上线的数据这个因素之外。拿客户的商业数据进行测试..这个也太没节操了吧……

 

使用VS2010的数据生成计划来生成测试数据

     VS2010提供的数据生成计划是一个强大的工具。它可以高效的生成测试数据,其中内置的数据生成规则可以很容易的让我们实现生成所需数据。下面来看一个实际的例子:

     为了简便起见,所生成的数据的构架只有两个表(员工表和部门表),用外键连接:

   

      在VS2010创建数据库项目,添加SQL Server 2008数据库项目,然后添加数据生成计划:

   

    在VS2010中建立数据库连接,添加新项,在数据生成计划中,可以看到这两个表了:

   

    通过指定列的属性,我可以调整我所生成的数据的规范:

   

    下面,我为Employee表的几个列数据进行指定,Name列,我指定最小长度为4,最大长度为6.Gender列只允许有两个值,男和女.而Email按照正则表达式,生成符合Email地址规范的值:

   

    性别列指定只有男和女

   

    邮件列指定邮件的正则表达式

    在数据生成计划中,VS2010提供的强大功能还有外键约束生成数据。上面两个表中,假设公司有1000名员工,有10个部分,对应的每生成一个部门数据则生成100个员工数据,我可以在“相关表”和“相关表设置里进行”:

   

    一切准备就绪后,我可以通过按F5生成数据:

  

   在SSMS中查看数据:

   

    可以看到,数据基本符合我所需要生成的数据

转载地址:http://nhual.baihongyu.com/

你可能感兴趣的文章
Activiti流程图查看
查看>>
ArrayList源码解析-扩容
查看>>
HDU 1222 Wolf and Rabbit(gcd)
查看>>
c#中子线程控制进度条的一个简单例子(多线程问题)
查看>>
我被面试官问到的问题-3
查看>>
python 常用模块之os、sys、shutil
查看>>
centos7 安装mysql5.7及配置
查看>>
重写与重载
查看>>
pdf文件太大如何进行压缩,压缩pdf文件的步骤分享
查看>>
RTC介绍
查看>>
saltstack grains模块自定义
查看>>
多级视频监控平台网络配置
查看>>
JavaScript判断语句
查看>>
图像处理之高斯模糊
查看>>
Centos 安装邮件发送报警软件 MSMTP+MUTT
查看>>
linux添加新硬盘、格式化以及自动挂载
查看>>
bzoj 1010: [HNOI2008]玩具装箱toy
查看>>
initWithImage和imageWithContentsOfFile的区别
查看>>
iOS 5 :一个UIPageViewController程序示例
查看>>
NSObject之一
查看>>