找回密码
 立即注册

QQ登录

只需一步,快速开始

successit 悬赏达人认证
银牌会员   /  发表于:2020-8-14 15:24  /   查看:8392  /  回复:16
附件是分享视频中的DEMO工程及数据库,希望能给大家带来一点开发思路,让我们共同进步!!!
DEMO.ZIP是数据库文件,数据库版本为SQL2008R2


DEMO.fgcc (1.82 MB, 下载次数: 735)

评分

参与人数 2金币 +10000 满意度 +5 收起 理由
孤狼 + 5
willning + 10000 非常感谢老板在葡萄城公开课上和大家分享干.

查看全部评分

16 个回复

倒序浏览
mucai悬赏达人认证 活字格认证
高级会员   /  发表于:2020-8-14 16:46:49
推荐
看完视频,有几个点一起讨论一下:
1、最近接触到一些新的知识点,包括:(1)要尽可能减少触发器和存储过程的使用,特别是高并发场景,出入库操作自然是属于高并发操作了,回写更易产生数据丢失;(2)数据库结构设计的类概念,比如先建一个收发表来作为所有出入库操作的类,而销售出库、采购出库、生产入库、POS出库等,相当于收发表类的一个实例,SAP的理念也是如此。而活字格是天生具有这样的特征的,表相当于类,页面相当于实例,有点面向对象的意思。所以,我现在也更倾向于视图的方案。
2、根据业务需求,核心问题之一,是这个类的构造,要考虑的因素特别多,比如库/区/位、仓内调拨、仓店调拨、公司/代理/加盟的多级流转、在途库存、盘点锁定、负库存、收发限制、收付款限制等,所以提前设计好很重要,不知道大家有没什么成熟的方案
3、第二个核心问题是效率问题或者说沉淀数据的处理,因为收发业务的发生频率非常高,小点的公司一年可能都会产生几十万行数据,大点的去到几百万行也有可能。这些历史数据的处理,一定会碰到效率问题。视频中说的,选一个月数据效率不会受影响,不全是这样的,还会受到要筛选的源数据量影响。这个沉淀数据应该如何处理,是定期算出库存为零的就清理到历史收发表里,还是定期截一个时间点之前的进行汇总合并?或者还有其它方案?都是值得讨论一下!
4、另外关于,收表和发表是在一起?还是分开?我更倾向于放一起,既然选择了视图方案,后期一定会大量使用收发表进行视图计算,放在一个表里的效率,一定高过去union或join。
回复 使用道具 举报
Tom猫
高级会员   /  发表于:2020-8-14 15:32:49
板凳
老板威武
回复 使用道具 举报
zzwange
中级会员   /  发表于:2020-8-14 15:40:43
地板
多谢分享!
回复 使用道具 举报
1818himis悬赏达人认证 活字格认证
高级会员   /  发表于:2020-8-15 10:13:50
5#
mucai 发表于 2020-8-14 16:46
看完视频,有几个点一起讨论一下:
1、最近接触到一些新的知识点,包括:(1)要尽可能减少触发器和存储过 ...

老铁考虑的因素可以真多,我可以没有老铁那么大的脑力考虑这么全面
就帖子里面提到的收发表,你意思是一个数据库物理表吗?然后每次新增修改采购入库、销售出库都往这个收发表插入更新数据(单据类型、单号、日期、物料ID,数量、金额等)?这个收发表不是很大?
回复 使用道具 举报
successit悬赏达人认证
银牌会员   /  发表于:2020-8-15 10:21:45
6#
mucai 发表于 2020-8-14 16:46
看完视频,有几个点一起讨论一下:
1、最近接触到一些新的知识点,包括:(1)要尽可能减少触发器和存储过 ...

对的,你考虑的比较深,比较全面,系统如何设计其实是根据实际业务需求及应用场景来的,如果高并发、操作频次高,场景要求多,管理更精细且数据量大的情况下,我这种即时库存的核算方式再性能上会有影响。目前这样设计,主要还是因为我的应用场景并发不高,且出入库频次也不高,所以这样的视图计算不会对性能有比较明显的影响。
关于收发表合并一张表,这个其实我也想过,但想的不够深,回头我也从整个系统的逻辑方面看看是放一起好,还是分开好。

回复 使用道具 举报
mucai悬赏达人认证 活字格认证
高级会员   /  发表于:2020-8-15 11:08:36
7#
1818himis 发表于 2020-8-15 10:13
老铁考虑的因素可以真多,我可以没有老铁那么大的脑力考虑这么全面
就帖子里面提到的收发表,你意思是一 ...

你没有理解哦!收发表相当于一个后台表,采购入库和销售出库在页面的排版表现上不一样,但实际上绑定的都是这张后台表,他们的添加更改操作,实际上都是提交收发表,所以不需要进行表间的回写操作。
所以这个收发表的设计,你要考虑到所有会涉及到库存收和发的情况,本质上就是字段以及后期视图的设计上要考虑到业务情况。最简单的例子:
-------------------------------------------------------------------------
收发表设计五个字段:来源表,往来单位,仓库,收数,发数
------------------------------------------------------------------------
采购入库页面的设计:
来源表:采购入库
供应商:绑定收发表的“往来单位”字段
收货仓库:绑定收发表的“仓库”字段
采购入库数量:绑定收发表的“收数”字段
--------------------------------------------------------
销售出库页面的设计:
来源表:销售出库
客户:绑定收发表的“往来单位”字段
发货仓库:绑定收发表的“仓库”字段
销售出库数量:绑定收发表的“发数”字段
--------------------------------------------------------------
看完这个小例子,应该能理解我说的意思了吧。采购入库、销售出库这些业务,实际上都只有一张后台表“收发表”,其它类EXCEL平台,称这个为“映射”,甚至有些平台模板(页面)和数据表必须绑定为一对一关系,了解这些,才会知道活字格的页面和表分离,有多香~~~
回复 使用道具 举报
1818himis悬赏达人认证 活字格认证
高级会员   /  发表于:2020-8-15 13:56:24
8#
mucai 发表于 2020-8-15 11:08
你没有理解哦!收发表相当于一个后台表,采购入库和销售出库在页面的排版表现上不一样,但实际上绑定的都 ...

这么说就理解了
这不是鸡蛋放一个篮子和分开放的选择
个人觉得还是分开好些,参考ERP系统基本也是这么分开设置的。
都放一个表,这么多业务单据都读写一个表,再者数据量也是N个级别的增多,性能迟早是个问题。
回复 使用道具 举报
mucai悬赏达人认证 活字格认证
高级会员   /  发表于:2020-8-15 21:16:51
9#
1818himis 发表于 2020-8-15 13:56
这么说就理解了
这不是鸡蛋放一个篮子和分开放的选择
个人觉得还是分开好些,参考ERP系统基本也是这么 ...

效率不一定,单表检查的性能肯定是比多表关联查询高的,要定时清理就是。据我所知,sap就是这么设计的
回复 使用道具 举报
qq8009活字格认证
银牌会员   /  发表于:2020-8-27 07:26:06
10#
支持一个!
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部