




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库原理课程设计报告专业:计算机科学与技术班级:0410308班学号:03100810姓名:蒲振宇题目名称:超市物流管理系统完成日期:2005年12月10日重庆邮电学院计算机学院实验中心、系统定义:当今中国零售业发展正盛,大量超市涌现于各个城市,很大程度上改变了人民的消费方式。 大量频繁的物资流通,使得传统低效的人工管理已不合时宜。本系统以一个统一的界面,给收银员、采购员和管理人员提供了不同的操作及管理功能。数据库服务器可配置在独立的服务器上,也可配置在一台运行本系统的计算机上。适用于中小型无连锁店,或连锁店间经济独立的超市的物流管理。、需求分析:(一)系统综合需求作为一个超市物流管理系统,
2、应该给用户提供方便、友好而简洁的界面进行应用,并对超市的运营过程中物资的流动详细记录归档,并将这些数据进行逻辑上的融合,以便于用户查看、分析及管理。针对中小型超市的运营模式,有三类核心员工:收银员、采购员和管理人员,分别有三个核心功能需要实现,销售功能,采购功能,库存管理和员工管理功能。管理人员的功能应该在此基础上进行扩展,实现销售记录查询,采购记录查询,商品信息查询、添加、删除和修改,以及促销活动的设置。很多超市实行了会员制度,会员享受优惠待遇。所以本系统应该引入会员管理的模块,对会员进行注册、删除、查询、消费跟踪。此外, 一个成熟的管理系统不仅应该具有基本的处理、查询功能,还应该有一些分析
3、、 后台监控的功能。所以可以将基本的供销数据进行融合,以图形化的界面展示给用户进行供销情况的分析。在后台实时监控商品库存量,当低于某一值时,向前台发出预警通知。最后,本系统中对实际中应该机械化处理的过程,如条形码扫描仪,读卡机等,进行手工操作模拟的简化,加入相应功能模块即可在现实中使用。(二)系统逻辑模型3 / 201.数据流图:消费清单顾客当前打折情况销售商品信息,会员卡号应收金额收银员消费金用户查询条会员管理优惠规则优惠规则管理修改的信M 打折信息U消费清单I 会员信息会员信息销理 管 售 肖 至库存量减少米购入库采购信息V销售记录本次采购信息 i- 库存量增加量历史采购信息用户查询条件米
4、购员/采购管理商品及库存管理用户查询条行 A4. 历史销售记称销售查询条件 会员资料,消费清单会员查询条件优惠规则修改信息J商品修改信息商品查询条件销售记录采购记录商品信息列表当前优惠规则图1-1系统数据流图2.数据字典5 / 20项目组成类型来源去向存储 者使用频度变动频度当前打折情况会员优惠规则,全 场优惠规则数据流管理人 员收银员-频繁有时(打折信息)管理人 员管理人 员(当前优惠规则)优惠规则数据存 储-管理 人员销售商品信息商品编号,售价, 销售数量,销售日 期,会员编号,收 银员工号数据流收银员管理人 员-频繁增加频 繁,基本 无更改(销售信息)(历史销售记录)销售记录数据存 储-
5、收银 员会员信息会员编号,姓名, 住址,电话,身份 证号,消费金额数据流管理人 员,收银 员管理人 员-频繁增加不频 繁,基本 无更改(会员资料)消费清单商品编号,售价, 销售数量,销售日 期,会员编号,收 银员工号收银员管理人 员-会员信息会员编号,姓名, 住址,电话,身份 证号数据存 储-管理 人员商品信息列表编号,名称,规格, 供应商,售价,库 存量数据流管理人 员,采购 员,收银 员管理人 员-频繁增加不频 繁,更改 不频繁商品信息数据存 储-管理 人员本次采购信息米购编宁,商叩编 号,采购价格,采 购数量,采购日期,采购员数据流采购员管理人 员-有时增加有 时,基本 无更改历史采购信
6、息采购信息采购记录采购记录数据存 储-采购 员表1.1系统数据字典三、系统设计:(一)概念结构设计(二)逻辑结构设计员工信息表 Employee字段名类型NULL其他备注e_idvarchar(10)PK员工号e_namevarchar(10)Index员工姓名e_pwdvarchar(100)Y登陆密码e_positiontinyint职位(0:管理人员1:收银员2:采购人员)e statebit(1)在职情况会员信息表 Member字段名类型NULL其他备注m_idbigint(8)PK会员编号m_namevarchar(10)Index会员姓名m_addrvarchar(50)会员住址m
7、_telvarchar(15)会员电话m_codevarchar(18)会员身份证号m_consumedecimal会员消费金额商品信息表Product字段名类型NULL其他备注p_idbigint(8)PK商叩编勺p_namevarchar(30)Index商品名称p_scalevarchar(6)规格p_pricedecimal冏品当前单价p_manuvarchar(30)供应商p_qtyint(5)Index库存量米购记录表Buy字段名类型NULL其他备注b_idbigint(8)PK木购端勺p_idbigint(8)Index,FK商叩编勺b_pricedecimal购入价格b_qty
8、int(5)购入数量b_timevarchar(19)采购时间e_idvarchar(10)FK采购员工号销售记录表Sell字段名类型NULL其他备注s_idbigint(10)PK销售编号p_idbigint(8)Index,FK商叩编勺s_pricedecimal销售价格s_qtyint(5)销售数量s_timevarchar(19)销售时间e_idvarchar(10)FK收银员m_idbigint(8)YFK,Index会员编号预警日志表 Warning字段名类型NULL其他备注w_idint(4)PK预警编号wcontenttext预警内容优惠规则表Discount字段名类型NULL
9、其他备注m_allfloat所有会员打折数d_allfloat全场打折数部分表关系图:.02JDQ(三)子模块划分及功能概述系统设置三种权限:收银员、采购员和管理人员。登陆后,可以进入不同的功能模块,在登陆界面可以修改登陆密码。子模块划分如下:收银台POS系统(需要权限:收银员)顾客拿商品到收银台时,首先出示会员卡(如果是会员),收银员通过读卡机读取会员卡的会员号,然后通过条形码扫描仪一一扫描商品,获得商品编号,并手动输入购买数量,结算后显示应付金额。在扫描过程中,结算之前,可以取消某项商品的购买信息。收银员还可以在这里看到管理人员发送的通知消息。采购入库(需要权限:采购员)采购员只能采购数据
10、库中已存在的商品。对每种采购的商品输入采购的商品编号,采购数量,和采购价格,这些商品的信息和采购的信息显示在列表中,结算入库后列表清空,并将数据写入数据库。商品及库存管理(需要权限:管理人员)1 .引入新商品:填写商品的名称,规格,供应商和售价,将商品引入超市。添加后的商品库存量为 0,需要采购。供应商或规格不同的同名商品,应作为不同 的商品对待。2 .商品查询:可以根据商品的名称,供应商,库存量进行查询,并可以查看所有商品的信息列表。显示的信息包括编号,名称,规格,供应商和库存量。填写查询信息搜索数据库显示结果查询全部3.删除商品:只能删除库存量为 0的商品,表明不再引进此商品。 支持批量删
11、除。是4.修改商品信息:在商品信息列表中选择一行,对其基本信息进行修改。会员管理(需要权限:管理人员)1 .会员注册:填写顾客姓名,住址,电话及身份证号,即可注册成为会员,享受优惠待遇。否2 .会员查询:可以按会员的编号和姓名进行查询,并可以查看所有会员的信息列表。显示的信息包括编号,姓名,住址,电话,身份证号和累计消费金额。填写查询信息查询全部3.取消会员身份:删除会员资料,使其会员卡失效。支持批量删除。是4 .查看消费记录:在会员信息列表中选择一行,对其详细的消费记录进行查询。销售管理(需要权限:管理人员)对历史的销售记录进行查看。可以按商品编号, 商品名称或日期进行查询,也可以列出所有的
12、销售记录。显示信息包括商品编号,商品名称,商品规格,销售数量,销售 价格,收银员和销售时间。填写查询信息*搜索数据库一 显示结果查询全部员工管理(需要权限:管理人员)1 .增加员工:添加新上岗的员工的信息。 需要填写工号,姓名,登陆密码和职位。否22 / 202 .员工信息列表:列出了所有员工的信息列表。显示的信息包括工号,姓名,职位和在职情况。3 .员工离职:将离职员工的在职情况置为离职”。4.修改员工信息:在员工信息列表中选择一行,修改其基本信息(姓名和职位)5.向收银台发送消息:输入运行本系统的收银台的IP和消息,可以向收银员发送通知消息。采购管理(需要权限:管理人员)对历史的采购记录进
13、行查看。可以按商品编号,商品名称或日期进行查询,也可以列出所有的采购记录。显示信息包括商品编号,商品名称,商品规格,供应商,采购数 量,采购价格,采购时间,采购员和当前库存量。填写查询信息搜索数据库- 卡 显示结果查询全部供销情况分析(需要权限:管理人员)对历史采购及销售数据, 用图形的方式显示其供销情况及盈利状况,直观的供管理人员分析。优惠规则管理(需要权限:管理人员)1 .会员优惠规则:设置对会员购物实行多少折优惠。2 .全场优惠规则:设置促销活动,全场商品打折多少。缺货报告日志(需要权限:管理人员)后台实时监测商品的库存量,当库存量低于某值时,就发出预警,并记入日志。这里可以查看和清空所
14、有的预警日志。管理员可控制预警开关,如果打开,则发出报警,否则,只在后台写入日志。查看缺货日志显示缺货日志(扫描数据库检写入查库存量其他附加功能1. 修改密码,重新登陆2. 配置数据源连接,将数据源连接信息写入配置文件,避免硬编码数据源名,用户名和密码带来的弊端。3. 帮助文档:解释如何配置服务器及一些常见问题。4. 备份(增量备份和完全备份),恢复数据库。四、详细设计(1) 开发平台及工具开发工具Microsoft Visual C+ 6.0DBMS:Microsoft SQL Server 2000建模工具:Microsoft Visio, Sybase PowerDesigner第三方库
15、:Skin+ 换肤库 , MD5 加密类说明 :为了方便的实现多线程及Socket 通信等功能,以及个人熟悉程度的因素,选择了VC 6.0 的开发平台。而在 Windows 平台上为数不多的DBMS 产品中,Oracle 过于庞大,不利于在低配置的机器上运行;Access 又过于小型,不能负载大量的数据访问请求,所以选择了适中的MS SQL Server 。为了弥补VC 做界面困难的缺陷,软件用了一个换肤的共享库Skin+ ,以 dll形式附带在程序包中。另外在登陆密码的加密存储中,用到了流行的MD5 加密,算法实现来源于。(2) 存储过程及触发器作为数据库应用系统,数据的一致性需要得到保证,
16、通过单纯的手工编码方式,工作烦琐,容易出错,而且不易于扩展。采用DBMS 的外码约束,Unique 约束,触发器的使用来解决这一问题。在查询效率方面,三表及四表连接查询的过程用存储过程实现。对商品,采购, 销售表的外码没有强制级联删除和级联修改,因不再进购某种商品,或某雇员辞职,不应该影响过去的采购,销售记录。查询销售记录的存储过程CREATE PROCEDURE dbo.search_sell_recid varchar(8),name varchar(30),time varchar(30),mid varchar(8)ASIF (mid = '')BEGINSELECT
17、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_name AS ename FROM product P , sell S, employee E WHERE P.p_id like '%'+id+'%' and P .p_name like '%'+name+'%' and S.s_time like '%'+time+&
18、#39;%' and S.p_id = P .p_id and 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 sprice , S.s_time AS stime ,E.e_name AS ename , P .p_qty AS pqty FROM product P , sell S, employee
19、EWHERE P.p_id like '%'+id+'%' and P .p_name like '%'+name+'%' and S.s_time like '%'+time+'%' and S.m_id =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 varchar(8),name varchar(30),ti
20、me varchar(30)ASBEGINSELECT P.p_id AS pid, P.p_name AS pname , P.p_scale AS pscale P.p_manu AS pmanu,B.b_qty AS bqty , B.b_price AS bprice ,B.b_time AS btime , E.e_name AS ename FROM product P , buy B, employee EWHERE P.p_id like '%'+id+'%' and P.p_name like '%'+name+'%
21、39;andB.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_inc 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触发器:销售商品后,自动减少库存量,并为相应会
22、员增加其消费金额记录CREATE TRIGGER 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(10)DECLARE consume decimal(9,2)SET member =(SELECT m_id FROM INSERTED)SET consume =(SELECT s_price FROM INSERTED)if memb
23、er <> ''BEGINUPDATE member SET m_consume = m_consume + consume WHERE m_id = memberEND触发器:删除商品时,如果库存量不为0,则撤销操作。并将相应销售及采购记录的编号字段置空CREATE TRIGGER p_del ON ductFOR DELETEASDECLARE qty intSET qty = (SELECT D.p_qty FROM DELETED AS D)IF (qty <> 0)BEGINRAISERROR (' 该商品的库存量不为0,
24、不能删除',0,1)ROLLBACK TRANSACTIONENDELSEUpdate S SET S.p_id = NULLFROM 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 DELETEASUPDA
25、TE sell SET m_id = null WHERE m_id =( SELECT m_id FROM DELETED )编码设计系统采用MFC 对话框应用程序以方便开发,MFC 对常用 API 做了很好的封装。每个对话框对应一个类,每个数据库表对应一个类。根据程序需要,自己再一次做了封装。1. 在数据源连接方面,使用ini 配置文件来存储DSN, UID, PWD 的信息,以避免硬编码方式带来的种种问题:不能修改密码,不能换数据库用户等等。主要采用了 GetPrivatePro 和 WritePrivatePro 两个 Windows API 。1. 很多数据需要通过列表框来显示,因此
26、封装了一个CListStyle 类来设置列表框样式及对其进行通用操作。#ifndef _LISTSET_H_#define _LISTSET_H_class CListStyleprotected:CListCtrl *m_pList;/ 列表框控件指针public:CListStyle();/把对象与列表框关联设置列表框的 ExStylevoid AttachCtrl void SetStyle(CListCtrl *pList);(void);/为列表框添加Header属性void SetCol(CString *pCol , int *pWidth , int size);/将上两个函数
27、融合void SetStyleAndCol (CString *pCol , int *pWidth , int size);/向列表框插入一行数据void InsertItems (int nItem , CString *pItem , int size);#endifRFX2 .由于存储过程不能通过ClassWizard创建类,所以手工完成类建立和数据交换。3 .在需要的地方采用多线程。程序启动初始化数据库连接时,显示启动画面。备份数据库时显示进度。后台监控商品库存量(四)界面设计登陆界面:收银台POS界面:销售红荫/尸|卡,房吉先出示)商品审号败 量;即消所诳序品兰希:a, mx消息区清守消息采购入库界面:管理人员主界面:五、参考文献1. Visual C+ .net 2003 程序设计 何炜等 冶金工业出版
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 旅游演艺项目版权保护与运营合同
- DB42-T 2053-2023 平原丘陵地区猕猴桃建园技术规程
- 机电设备维修技术 第3版 第六章 思考题与习题答案
- 《律动教学法》心得体会模版
- 学校2025年社团活动策划方案
- 甘肃省定西市安定区城区三校联考2024-2025学年七年级下学期4月期中考试历史试卷(含答案)
- 北京版英语二年级下册《Lesson 22》课件
- 病理学考试重点总结模版
- 企业联合营销合作协议书
- 2025年争做堪当重任的时代新人心得体会模版
- 2025专利代理师笔试考试题库有答案分析
- 中考语文课内文言文阅读专题复习练习
- 危重症患者体位管理
- 湖南省名校联考联合体2024-2025学年高一下学期期中考试地理试题 含答案
- 2025春粤教粤科版(2024)小学科学一年级下册(全册)教案、教学反思、教学计划(附教材目录P103)
- 2025年陕西高中学业水平合格考数学试卷及答案
- 2025年天津市红桥区中考第一次模拟考试物理试卷(含答案)
- 2025河北省国内旅游组团合同示范文本
- 水利水电工程基建资料
- 客情维护培训
- 煤炭行业“技能大师”工作室入围复评-答辩
评论
0/150
提交评论