




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库课程设计——库存销售管理系统一、课程设计目标本次库存销售管理系统课程设计旨在综合运用数据库相关知识,设计并实现一个能够有效管理库存和销售业务的系统。通过该系统,实现对商品信息、库存信息、销售订单、客户信息等的集中管理,提高库存管理效率,优化销售流程,为企业的决策提供准确的数据支持。
二、系统需求分析2.1功能需求1.商品信息管理:能够添加、修改、删除商品信息,包括商品编号、名称、规格、进价、售价等。2.库存信息管理:实时记录商品的库存数量,支持库存的增加和减少操作,并能查询库存明细。3.销售订单管理:创建销售订单,关联客户信息,记录销售商品的种类、数量、价格等,支持订单的修改和删除。4.客户信息管理:添加、修改、删除客户信息,包括客户编号、名称、联系方式等。5.销售统计分析:能够按时间段、商品类别等条件进行销售数据的统计分析,如销售额、销售量等。
2.2性能需求1.系统响应时间应在合理范围内,确保用户操作的流畅性。2.能够支持多用户并发访问,保证数据的一致性和完整性。3.系统应具备一定的容错能力,对常见的输入错误能给出明确提示。
2.3数据需求1.商品表:存储商品的基本信息。|字段|类型|描述||---|---|---||product_id|int|商品编号||product_name|varchar(50)|商品名称||specification|varchar(50)|规格||purchase_price|decimal(10,2)|进价||selling_price|decimal(10,2)|售价|
2.库存表:记录商品的库存数量。|字段|类型|描述||---|---|---||product_id|int|商品编号||quantity|int|库存数量|
3.销售订单表:关联客户信息,记录销售订单详情。|字段|类型|描述||---|---|---||order_id|int|订单编号||customer_id|int|客户编号||order_date|date|订单日期||product_id|int|商品编号||quantity|int|销售数量||price|decimal(10,2)|销售价格|
4.客户表:存储客户的基本信息。|字段|类型|描述||---|---|---||customer_id|int|客户编号||customer_name|varchar(50)|客户名称||contact_info|varchar(50)|联系方式|
三、数据库设计3.1E-R图根据需求分析,绘制如下E-R图:1.商品与库存是一对多关系,一个商品对应多个库存记录。2.销售订单与商品是多对多关系,一个订单可以包含多个商品,一个商品可以出现在多个订单中。3.销售订单与客户是一对多关系,一个客户可以有多个订单。
3.2表结构设计1.商品表(products)```sqlCREATETABLEproducts(product_idINTAUTO_INCREMENTPRIMARYKEY,product_nameVARCHAR(50)NOTNULL,specificationVARCHAR(50),purchase_priceDECIMAL(10,2)NOTNULL,selling_priceDECIMAL(10,2)NOTNULL);```2.库存表(stock)```sqlCREATETABLEstock(product_idINT,quantityINTNOTNULL,PRIMARYKEY(product_id),FOREIGNKEY(product_id)REFERENCESproducts(product_id));```3.销售订单表(orders)```sqlCREATETABLEorders(order_idINTAUTO_INCREMENTPRIMARYKEY,customer_idINT,order_dateDATENOTNULL,FOREIGNKEY(customer_id)REFERENCEScustomers(customer_id));```4.订单详情表(order_details)```sqlCREATETABLEorder_details(order_idINT,product_idINT,quantityINTNOTNULL,priceDECIMAL(10,2)NOTNULL,PRIMARYKEY(order_id,product_id),FOREIGNKEY(order_id)REFERENCESorders(order_id),FOREIGNKEY(product_id)REFERENCESproducts(product_id));```5.客户表(customers)```sqlCREATETABLEcustomers(customer_idINTAUTO_INCREMENTPRIMARYKEY,customer_nameVARCHAR(50)NOTNULL,contact_infoVARCHAR(50));```
四、系统功能模块设计与实现4.1商品信息管理模块1.添加商品:用户输入商品编号、名称、规格、进价、售价等信息,系统将其插入到商品表中。```sqlINSERTINTOproducts(product_name,specification,purchase_price,selling_price)VALUES('[商品名称]','[规格]','[进价]','[售价]');```2.修改商品:根据商品编号查询到相应商品信息,用户修改后更新商品表。```sqlUPDATEproductsSETproduct_name='[新商品名称]',specification='[新规格]',purchase_price='[新进价]',selling_price='[新售价]'WHEREproduct_id=[商品编号];```3.删除商品:先删除订单详情表中与该商品相关的记录,再删除库存表中该商品记录,最后删除商品表中的商品记录。```sqlDELETEFROMorder_detailsWHEREproduct_id=[商品编号];DELETEFROMstockWHEREproduct_id=[商品编号];DELETEFROMproductsWHEREproduct_id=[商品编号];```
4.2库存信息管理模块1.增加库存:用户指定商品编号和增加的数量,更新库存表。```sqlUPDATEstockSETquantity=quantity+[增加数量]WHEREproduct_id=[商品编号];```2.减少库存:判断库存数量是否足够,若足够则更新库存表。```sqlIF(SELECTquantityFROMstockWHEREproduct_id=[商品编号])>=[减少数量]THENUPDATEstockSETquantity=quantity-[减少数量]WHEREproduct_id=[商品编号];ENDIF;```3.查询库存明细:查询库存表并显示商品编号、名称、库存数量等信息。```sqlSELECTduct_id,duct_name,s.quantityFROMproductspJOINstocksONduct_id=duct_id;```
4.3销售订单管理模块1.创建销售订单:输入客户编号、订单日期,系统生成订单编号并插入订单表,同时用户选择商品及数量,插入订单详情表。```sql--插入订单表INSERTINTOorders(customer_id,order_date)VALUES([客户编号],'[订单日期]');SET@order_id=LAST_INSERT_ID();--插入订单详情表INSERTINTOorder_details(order_id,product_id,quantity,price)VALUES(@order_id,[商品编号],[数量],(SELECTselling_priceFROMproductsWHEREproduct_id=[商品编号]));```2.修改销售订单:查询订单详情,用户修改后更新订单表和订单详情表。```sql--修改订单表UPDATEordersSETcustomer_id=[新客户编号],order_date='[新订单日期]'WHEREorder_id=[订单编号];--修改订单详情表UPDATEorder_detailsSETproduct_id=[新商品编号],quantity=[新数量],price=(SELECTselling_priceFROMproductsWHEREproduct_id=[新商品编号])WHEREorder_id=[订单编号]ANDproduct_id=[原商品编号];```3.删除销售订单:先删除订单详情表中该订单的记录,再删除订单表中的订单记录。```sqlDELETEFROMorder_detailsWHEREorder_id=[订单编号];DELETEFROMordersWHEREorder_id=[订单编号];```
4.4客户信息管理模块1.添加客户:输入客户名称、联系方式,插入客户表。```sqlINSERTINTOcustomers(customer_name,contact_info)VALUES('[客户名称]','[联系方式]');```2.修改客户:根据客户编号查询到相应客户信息,用户修改后更新客户表。```sqlUPDATEcustomersSETcustomer_name='[新客户名称]',contact_info='[新联系方式]'WHEREcustomer_id=[客户编号];```3.删除客户:先删除订单表中该客户的订单记录,再删除客户表中的客户记录。```sqlDELETEFROMordersWHEREcustomer_id=[客户编号];DELETEFROMcustomersWHEREcustomer_id=[客户编号];```
4.5销售统计分析模块1.按时间段统计销售额:输入开始日期和结束日期,统计该时间段内的销售总额。```sqlSELECTSUM(od.quantity*od.price)AStotal_salesFROMordersoJOINorder_detailsodONo.order_id=od.order_idWHEREo.order_dateBETWEEN'[开始日期]'AND'[结束日期]';```2.按商品类别统计销售量:根据商品分类统计不同商品的销售数量。```sqlSELECTduct_name,SUM(od.quantity)AStotal_quantityFROMproductspJOINorder_detailsodONduct_id=duct_idGROUPBYduct_name;```
五、系统测试5.1测试环境操作系统:Windows10数据库管理系统:MySQL8.0
5.2测试用例1.商品信息管理测试-添加商品:输入正确的商品信息,检查是否成功插入商品表。-修改商品:修改商品的部分信息,检查商品表中的记录是否更新。-删除商品:删除商品,检查相关表中的记录是否按预期删除。2.库存信息管理测试-增加库存:增加库存数量,检查库存表中的数量是否正确增加。-减少库存:减少库存数量,检查库存表中的数量是否正确减少,且库存不足时是否有提示。-查询库存明细:检查查询结果是否准确显示商品编号、名称和库存数量。3.销售订单管理测试-创建销售订单:创建订单并关联商品,检查订单表和订单详情表中的记录是否正确插入。-修改销售订单:修改订单信息,检查订单表和订单详情表中的记录是否更新。-删除销售订单:删除订单,检查相关表中的记录是否按预期删除。4.客户信息管理测试-添加客户:输入正确的客户信息,检查是否成功插入客户表。-修改客户:修改客户信息,检查客户表中的记录是否更新。-删除客户:删除客户,检查相关表中的记录是否按预期删除。5.销售统计分析测试-按时间段统计销售额:输入不同的时间段,检查统计结果是否正确。-按商品类别统计销售量:检查统计结果是否准确显示商品名称和销售数量。
5.3测试结果经过测试,系统各项功能均能正常运行,达到了预期的设计目标。数据的插入、更新和删除操作准确无误,统计分析功能也
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教学培训卡通模板
- 操作课总结万能版
- 四上数学7.2 画垂线、画长方形
- 教育从心开始
- 教育心理学知识点梳理
- 安宁疗护管理案例分享
- 干货驾驶员行车安全知识培训
- 员工档案文员培训
- 用微课学 图形图像处理(Photoshop CS6)课件 任务四:Photoshop建立选区
- 分级护理在临床上的应用
- 2025-2030中国医用雾化器行业发展分析及投资风险预测研究报告
- 2025年建筑行业高空作业安全生产合同
- 2025年中考语文复习:诗歌鉴赏之咏史怀古诗(含练习题及答案)
- 2025年高考预测猜题 化学 信息必刷卷02(新高考 通 用)(解析版)
- 3.2依法行使权利 课件 -2024-2025学年统编版道德与法治八年级下册
- 观察物体(1)(教学设计)2024-2025学年一年级下册数学苏教版
- 五月菜油香(2024年宁夏中考语文试卷记叙文阅读试题)
- 2025非小细胞肺癌中西医结合诊疗指南
- 教科版2024-2025学年六年级下册科学3.1《太阳系大家庭》同步练习(附参考答案)
- 妇科围手术期的护理
- 2025年宁夏宁东开发投资有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论