求助:看看我的进销存系统的数据库设计及出库处理

21KM 21KM 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
第一次做进销存系统,没什么经验,请高手指点一二!
主要有以下几个表:
进货表(库存表):
进货单号、
品名、
商品类别
供货商代码
进货件数量、进货零头数(如:5瓶)、
赠送数量(也分件和零头)、
进货价格
进货实际件价(为了以后计算利润)
进货实际单价(为了以后计算利润)
库存件数
库存零头数
库存金额

出库表(主表):
出库单号
客户姓名
业务员姓名
司机
出库日期
金额
毛利润

出库表(从表):
出库单号
品名
商品类别
供货商代码
出库件数
出库零头数
出库件价
出库单价
进货实际件价
进货实际单价
进货单号(为退货而设计)
出库方式(销售或赠送,如果为赠送,则出库价格都为零)

客户端是用VB写的,关键在出库的处理上,近期用户反映有些商品的库存量比实际的库存量多出近百件
比如某次销售,用户选择了10个商品销售,2个商品赠送,我是这样处理出库的:
开始事务
1 首先产生出库单(在出库主表里插入一条记录)
2 插入第一个商品的出库明细
更新第一个商品的库存信息(库存件数、库存零数、库存金额)

……

插入第十个商品的出库明细
更新第十个商品的库存信息(库存件数、库存零数、库存金额)

插入第一个赠送商品的出库明细
更新第一个赠送商品的库存信息(库存件数、库存零数、库存金额)
插入第二个赠送商品的出库明细
更新第二个赠送商品的库存信息(库存件数、库存零数、库存金额)
提交事务
这样我一共做了13此的insert,和12此的update操作,是不是频繁的I/O操作影响了数据库的性能
导致库存量的错误。大家有什么好的优化方法,请高手指点!在此谢过!
...全文

相关推荐

基于数据仓库的超市进销存系统的设计.pdf

基于数据仓库的超市进销存系统的设计.pdf

hhappy0123456789

进销存系统数据库设计全解析与实战

很多人把数据库当成“存数据的地方”,其实大错特错。数据库是业务逻辑的镜像,是企业运作的真实映射。当你设计一张表的时候,你在做的不仅是定义字段,更是在刻画企业的组织方式、运营流程和决策依据。所以,请认真对待每一个NOT NULL、每一条外键、每一个索引。它们不是技术细节,而是你对企业理解的体现。正如一位资深架构师所说:希望这篇文章,能在你下次建表时,多一分敬畏,少一分随意。🌟毕竟,我们写的不只是代码,更是企业的生命线。💪本文还有配套的精品资源,点击获取。

veritascxy

C#进销存系统开发实战:从data.bak恢复数据库到扫码枪出库实现

进销存系统是企业信息化中的典型应用,核心涉及数据库设计与事务一致性。SQL Server作为常用关系型数据库,其备份文件.bak的恢复与迁移是开发运维的基础。在C# WinForms开发中,DataOperate之类的数据访问层通过参数化查询有效防范SQL注入,同时利用SqlTransaction确保库存扣减与单据写入的原子性。本文从data.bak恢复讲起,逐步拆解一个C#进销存系统的数据库表结构、数据访问层封装、主窗体业务流程,并介绍如何将扫码枪模拟键盘输入集成到出库窗体,实现高效扫描出库。无论你是数据

纪环

Django进销存系统开发实战:从模型设计到事务处理

在Web开发领域,数据库操作与业务逻辑的稳健实现是构建企业级应用的核心。Django框架以其强大的ORM(对象关系映射)和清晰的MVT架构,为开发者提供了高效的数据建模与处理能力。其技术价值在于通过声明式模型定义,将复杂的SQL操作转化为直观的Python类与方法,大幅提升开发效率并降低错误率。在涉及库存管理、订单处理等关键数据的应用场景中,保证数据一致性尤为重要,这需要深入理解并运用数据库事务与原子操作。本文以经典的进销存系统为例,详细剖析如何利用Django ORM设计商品、订单模型,并重点阐述在采购入

呗老心眼极小

android 进销存系统源码

android 版本进销存系统系统源码,实现简单的进销存系统管理,采购管理,库存管理,销售出库管理(含开票),可为进销存系统的手机端开发提供思路参考

eroso
评论 4
收藏 已收藏
分享
返回顶部
21KM
应用实例 27,579 成员 68,540 内容