• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

数据库测试数据生成工具Datafactory 实际使用案例

发布: 2008-10-31 15:49 | 作者: 李元(picture) | 来源: 本站原创 | 查看: 2167次 | 进入软件测试论坛讨论

领测软件测试网

4           MILY: 宋体">主从关系表的创建

 

说明:

主从表是ERP系统中最常见的一种表关系结构,这里先简单介绍一下主丛表的结构

比如说有一张单据,TPxxxx001,单据里有3个商品,分别是商品1,商品2,商品3.

 

TPxxxxx001

数量

单价(RMB)

金额(RMB)

商品1

10

1.58

15.8

商品3

20

2.1

42

商品3

30

3.1

9.3

 

 

 

主表里的数据结构:

 

CO_ID(主表ID

AllQTY(总数量)

AllAMT(总金额)

其他单据属性

TPxxxx01

86

5367.21

XXX

TPxxxx02

150

4786.45

XXX

TPxxxx03

340

4586.78

XXX

   

 

丛表里的数据结构:

COD_ID

Co_detailcode(明细编号)

商品名称

QTY(数量)

AMT(金额)

TPxxx01

1

商品1

16

1349.31

TPxxx01

2

商品2

20

560.1

TPxxx01

3

商品3

25

790.1

TPxxx01

4

商品4

25

1200.7

TPxxx02

1

商品x

xxx

xxx

……..

……

…..

xxx

xxx

TPxxx0N

N

商品x

xxx

xxx

 

 

   说明: 主表中是以单据编号为主健的,丛表中是以单据编号+明细编号的组合为主健.

我们来分析一下这二个表中三个字段之间的关系,首先要确定的是,主从表之间应该是先有主表记录,再有从表对应的内容,这点是非常重要的,比如上面的单据表结构,首先我们要确定的是主表中的单据编号,然后把该单据编号复制到从表的COD_ID中,当然这个时候从表的该单句编号对应的明细可能是1-99999的任意数值,对应的实际业务也就是说,一张单据里面可以包括99999条明细记录,并且从表里的明细ID编号不能重复对于一个COD_ID来说.(这是数据库设计方面的知识,读者自己理解)

 

下面我们来看在Datafactory中怎样实现这个逻辑:

 

   

    图 2.6                               图 2.7

 

   如图2.6中,CUSTOMERORDER表是主表,CODETAIL是对应的明细表,读者可以通过图2.7和图2.8的方法来产生主从表关系,

   如图 2.8中,Records 1 to 5的意思是指,主表中的一条主健ID允许对应丛表里的最多5条明细ID,(读者注意,对应明细ID的数量是1-5,也就是说产生的单据明细可以是5以内的任何值). Parent Table中选择主表中的主健字段,child Table中选择丛表中对应的关联字段,比如图中的CO_IDCOD_ID.它们是这二个主丛表之间的父子关联字段.当然,图2.8中也可能是对多个主丛字段之间的关联,这个留给读者自由发挥.

由上面的分析我们知道,COD_DETAILCODE这个是明细表里的明细编号,对于一个单据编号来说,这个明细编号应该是唯一的,所以我们可以把COD_DETALCODE这个字段设置成自动增加的类型,根据上面的设置,我们可以得到下面的二张单据表

主表

TCxxxx001     

TCxxxx002       

……

TCxxxx00N

丛表

TCxxxx001         1

TCxxxx001         2

……

TCxxxx001         N

TCxxxx002         N+1

TCxxxx002         N+2

 

 

 

            图 2.8

 

 

 

 

 

关于主丛表关系的思考:

 

  1 明细编号COD_ID的循环问题

    细心的读者可能会注意到,上面明细id产生的方式跟实际数据有所不同,实际的数据应该是每张不同的单据明细是各自增加的,当换一个单据编号后,明细id应该重置成1开始自增,但问题是我们如何知道从表中的当前COD_ID是新的那,对于datafactory来说,如何知道那.是不是可以用写SQL加判断的方式那,这个留给大家讨论,(因为我SQL不熟悉J)

 

2           主丛表数量一致的问题

 

数据主丛表结构的人都知道,一般对于一张单据来说,主表里会有一个总数量,明细表里又存储了各个商品的数量,实际的业务数据总数量肯定会=对应明细数量之和,但是我们在datafactory里就很难实现这个数据产生逻辑,(个人觉得不可能+_+),这个也留给读者考虑,欢迎大家把自己对该软件的使用经验拿出来一起交流......

 

 

          最后感谢QUST公司给我们做了这么好的软件.

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: Datafactory 工具 数据库

65/6<123456>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网