挂单取单数据表设计的思考

     做了一段程序,现在对几个技巧作个总结
     前几天要做一个挂单,取单功能,我首先查看了一下数据库,没有与之对应的表,我只好按照销售商品的表字段再重新设计一个表(其实是销售商品表结构的一个复制),该功能也就实现了,几天后,看另一软件的源代码,发现上面的挂单取单功能的设计太简单了,只是在销售商品表中的备注字段写几个字母,作为指示符,而且在显示挂单时,用Tlistview控件,把原始销售编号和商品信息在一行显示出来了.猛然发现,自己实现的功能并不完美,如没有保存原销售编号,商品信息罗列了几行,显示的不直观了.后来自己认真想了,总结了做挂单取单功能的几种方式
1).另行设计一个表,字段和销售商品表的字段一致.注意,如果销售商品表的主键生成有特定方式时,就没必要保存原销售商品的主键,在取单时,也不可能用到主键,应再设计一个挂单编号作主键.
这种方式相当稳健,而且减少了数据的冗余,查询更方便.
2)在销售商品表中增加一字段(挂单字段)标识该商品是否为挂单单据.它保证了销售商品表主键产生的正确性.但它在查询,统计报表时,需要非常注意,时刻要排除挂单单据,这个容易出错.一不小心,查询结果就会不正确.
而且挂单单据并不多,增加一个利用率很少的字段,会增加数据量.
3)利用原有销售商品表的未使用字段作为挂单标识,因为在结账前,一定有一些字段不会用到.如备注字段.但这种方法也有第二种方法相同的优缺点,更带有一些隐患.容易造成数据混乱.
      总结后,我认为还是第一种方法好,在整个软件做好后,再增加挂单取单功能时,更能减少许多工作量和潜在的问题.即使在最初设计数据库时,也作为一个单独的表,也会节省许多空间. 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值