有关数据库表设计问题(急)

longyuhong8888 2009-11-23 05:23:16
入库表(入库日期、入库单号、货品编号、名称规格,数量),
出库表(出库日期、出库单号、货品编号、名称规格,数量),
问题:当用户在输入出库货品编号时,系统会弹出一对话框,显示库存货品、规格及库存数,以前我每次弹出的内容由存储过程计算出(入仓-出仓),但现在用了一段时间后发现速度较慢了,请问题这个问题怎么解决,谢谢。

...全文
147 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
fangmanhua8888 2009-11-25
  • 打赏
  • 举报
回复
在進出倉表中增加觸發器來影響倉上輩子表倉存數,例如:


--刪除數據時,減少庫存數量
Update TA_STOGoodsBalance
Set STO_004 = isnull(STO_004,0) - TDel.Qty
FROM TA_STOGoodsBalance as TBal Inner Join
(Select INT_003, INT_004,INT_005 ,SUM(isnull(INT_006,0)) as Qty
From Deleted
Group by INT_003, INT_004,INT_005) as TDel
ON TBal.STO_001 = TDel.INT_003 and
TBal.STO_002 = TDel.INT_004 and
TBal.STO_003 = TDel.INT_005

--插入數據時,增加庫存數量
Update TA_STOGoodsBalance
Set STO_004 = isnull(STO_004,0) + TIns.Qty
FROM dbo.TA_STOGoodsBalance as TBal Inner Join
(Select INT_003, INT_004,INT_005 ,SUM(isnull(INT_006,0)) as Qty
From Inserted
Group by INT_003, INT_004,INT_005) as TIns
ON TBal.STO_001 = TIns.INT_003 and
TBal.STO_002 = TIns.INT_004 and
TBal.STO_003 = TIns.INT_005

Insert Into dbo.TA_STOGoodsBalance(STO_001,STO_002,STO_003,STO_004)
Select INT_003, INT_004, ltrim(rtrim(INT_005)) ,SUM(isnull(INT_006,0))
From Inserted
Where CheckSUM(INT_003,INT_004,ltrim(rtrim(INT_005)) ) NOT IN
(Select CheckSUM( STO_001, STO_002,ltrim(rtrim(STO_003)))
From dbo.TA_STOGoodsBalance )
Group by INT_003, INT_004,ltrim(rtrim(INT_005))
longyuhong8888 2009-11-25
  • 打赏
  • 举报
回复
能不能说明详细一点呢
[Quote=引用 15 楼 fangmanhua8888 的回复:]
考慮增加一倉庫結存表,再在入倉表和出倉表中用觸發器處理數據即可。
[/Quote]
fangmanhua8888 2009-11-25
  • 打赏
  • 举报
回复
考慮增加一倉庫結存表,再在入倉表和出倉表中用觸發器處理數據即可。
longyuhong8888 2009-11-24
  • 打赏
  • 举报
回复
这位朋友,能不能描述清楚一点
[Quote=引用 12 楼 sharp_future 的回复:]
那就程序处理吧
[/Quote]
sharp_future 2009-11-24
  • 打赏
  • 举报
回复
那就程序处理吧
longyuhong8888 2009-11-24
  • 打赏
  • 举报
回复
老大,不让查历史数据是不行的,用户肯定会看历史记录的,我司都有可能改上月的数据的(有问题的数据)。
[Quote=引用 10 楼 jhone99 的回复:]
每月结转,不再查历史数据
[/Quote]
jhone99 2009-11-24
  • 打赏
  • 举报
回复
每月结转,不再查历史数据
longyuhong8888 2009-11-24
  • 打赏
  • 举报
回复
是不是加了盘点后,如果有盘点,盘点日之前的所有数据都不可以修改,以后每一个货品库存=盘点数量 + 盘点后入库数 – 盘点后出库数
[Quote=引用 7 楼 kelph 的回复:]
估计在这个系统中,库存盘点也没有吧?
如果你有库存盘点,至少只需要以盘点日为基准,计算一段周期内的出入库差,而不是所有
[/Quote]
longyuhong8888 2009-11-24
  • 打赏
  • 举报
回复
是没有盘点,盘点差都是以进出库方式,只不过在备注中说明
[Quote=引用 7 楼 kelph 的回复:]
估计在这个系统中,库存盘点也没有吧?
如果你有库存盘点,至少只需要以盘点日为基准,计算一段周期内的出入库差,而不是所有
[/Quote]
kelph 2009-11-24
  • 打赏
  • 举报
回复
估计在这个系统中,库存盘点也没有吧?
如果你有库存盘点,至少只需要以盘点日为基准,计算一段周期内的出入库差,而不是所有
kelph 2009-11-24
  • 打赏
  • 举报
回复
就设计来说,一定要有动态库存表
xiamiking 2009-11-24
  • 打赏
  • 举报
回复
应该是数据变多的问题吧。
解决的办法是在数据库的表里添加索引,如果表里的主键不是一列的话,记得设置一下以某一列为主要索引,这样速度能快很多
特别 2009-11-24
  • 打赏
  • 举报
回复
象这种情况,建议单独整一库存表,
商品代码,库存数量
每次入库出库时都更新此表
angel6709 2009-11-24
  • 打赏
  • 举报
回复
必须的慢,,要是入出库数量更多了,就更慢。。
你要有一个库存表。。。
表结构可以如下:
库存表(货品编号,数量)
每次入库就库存表++
每次出库就库存表--
查看库存就是 select from 库存表


还有,你的 入库表和出库表的货品编号要加索引。
库存表的货品编号要加主键

sito_hongta 2009-11-24
  • 打赏
  • 举报
回复
是不是數據太多了?壓縮一下看看~
longyuhong8888 2009-11-24
  • 打赏
  • 举报
回复
早晨,自己坐沙发
longyuhong8888 2009-11-24
  • 打赏
  • 举报
回复
有没有更好的建议
信息系统与数据库技术教学大纲全文共8页,当前为第1页。信息系统与数据库技术教学大纲全文共8页,当前为第1页。信息系统与数据库技术教学大纲 信息系统与数据库技术教学大纲全文共8页,当前为第1页。 信息系统与数据库技术教学大纲全文共8页,当前为第1页。 课程是以数据库技术为核心,融合信息管理、软件工程、程序开发等知识,用解剖麻雀式的教学和实践案例带领学习者快速了解从信息需求发现到信息系统分析、设计和实现的全过程,培养计算机综合应用能力。 课程概述 "互联网+"是信息技术和各行业领域结合的一种创新应用模式,每一个"互联网+"的背后都有一个信息系统。本课程是适应计算机基础教育的一门综合性公共基础课,通过介绍信息系统的核心支持技术,培养学生的信息应用意识和信息决策能力,提高领域创新应用的信息素养。 课程用面向系统的观点,以独特的课程体系融合信息管理、数据库技术、软件工程、程序设计等知识,使学生快速了解信息系统分析、设计、开发和运行管理的方法。 信息系统:学习信息系统概念、构成及应用特点,从而建立主动发现和利用信息的意识; 软件工程:学习项目管理的思想,了解信息系统构建过程,分析、设计、开发和管理方法; 数据库:这是信息系统的核心知识,掌握数据的组织、存储、管理和访问方法; 程序设计:学习使用编程语言访问数据库的一般流程,了解基于Web的信息系统应用程序的基本实现方法。 课程虽然知识集成度比较大,但是通过贯穿全课程的解剖麻雀式的教学、实践案例,用实例驱动学习,逐步递进,不需要死记硬背。 授课目标 这门课是一门IT技术的综合课程,通过关注信息系统实现的各环节方法和技术,希望学习者最后建立系统观点,对用信息系统支持自己的业务实现有基本的分析、判断和掌控能力。 非计算机专业的学生:锻炼你站在甲方的角度掌控系统规划、开发和管理,和作为乙方的IT技术人员密切配合。 信息系统与数据库技术教学大纲全文共8页,当前为第2页。信息系统与数据库技术教学大纲全文共8页,当前为第2页。计算机专业的学生:锻炼你贯通核心支持技术,用系统的观点设计系统和开发系统,充分理解作为甲方的用户立场和需求。 信息系统与数据库技术教学大纲全文共8页,当前为第2页。 信息系统与数据库技术教学大纲全文共8页,当前为第2页。 课程大纲 课程辅助资料 教学案例_教务信息系统 实验案例_网上书店 Visio绘图软件的使用方法 教材第6-9章 例题源码 教学进度安排和成绩分布 实验软件下载地址及安装说明 综合实践项目选题思维指导 教务系统案例程序源代码 全课程讲义 课程绪论 嗨,跟你聊聊这门课 第一周 信息系统基本知识 & 数据库基本知识 第一章 信息系统基本知识_章节导引 信息系统概述 信息系统的类型 信息系统案例简介 第二章 关系数据库基本知识_章节导引 数据模型概述 关系模型与关系数据库 信息系统与数据库技术教学大纲全文共8页,当前为第3页。信息系统与数据库技术教学大纲全文共8页,当前为第3页。 信息系统与数据库技术教学大纲全文共8页,当前为第3页。 信息系统与数据库技术教学大纲全文共8页,当前为第3页。 **关系数据库体系结构(别!第五章以后再学更易理解!) 关系模型的运算理论简介(别!第五章以后再学更易理解!) 第一周 讲义(信息系统基本知识 & 数据库基本知识) 单元测验:信息系统和数据库基本知识 第二周 关系数据库 创建与维护 第三章 数据库的创建与维护_章节导引 数据库管理系统SQL Server概述 数据库的创建与维护 数据设计 数据的创建与维护 第二周 讲义(数据库的创建与维护) 第二周 实验 关系数据库的创建 单元测验:关系数据库的创建和维护 关系数据库的创建和维护 第三周 关系数据库操作语言SQL(一) 第四章 SQL语言与可编程对象_章节导引 SQL语言概述 数据库定义语言DDL简介 数据操纵语言DML的查询语句SELECT——单查询 第三周 讲义(SQL概述、DDL、SELECT单查询) 第三周 实验 DDL脚本生成与Select语句单查询 单元测验:DDL语句及Select语句单查询 信息系统与数据库技术教学大纲全文共8页,当前为第4页。信息系统与数据库技术教学大纲全文共8页,当前为第4页。 信息系统与数据库技术教学大纲全文共8页,当前为第4页。 信息系统与数据库技术教学大纲全文共8页,当前为第4页。 第四周 关系数据库操作语言SQL(二) 数据操纵语言DML的查询语句SELECT——多连接查询 数据操纵语言DML的更新语句INSERT、UPDATE、DELETE 第四周 讲义(SELECT多查询、数据更新语句) 第四周 实验 Select多查询和数据更新语句 单元测验:SELECT多查询、数据更新语句 第五周 关系数据库操作语言SQL(

110,557

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧