数据库课程实践---仓库管理系统(附代码下载)
数据库课程设计- 仓库管理系统桌面应用程序
数据库:SQLServer 2008R2
开发工具:VS2010
语言:C# , SQL
界面直接拖控件就好了。
请注意,SQL 是针对 SQLServer 写的,MySQL 不适用,如果需要请自行修改。
课程设计的目的是熟悉和学习使用数据库的各种功能,比如ER图,数据库字段类型,主键,表间关系,触发器,存储过程,函数等等,并利用这些知识做一个简单的系统(Demo),理解数据库在应用系统中的作用。
下载指引:
[CSDN 代码下载,CSDN 太恶心了,下的越多所要积分越高,]
由于 CSDN 下载的越来越多,所需积分也越来越高,为了方便大家,所以将代码上传到 GitHub 仓库中去了,以下是代码仓库链接,代码下载点击 Code -> Download Zip 就可以了,方便的话点击一下右上角的 Star, 感谢。(注:没用过github 的同学一定要学会使用噢)
https://github.com/LiuKay/WareHouseManagSys
github 打不开请使用 Gitee:
https://gitee.com/kaybee/WareHouseManagSys
小白下载指引(见下图):
完成功能:
(1)产品入库管理,可以填写入库单,确认产品入库;
(2)产品出库管理,可以填写出库单,确认出库;
(3)借出管理,凭借条借出,然后能够还库;
(4)仓库库存设置,设置库存的初始值,更改库存的上下限值;
(5)可以进行盘库,按货物分类,仓库分类和按货号和仓库查找;
(6)可以查询产品入库情况、出库情况、当前库存情况,可以按仓库、出库单、入库单,产品、时间进行查询;
(7)货物管理,查询、添加、删除货物信息;
(8)仓库管理员信息管理,禁止删除初始管理员;
E-R图
1.总体基本E-R图设计
2.入库E-R图
3.出库E-R图
4.借还记录
表设计
效果展示:
1.登录界面
2.货物查询
3.库存查询
4.出入库查询
5.借还查询
6.入库
7.出库
8.借出
9.归还
10.仓库管理-货物管理
11.仓库管理-管理员信息管理
12.仓库管理-仓库设置
13.数据库表
14.存储过程
总结
本次数据库课程设计我做的是仓库信息管理系统,在数据库设计的初期,先分析了仓库管理系统基本功能和服务对象,起初设计的时候并没有考虑清楚对象,添加了很多不必要的使用者,比如供应商和客户,仔细分析之后发现,该系统应该只是服务于仓库管理员而已,于是又要删掉客户这一实体,只是作为出库的一个属性存在。在做货物入库和出库触发器的时候,并没有想到用写成的C#应用程序如何去与触发器的回滚操作做通信,这样会导致在触发器中停止的操作并不会反映到应用程序的界面上来,所以我认识到,应用程序与数据库的通信应该尽量写成存储过程来调用,而触发器的功能尽量的应该是来维护表的完整性,比如做表的同步插入跟新删除等。通过存储过程返回的参数,可以简单的返回到应用程序中,通过判断情况可以清楚的反映sql语句的执行情况,这样就增强了应用程序和数据库见的交流,使用户可以容易的知道执行到哪了或者执行了什么操作。在做数据库设计的过程中,我发现同一个系统可以有不同表述和理解,比如在实际的仓库系统中一个订单号对应一种货物还是多种货物的问题,主键设成订单号当然只能对应一种货物,若主键由单号+仓库+货物那就可以对应多种情况,根据不同情况和需求可以做不同的实现。在设计表的时候有很多细节要注意,比如单号是自己生成还是由管理员来填写(比如表空的时候是Null,若直接加1则还是Null,所以要先判断是否为空),比如datetime类型与字符之间的转换(需要什么样的时间格式,客户需要什么样的信息),比如出入的情况分析和借还情况的实现。我想实现在查询借还记录的时候归还的显示为归还时间(datetime格式)未归还的显示为“未归还”(字符),这个功能一直很难实现,因为经常是转换问题。
用ADO.NET实现应用程序和数据库的链接和通信,然后将调用存储过程方法写在对应的控件按钮里面进行操作。遇到的问题是,比如一个TextBox的默认值是””,则在调存储过程中要判断各种情况,不然会经常报错。如何把界面做的适合真正的仓库管理人员使用,要研究他们真正需要的是什么。在做课设中,我认识到了,不能一开始就想的很复杂,要先实现一些基本的需求,在此基础上再全面的分析问题,再添加需要的情况分析和功能实现,这才是一步一步完善设计的步骤。
数据库课程实践---仓库管理系统(附代码下载)相关推荐
- 推荐系统入门(七):新闻推荐实践2(附代码)
推荐系统入门(七):新闻推荐实践2(附代码) 目录 推荐系统入门(七):新闻推荐实践2(附代码) 引言 数据收集 数据存储 数据分析 实战 总结 参考资料 引言 相关系列笔记: 推荐系统入门(一):概 ...
- c语言饭卡管理系统_C语言饭卡管理系统(附代码).doc
C语言饭卡管理系统(附代码) C语言饭卡管理系统,代码超简单,纯c语言基础知识,本人大一时期自己打的代码与实验报告(作图是直接word,可直接修改,不需安装visio),上传只为赚取百度财富值,支持原 ...
- ASP.NET的MVC中使用Cookie做身份验证(附代码下载)
场景 ASP.NET的MVC中使用Session做身份验证(附代码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1071 ...
- 分布式消息总线,基于.NET Socket Tcp的发布-订阅框架之离线支持,附代码下载
一.分布式消息总线以及基于Socket的实现 在前面的分享一个分布式消息总线,基于.NET Socket Tcp的发布-订阅框架,附代码下载一文之中给大家分享和介绍了一个极其简单也非常容易上的基于.N ...
- 教职工员工管理MySQL实训_数据库课程设计---教职工管理系统
数据库课程设计---教职工管理系统 第 1 页目 录一.需求与功能分析 2二.系统总体框架 3三.功能设计 3四.类的设计与分析 4五.数据库表结构设计 4六.特色算法分析 5七.功能测试 6-10八 ...
- 宾馆客户管理系统数据库java_数据库课程设计+宾馆管理系统+Java+Sql
[实例简介] 数据库课程设计+宾馆管理系统+Java+Sql [实例截图] [核心代码] elz76n └── 数据库课程设计 ├── sushe │ ├── build │ │ ├── ...
- Ionic+Angular实现中英国际化(附代码下载)
场景 Ionic介绍以及搭建环境.新建和运行项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/106308166 在上面搭建起 ...
- Ionic+Angular+Express实现前后端交互使用HttpClient发送get请求数据并加载显示(附代码下载)
场景 Ionic介绍以及搭建环境.新建和运行项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/106308166 在上面搭建起 ...
- Dubbo与SpringBoot整合流程(从实例入手,附代码下载)
场景 Dubbo环境搭建-管理控制台dubbo-admin实现服务监控: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10362 ...
最新文章
- 肠道菌群机制研究及国自然课题设计专题会议
- php代码冗余度检查插件,合并ThinkPHP配置文件以消除代码冗余的实现方法
- ffmpeg推送图片到流媒体服务器
- 一元多项式的乘法与加法运算_行测数学运算之速算与技巧
- Spring-引用Bean的属性值
- 尾递归对时间与空间复杂度的影响(上)
- Python 调用shell脚本
- Python【算法中心 01】Web框架Django入门(安装+项目创建+应用创建+服务启动)Python搭建算法中心后台实例分享
- 为什么c相电路在前面_三相电路分析
- django-登装饰器
- matlab 简单的图像填充例子
- c++ primer plus 之c++数据类型
- java材质转基岩版_我的世界java版材质包转换导入基岩版教程
- [杂题]「FJOI2018」所罗门王的宝藏
- html如何绘制树结构图,HTML 5 Canvas 递归画树
- 深度强化学习-策略梯度算法推导
- Java day 31 网络编程和简单练习
- 浪子回头,不是因你,而是他心已倦
- vue项目微信端清理缓存问题解决
- 本地机连接不上虚拟机?
热门文章
- 广州住房公积金管理中心综合业务管理系统容灾项目
- 网桥是什么?底层原理是什么?
- 机器学习—线性回归与R模拟
- 计算机里面的文件一直和桌面上重复,有些文件删不掉_电脑桌面上有一个文件图标老是删不掉,每次删,都......
- 电脑能登录qq,但是打不开网页
- windows安装nacos
- 正态随机变量的概率计算
- Linux用代码清理磁盘缓存(运行时清理磁盘缓存)
- 声明double变量的时候,加d与不加d有什么区别
- 霖呆呆的中大厂面试记录及2年前端薪资对比(附赠学习方法)