版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库原理课程设计报告专业:计算机科学与技术班级:0410308 班学号:03100810姓名:蒲振宇题目名称: 超市物流管理系统完成日期:2005年12月10旦重庆邮电学院计算机学院实验中心、系统定乂:当今中国零售业发展正盛,大量超市涌现于各个城市,很大程度上改变了人民的消费 方式。大量频繁的物资流通,使得传统低效的人工管理已不合时宜。本系统以一个统一的 界面,给收银员、采购员和管理人员提供了不同的操作及管理功能。数据库服务器可配置 在独立的服务器上,也可配置在一台运行本系统的计算机上。适用于中小型无连锁店,或 连锁店间经济独立的超市的物流管理。、需求分析: 一)系统综合需求作为一个超市物流
2、管理系统,应该给用户提供方便、友好而简洁的界面进行应 用,并对超市的运营过程中物资的流动详细记录归档,并将这些数据进行逻辑上的融 合,以便于用户查看、分析及管理。针对中小型超市的运营模式,有三类核心员工:收银员、采购员和管理人员,分 别有三个核心功能需要实现,销售功能,采购功能,库存管理和员工管理功能。管理 人员的功能应该在此基础上进行扩展,实现销售记录查询,采购记录查询,商品信息 查询、添加、删除和修改,以及促销活动的设置。很多超市实行了会员制度,会员享受优惠待遇。所以本系统应该引入会员管理的 模块,对会员进行注册、删除、查询、消费跟踪。此外,一个成熟的管理系统不仅应该具有基本的处理、查询功
3、能,还应该有一些 分析、后台监控的功能。所以可以将基本的供销数据进行融合,以图形化的界面展示 给用户进行供销情况的分析。在后台实时监控商品库存量,当低于某一值时,向前台 发出预警通知。最后,本系统中对实际中应该机械化处理的过程,如条形码扫描仪,读卡机等, 进行手工操作模拟的简化,加入相应功能模块即可在现实中使用。PK员工号e_n amevarchar(10Index员工姓名e_pwdvarchar(100Y登陆密码e_positi onti nyi nt(1职位(0:管理人员1:收银员2:采购人员e statebit(1在职情况会员信息表Member字段名类型NULL其他备注m_idbig i
4、n t(8PK会员编号m_n amevarchar(10In dex会员姓名m_addrvarchar(50会员住址m_telvarchar(15会员电话m_codevarchar(18会员身份证号m_c on sumedecimal会员消费金额商品信息表Product字段名类型NULL其他备注P_idbigi nt(8PK商品编号p_n amevarchar(30In dex商品名称p_scalevarchar(6规格p_pricedecimal商品当前单价p_ma nuvarchar(30供应商p_qtyin t(5In dex库存量米购记录表Buy字段名类型NULL其他备注b_idbig
5、i nt(8PK米购编号p_idbigi nt(8In dex,FK商品编号b_pricedecimal购入价格b_qtyin t(5购入数量b_timevarchar(19采购时间e idvarchar(10FK采购员工号销售记录表Sell字段名类型NULL其他备注s_idbig in t(10PK销售编号p_idbig in t(8In dex,FK商品编号s_pricedecimal销售价格s_qtyin t(5销售数量s_timevarchar(19销售时间e_idvarchar(10m_idbig in t(8FK收银员FK,I ndex会员编号预警日志表 Warni ng字段名类型
6、w_idin t(4w_contenttextNULL其他PK备注预警编号预警内容优惠规则表Discou nt字段名类型m_allfloatd_allfloatNULL其他备注所有会员打折数全场打折数部分表关系图:memberjOCsells_pricemidproductp_idp_nMiep_scalep_pric 电p_QtremployeeH buybjdP-idb_pr i ceb.qtyb_t imee_i d三)子模块划分及功能概述系统设置三种权限:收银员、采购员和管理人员。登陆后,可以进入不同的功能 模块,在登陆界面可以修改登陆密码。子模块划分如下:收银台POS系统 需要权限:
7、收银员)顾客拿商品到收银台时,首先出示会员卡如果是会员),收银员通过读卡机读取会员卡的会员号,然后通过条形码扫描仪一一扫描商品,获得商品编号,并手动输 入购买数量,结算后显示应付金额。在扫描过程中,结算之前,可以取消某项商品的 购买信息。收银员还可以在这里看到管理人员发送的通知消息。采购入库 需要权限:采购员)采购员只能采购数据库中已存在的商品。对每种采购的商品输入采购的商品编 号,采购数量,和采购价格,这些商品的信息和采购的信息显示在列表中,结算入库 后列表清空,并将数据写入数据库。商品及库存管理 需要权限:管理人员)1. 引入新商品:填写商品的名称,规格,供应商和售价,将商品引入超市。添
8、加后的商品库存量为0,需要采购。供应商或规格不同的同名商品,应作为不同的商品对待。否2. 商品查询:可以根据商品的名称,供应商,库存量进行查询,并可以查看所有商品的信息列表。显示的信息包括编号,名称,规格,供应商和库存量。填写查询信息$搜索数据库 一 显示结果查询全部0的商品,表明不再引进此商品。支持批量删是3. 删除商品:只能删除库存量为除。4.修改商品信息:在商品信息列表中选择一行,对其基本信息进行修改。会员管理 需要权限:管理人员)1. 会员注册:填写顾客姓名,住址,电话及身份证号,即可注册成为会员,享受优惠待遇。否2. 会员查询:可以按会员的编号和姓名进行查询,并可以查看所有会员的信息
9、列表。显示的信息包括编号,姓名,住址,电话,身份证号和累计消费金填写查询信息制搜索数据库一显示结果查询全部额。3.取消会员身份:删除会员资料,使其会员卡失效。支持批量删除。是4. 查看消费记录:在会员信息列表中选择一行,对其详细的消费记录进行查询。销售管理 需要权限:管理人员)对历史的销售记录进行查看。可以按商品编号,商品名称或日期进行查询,也可 以列出所有的销售记录。显示信息包括商品编号,商品名称,商品规格,销售数量, 销售价格,收银员和销售时间。填写查询信息 搜索数据库 一显示结果查询全部员工管理 需要权限:管理人员)1. 增加员工:添加新上岗的员工的信息。需要填写工号,姓名,登陆密码和职
10、否位。2. 员工信息列表:列出了所有员工的信息列表。显示的信息包括工号,姓名,职位和在职情况。3. 员工离职:将离职员工的在职情况置为离职”4. 修改员工信息:在员工信息列表中选择一行,修改其基本信息 姓名和职位)。5. 向收银台发送消息:输入运行本系统的收银台的IP和消息,可以向收银员发送通知消息。采购管理 需要权限:管理人员)对历史的采购记录进行查看。可以按商品编号,商品名称或日期进行查询,也可以列出所有的采购记录。显示信息包括商品编号,商品名称,商品规格,供应商,采采购员和当前库存量。供销情况分析 需要权限:管理人员)对历史采购及销售数据,用图形的方式显示其供销情况及盈利状况,直观的供管
11、理人员分析。优惠规则管理 需要权限:管理人员)1. 会员优惠规则:设置对会员购物实行多少折优惠。2. 全场优惠规则:设置促销活动,全场商品打折多少。设置规则 写入数据库缺货报告日志 需要权限:管理人员)后台实时监测商品的库存量,当库存量低于某值时,就发出预警,并记入日志。 这里可以查看和清空所有的预警日志。管理员可控制预警开关,如果打开,则发出报 警,否则,只在后台写入日志。查看缺货日志显示缺货日志扫描数据库检写入 查库存量其他附加功能1 修改密码,重新登陆2. 配置数据源连接,将数据源连接信息写入配置文件,避免硬编码数据源 名,用户名和密码带来的弊端。3. 帮助文档:解释如何配置服务器及一些
12、常见问题。4. 备份 增量备份和完全备份),恢复数据库。四、详细设计 一)开发平台及工具开发工具 Microsoft Visual C+ 6.0DBMS:Microsoft SQL Server 2000建模工具:Microsoft Visio, Sybase PowerDesig ner第三方库:Skin+换肤库,MD5加密类说明:为了方便的实现多线程及Socket通信等功能,以及个人熟悉程度的因素,选择了 VC 6.0的开发平台。而在 Windows平台上为数不多的 DBMS产品中,Oracle过于庞大,不利于在 低配置的机器上运行;Access又过于小型,不能负载大量的数据访问请求,所以
13、选择了适中的 MS SQL Server。为了弥补VC做界面困难的缺陷,软件用了一个换肤的共享库Skin+,以dll形式附带在程序包中。另外在登陆密码的加密存储中,用到了流行的MD5加密,算法实现来源于 。,n ame varchar(30,time varchar(30,mid varchar(8ASIF (mid = ”BEGINSELECT P.p_id AS pid, P .p_name AS pname , P .p_scale AS pscale ,S.s_qty AS sqty , S.s_price AS sprice , S.s_time AS stime ,E.e_ nam
14、e AS en ame FROM product P , sell S, employee E WHERE P.p_id like %+id+% and Pp_n ame like %+ name+%and S.s_time like %+time+% and S.p_id = P .p_idand S.e_id = E.e_idORDER BY S.s_id descENDIF (mid”BEGINSELECT P.p_id AS pid, P .p_name AS pname , P .p_scale AS pscale ,S.s_qty AS sqty , S.s_price AS sp
15、rice , S.s_time AS stime , E.e_name AS ename , P .p_qty AS pqty FROM product P , sell S, employee EWHEREP.p_idlike %+id+% andPp_n amelike%+ name+%and S.s_time like %+time+% and S.md =mid andS.p_id = P .p_id and S.e_id = E.e_idORDER BY S.s_id descENDGO查询采购记录的存储过程CREATE PROCEDURE dbo.search_buy_recid
16、varchar(8,n ame varchar(30,time varchar(30ASBEGINSELECT P.p_id AS pid, P .p_name AS pname , P .p_scale AS pscale , P.p_ma nu AS pma nu,B.b_qty AS bqty , B.b_price AS bprice ,B.b_time AS btime ,E.e_ name AS en ame FROM product P , buy B, employee E WHEREP.p_idlike %+id+% and Pp_n ame like%+n ame+% an
17、dB.b_time like %+time+% and B.p_id = P .p_id and B.e_id = E.e_idORDER BY B.b_id descENDGO触发器:采购商品后,自动增长库存量CREATE TRIGGER qty_i nc ON dbo.buyFOR INSERTASUPDATE P SET P.p_qty = P .p_qty + I.b_qtyFROM product AS P INNER JOIN INSERTED AS ION P.p_id = I.p_id触发器:销售商品后,自动减少库存量,并为相应会员增加其消费金额 记录CREATE TRIGGE
18、R qty_dec ON dbo.sellFOR INSERTASUPDATE P SET P.p_qty = P .p_qty - I.s_qtyFROM product AS P INNER JOIN INSERTED AS ION P.p_id = I.p_idDECLARE member varchar(10DECLARE con sume decimal(9,2SET member =(SELECT m_id FROM INSERTEDSET con sume =(SELECT s_price FROM INSERTEDif member BEGINUPDATE member SET
19、 m_con sume = m_con sume + con sume WHERE md = memberEND触发器:删除商品时,如果库存量不为0,则撤销操作。并将相应销售及采购记录的编号字段置空CREATE TRIGGER p_del ON ductFOR DELETEASDECLARE qty intSET qty = (SELECT D.p_qty FROM DELETED AS DIF (qty 0BEGINRAISERROR (该商品的库存量不为 0,不能删除,0,1ROLLBACK TRANSACTIONENDELSEUpdate S SET S.p_id = NU
20、LLFROM sell AS S INNER JOIN DELETED AS DON S.p_id = D.p_idUpdate B SET B.p_id = NULLFROM buy AS B INNER JOIN DELETED AS DON B.p_id = D.p_idCOMMIT TRANSACTION触发器:删除会员时,将相应销售记录中会员编号字段置空CREATE TRIGGER mem_del ON dbo.memberFOR DELETEASUPDATE sell SET md = null WHERE md =(SELECT md FROM DELETED 二)编码设计系统采
21、用MFC对话框应用程序以方便开发,MFC对常用API做了很好的封装。每个对话框对应一个类,每个数据库表对应一个类。根据程序需要,自己再一次做了封装。1.在数据源连接方面,使用ini配置文件来存储 DSN, UID, PWD的信息,以避免硬编码方式带来的种种问题:不能修改密码,不能换数据库用户等等。主要采用了 GetPrivateProfileString 和 WritePrivateProfileString 两个 Windows API 。1很多数据需要通过列表框来显示,因此封装了一个CListStyle类来设置列表框样式及对其进行通用操作。#ifndef _LISTSET_H_ #defi
22、 ne _LISTSET_H_class CListStyleprotected:CListCtrl*m_pList。/列表框控件指针public:CListStyle(。void AttachCtrl(CListCtrl *pList 。/ 把 对象与 列表框关联void SetStyle(void 。/ 设置列表框的ExStyle/为列表框添加Header属性 void SetCol(CStri ng *pCol , int *pWidth , int size/将上两个函数融合void SetStyleA ndCol(CStri ng *pCol , int *pWidth , int
23、size/向列表框插入一行数据void In sertItems。(int n Item , CStri ng *pItem , int size#en dif2.由于存储过程不能通过ClassWizard创建类,所以手工完成类建立和RFX数据交换。3. 在需要的地方采用多线程。程序启动初始化数据库连接时,显示启动画面。备份数据库时显示进度。后台监控商品库存量 四)界面设计登陆界面:超市物壷管理系蛭:登陡进入系统前请先登陆修改密码收银台POS界面:崔币祐镒営赶眾嶷:塞穷入序商品编号磁敷童剰婢价采购iSMA库职消所选项目 采购入库界面:管理人员主界面:系妬进悄存普理人员首理供销替况妇析帮肋超市杨流管理糸统更换界面寸宴一才案二方案三幵启报警Desxsned by重庆郎电学院计算机学院计科专业04103081蒲區宇五、参考文献2.数据库系统概论 第三版)萨师煊等高等教育出版社3.Windows用户界面开发美EverettN. McKay著北京大学出版社4.常州VC编程网 用Visual C+开发数据库应用程序5.Microsoft MSDN关于MFC ODBC部分的文档1.Visual
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年建筑施工合同执行细则
- 劳务派遣补充合同范本2024年
- 2024专业版代理操盘合同
- 2024装修协议合同范本
- 2024设备转让合同范本设备购买合同范本2
- 南京银行学生贷款合同
- 城市轨道工程施工借款合同
- 2024苏州市全日制劳动合同
- 2024小卖部承包合同
- 2024自费养老合同范文
- 2024年二手物品寄售合同
- 2023年辽阳宏伟区龙鼎山社区卫生服务中心招聘工作人员考试真题
- 三年级数学(上)计算题专项练习附答案集锦
- 高一期中家长会班级基本情况打算和措施模板
- 历史期中复习课件七年级上册复习课件(部编版2024)
- 专题7.2 空间点、直线、平面之间的位置关系(举一反三)(新高考专用)(学生版) 2025年高考数学一轮复习专练(新高考专用)
- 7.2.2 先天性行为和学习行为练习 同步练习
- 2024-2025学年八年级物理上册 4.2光的反射说课稿(新版)新人教版
- 《现代管理原理》章节测试参考答案
- 2024秋期国家开放大学专科《高等数学基础》一平台在线形考(形考任务一至四)试题及答案
- TPO26听力题目及答案
评论
0/150
提交评论