仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 855|回复: 7
打印 上一主题 下一主题

[学习教程] ERP体系中库存表的表布局创立剖析

[复制链接]
再现理想 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 14:07:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
刚安装好的MySql包含一个含空密码的root帐户和一个匿名帐户,这是很大的安全隐患,对于一些重要的应用我们应将安全性尽可能提高,在这里应把匿名帐户删除、root帐户设置密码在erp体系中,一个完全的库存信息应当能供应给用户甚么样的信息呢?我想一共有以下几点:
1,检察以后立即库存的库存信息,包含每一个堆栈每种物料的数目分离是几(固然有大概物料另有区分形态批号等)。
2,每种物料在每一个堆栈中如今被预用了几,另有几可用(预用就是锁库,预用的部分是不克不及被新的票据所援用)。
3,可以疾速的查询到每种物料的每一个时段的库存数目,也就是汗青库存
4,每种物料的收支情形,就是该物料是甚么时分进库的,进库的源单与数目是几。甚么时分出库的,出库的源单与数目又是几?
5,假如物料被预用了,那末该物料又是被那些票据预用了呢?

针对下面五个成绩,我共创立了三个表来完成它们。
1,库存信息表
2,库存收支明细表
3,库存预用明细表

一,库存信息表
库存信息表包括以下字段:
字段名功效申明仓位物料库存数目预用数目可用数目该字段能够为盘算字段,它的值=库存数目-预用数目这个表中存储的是每一个物料在每一个堆栈以后的库存信息,有了它,我们就能够完成下面成绩1和2功效了。

为何必要"可用数目"这个字段呢?由于库存信息表一样平常信息量是很年夜的,我们能够冗余该字段,以在读取库存可用数目时加速数据的读取工夫。

二,库存收支明细表
库存收支明细表包括以下字段:
字段名功效申明仓位物料收支标识1代表进库,-1代表出库肇端数目该数目为以后收支明细表操纵库存前的库存数目,它能够用来盘算滚存数目收支数目滚存数目该字段能够为盘算字段,它的值=肇端数目+收支标识*收支数目收支源单号收支工夫这个表中存储的是每一个物料在堆栈中的收支明细,有了这个表,我们就能够完成下面成绩3与4的功效了。

为何必要"滚存数目"这个字段呢?由于有了这个字段,再加上"收支工夫"这个字段的信息,我们就能够疾速的查询出汗青的库存信息了。好比,我要晓得汗青工夫2012-1-10,物料"A"在堆栈"AC"中的库存数目,我们就能够在该表中检索工夫<="2012-1-10"and物料="A"and堆栈="AC"中最初一笔数据的滚存数目就是了。

三,库存预用明细表
库存预用明细表包括以下字段
字段名功效申明仓位物料收支数目收支源单号收支工夫这个表存储的是每一个物料在堆栈中被预用的票据明细,有了这个表,我们能够完成下面成绩5的功效。

那末,这些表有甚么的划定规矩与接洽呢?
起首,我们要把持到体系中一切表单都不克不及间接操纵"库存信息表",由于该表的值应当是由"库存收支明细表"与"库存预用明细表"中的了局反应来的。

好比:
1,当"库存收支明细表"中新增一笔数据时,我们就要判别新增的这笔数据的"物料+堆栈"信息有无在"库存信息表"存在了,假如已存在,就依据收支标识来增添或削减"库存信息表"中对应物料信息的库存数目,假如没有存在,就在"库存信息表"中新增一笔对应的数据。

2,当"库存预用明细表"中新增一笔数据的时分,我们就依据"库存预用明细表"中"物料+堆栈"的信息来增添"库存信息表"中预用数目字段的值。当"库存预用明细表"中的数据被删除时(也能够在该表中增添一个字段来识标完成时),依据"库存预用明细表"中"物料+堆栈"的信息来削减"库存信息表"中预用数目字段的值。

那末,甚么时分往"库存收支明细表"中增添数据,甚么时分往"库存预用明细表"增添数据呢?当有必要操纵库存信息表的票据在新增时,往"库存预用明细表"中增添数据,当有必要操纵库存信息表的票据在考核时,往"库存收支明细表"中增添数据,同时更新"库存预用明细表"中数据。


好了,以上只是自己对erp体系中库存表布局的团体意见,仅供参考。mysql的原来开发者又开发了MariaDB,MariaDB适合用来替代mysql吗
若相依 该用户已被删除
沙发
发表于 2015-1-18 12:01:46 | 只看该作者
呵呵,这就是偶想说的
分手快乐 该用户已被删除
板凳
发表于 2015-1-25 10:57:29 | 只看该作者
这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。
admin 该用户已被删除
地板
发表于 2015-2-2 21:54:41 | 只看该作者
SQL语言是学习所有数据库产品的基础,无论你是做数据库管理还是做数据库开发都是这样。不过具体学习的侧重点要看你将来做哪一块,如果是做数据库管理(DBA),侧重点应该放在SQLServer的系统管理上.
变相怪杰 该用户已被删除
5#
发表于 2015-2-8 08:09:14 | 只看该作者
代替了原来VB式的错误判断。比Oracle高级不少。
兰色精灵 该用户已被删除
6#
发表于 2015-2-25 04:45:24 | 只看该作者
如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。
第二个灵魂 该用户已被删除
7#
发表于 2015-3-7 17:33:06 | 只看该作者
不过话说回来了,绝大多数的性能优化准则与对sqlserver存储的结构理解息息相关
因胸联盟 该用户已被删除
8#
发表于 2015-3-15 10:42:57 | 只看该作者
现在是在考虑:如果写到服务器端,我一下搞他个10个存储过程导过去,那久之服务器不就成垃圾箱了吗?即便优化了我的中间层.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-20 12:31

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表