




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
小型超市管理系统系统分析1.1. 系统目标根据需求分析的描述,现在制定系统实现目标如下:l 界面设计简洁、友好、美观大方l 操作简单、快捷方便l 数据存储安全、可靠l 信息分类清晰、准确l 强大的查询功能、保证数据查询的灵活性l 提供销售排行,为管理员提供真实的数据信息l 提供灵活、方便的权限设置功能,使整个系统的管理分工明确l 对用户的输入的数据,系统进行严格的数据检验,尽可能排人为错误1. 3.小型超市管理系统系统概念设计文档(1) 系统E-R图如下:(2) 系统E-R图说明:a. 超市中用户可以销售多种商品,商品可以被多个用户销售b. 超市中商品可由多个供应商供应,供应商可供应多种商品c. 超市中合格的商品入库,不合格的商品被回收即被退回(3) 视图设计(4)逻辑设计文档a.系统关系模型1)用户登录表(用户编号,用户名称,用户密码,用户类型,用户状态)2)商品信息表(商品编号,供应商编号,商品名称,入库日期,生产日期,进货价格,销售价格,有效期,数量下限,单位)3)供应商信息表(供应商编号,供应商名称,供应商地址,供应商电话)4)销售表(销售编号,销售日期,商品名称,商品数量,商品金额,商品编号,操作员)5)进货入库表(入库编号,入库日期,商品编号,供应商编号,商品数量,操作员)6)退货销售表(退票编号,商品编号,商品数量,商品金额,退货时间,操作员)7)退货商品表(退货编号,商品编号,商品名称,退货时间,供应商编号,操作员,数量)8)库存信息表(库存编号,商品编号,用户编号,统计,总价)d. 系统数据库表结构数据库表索引表名中文名account用户登录表manager用户信息表commodity商品信息表provider供应商信息表returncommodity退货商品表returnsale退货销售表sale销售表storage进货入库表storageinfo库存信息表用户登录表(account)字段名类型长度主/外键字段约束中文名AccountnumberIntegerprimary登录号Accountnamevarchar30Not null登录名Accountpasswordvarchar20Not null登录密码accountTypesmallint6Not null登录类型accountStatesmallint6Not null登录状态managerIDIntegerforeignNot null用户ID 用户信息表(manager)字段名类型长度主/外键字段约束中文名managerIDIntegerprimary用户编号managernamevarchar20Not null用户姓名mobilephonevarchar15手机号码phonevarchar15固定电话manageremailvarchar30电子邮件商品信息表(commodity)字段名类型长度主/外键字段约束中文名commodityIDIntegerprimary商品编号Commoditynamevarchar40Not null商品名称producedatedatatimenot null生产日期Inpricenumeric2Not null进货价格salepricenumeric2Not null销售价格storagetimeintNot null有效期downlimitintNot null数量下限unitvarchar8Not null单位providernumberint外键供应商编号indatedate进货日期供应商表(provider)字段名类型长度P/F约束中文名providernumberintP供应商编号providernamevarchar40Not null供应商名称provideraddressvarchar60Not null供应商地址phonevarchar20Not null供应商电话销售表(sale)字段名类型长度P/F约束中文名saleidintP销售票号commodityidintFNot null商品编号selltimedateNot null销售日期numberintNot null销售数量moneyfloatNot null收入operatorvarchar45Not null销售员commoditynamevarchar45Not null商品名称销售退货(returnsale)字段名类型长度P/F约束中文名RsaleidintP退货票号commodityidintNot null商品编号commoditynamevarchar商品名称numberIntNot null商品数量moenyfolatNot null金额returntimedateNot null退货时间operatorvarchar45Not null操作员入库退货表(returncommodity)字段名类型长度P/F约束中文名RidintP退货编号commoditynamevarcgar45Not null商品名称commodityidintNot 商品编号pricefloatNot null价格outdatedateNot null退货时间providervarchar45Not null供应商名称operatorvarchar45Not null销售员numberintNot null退货数量unitvarchar8Not null单位库存信息表(storage)字段名类型长度P/F约束中文名storageidintP入库编号commoditynamevarchar45Not null商品名称commodityidvarcharNot null商品编号unitvachar45Not null单位pricefloat45Not null单价outdatedateNot null退货时间providervarchar45Not null供应商operatorvarchar45Not null操作员numberintNot null数量6. 物理设计文档/*-创建数据库-*/本系统使用mysql数据库,首先我们在Navicat for MySQL的Host: localhost下创建数据库limitedmarket,选择数据库编码为utf8 - UTF-8 Unicode。或使用sql语句create database limitedmarket创建数据库。/*-创建基本表-*/* 创建account表*/DROP TABLE IF EXISTS account;CREATE TABLE account ( accountNumber Integer NOT NULL auto_increment, accountName varchar(30) NOT NULL, accountPassword varchar(20) NOT NULL, accountType smallint(6) NOT NULL, managerID Integer default NULL, accountState smallint(6) NOT NULL, PRIMARY KEY (accountNumber), KEY FK_manage (managerID), CONSTRAINT FK_manage FOREIGN KEY (managerID) REFERENCES manager (managerID) ENGINE=InnoDB DEFAULT CHARSET=utf8;/*创建manage表*/DROP TABLE IF EXISTS manager;CREATE TABLE manager ( managerID Integer NOT NULL auto_increment, managerName varchar(20) NOT NULL, managerMobilephone varchar(15) , managerRegionNumber varchar(4) , managerEMail varchar(30) default NULL, managerPhone varchar(10) ,PRIMARY KEY (managerID) ENGINE=InnoDB DEFAULT CHARSET=utf8;/*创建commodity表*/DROP TABLE IF EXISTS commodity;CREATE TABLE commodity ( commodityID integer NOT NULL auto_increment, providernumber int(11) default NULL, commodityname varchar(45) NOT NULL, inDate datetime NOT NULL, producedate datetime NOT NULL, inprice float NOT NULL, saleprice float NOT NULL, storagetime int(11) NOT NULL, downlimit int(11) NOT NULL, unit varchar(8) default NULL, PRIMARY KEY (commodityID), KEY FK_supply (providernumber), CONSTRAINT FK_supply FOREIGN KEY (providernumber) REFERENCES provider (providernumber) ENGINE=InnoDB DEFAULT CHARSET=utf8;/*创建returncommodity*/DROP TABLE IF EXISTS returncommodity;CREATE TABLE returncommodity ( RCid int unsigned NOT NULL auto_increment, commodityname varchar(45) NOT NULL, commodityid varchar(45) NOT NULL, unit varchar(45) NOT NULL, price float NOT NULL, outdate datetime NOT NULL, provider varchar(45) NOT NULL, operator varchar(45) NOT NULL, number int unsigned NOT NULL, PRIMARY KEY (RCid) ENGINE=InnoDB DEFAULT CHARSET=utf8;/*创建sale表*/DROP TABLE IF EXISTS sale;CREATE TABLE sale ( commodityname varchar(45) NOT NULL, commodityid int unsigned NOT NULL, sellTime datetime NOT NULL, number varchar(45) NOT NULL, money double NOT NULL, operator varchar(45) NOT NULL, saleid int NOT NULL auto_increment, PRIMARY KEY (saleid) ENGINE=InnoDB DEFAULT CHARSET=gb2312 PACK_KEYS=1;/*创建returnsale表*/DROP TABLE IF EXISTS returnsale;CREATE TABLE returnsale ( Rsaleid int unsigned NOT NULL auto_increment, commodityid int unsigned NOT NULL, commodityname varchar(45) NOT NULL, number int unsigned NOT NULL, money double NOT NULL, returnTime datetime NOT NULL, operator varchar(45) NOT NULL, PRIMARY KEY (Rsaleid) ENGINE=InnoDB DEFAULT CHARSET=utf8;/*创建provider表*/DROP TABLE IF EXISTS provider;CREATE TABLE provider ( providernumber int(11) NOT NULL auto_increment, phone varchar(20) NOT NULL, provideraddress varchar(60) NOT NULL, providername varchar(40) NOT NULL, PRIMARY KEY (providernumber) ENGINE=InnoDB DEFAULT CHARSET=utf8;/*创建stroge表*/DROP TABLE IF EXISTS storage;CREATE TABLE storage ( storageid int unsigned NOT NULL auto_increment, commodityname varchar(45) NOT NULL, commodityid int unsigned NOT NULL, unit varchar(45) NOT NULL, price float NOT NULL, indate datetime NOT NULL, provider varchar(45) NOT NULL, operators varchar(45) NOT NULL, number int unsigned NOT NULL, PRIMARY KEY (storageid) ENGINE=InnoDB DEFAULT CHARSET=utf8/* 创建storageinfo表*/DROP TABLE IF EXISTS storageinfo;CREATE TABLE storageinfo ( commoditynumber int unsigned NOT NULL, accountid int unsigned NOT NULL, amount int unsigned NOT NULL, storageid int unsigned NOT NULL auto_increment, money double NOT NULL, PRIMARY KEY (storageid) ENGINE=InnoDB DEFAULT CHARSET=utf8;由于本系统设计较复杂,很多需要用到数据冗余性,所以部复杂功能借助存储功能 和 触发器,本系统需要用到的存储过程和触发器的代码,如下:-存储过程操作数据-/*向commodity插入值*/drop procedure if exists insertcommodity;delimiter /create procedure insertcommodity(IN providernumber int, commodityname varchar(45), inprice float,saleprice float, storagetime int, downlimit int, unit varchar(8) , indate date, producedate date)begininsert into commodity(providernumber, commodityname, inprice, saleprice, storagetime, downlimit, unit,indate, producedate)values(providernumber, commodityname, inprice, saleprice, storagetime, downlimit, unit, indate, producedate);end/delimiter ;/*更新commodity的值*/drop procedure if exists updatecommodity;delimiter /create procedure updatecommodity(IN providernumber int, commodityname varchar(45), inprice float,saleprice float, storagetime int, downlimit int, unit varchar(8) , indate date, producedate date, id int(11)beginupdate commodity set providernumber = providernumber, commodityname=commodityname, inprice = inprice, saleprice=saleprice, storagetime=storagetime, downlimit=downlimit,unit=unit, indate=indate, producedate = producedate where commodityid= id ;end/delimiter ;/* 向表storageinfo插入数据*/drop procedure if exists insertstorageinfo;delimiter /create procedure insertstorageinfo(IN commoditynumber int(10),accountid int(10), amount int(10), money double)begininsert into storageinfo( commoditynumber,accountid, amount,money) values(commoditynumber,accountid , amount, money);end/delimiter ;/*向resale表插入数据*/drop procedure if exists insertreturnsale;delimiter /create procedure insertreturnsale(IN commodityname varchar(45), commodityid int(10),returnTime varchar(45), number int(10) ,money double,operator varchar(45)begininsert into returnsale(commodityname , commodityid, returnTime, number,money, operator) values(commodityname , commodityid, returnTime, number,money,operator);end/delimiter ;/*向storage表插入数据*/drop procedure if exists ruku;delimiter /create procedure ruku(IN commodityname varchar(45), commodityid int, unit varchar(45), price float,indate varchar(45), provider varchar(45), operators varchar(45), number int)begininsert into storage (commodityname , commodityid, unit, price,indate, provider, operators, number) values(commodityname , commodityid, unit, price,indate, provider, operators, number);end/delimiter ;/*向sale插入数据*/drop procedure if exists insertsale;delimiter /create procedure insertsale(IN commodityname varchar(45), commodityid int,sellTime varchar(45), number int ,money double,operator varchar(45)begininsert into sale(commodityname , commodityid, sellTime, number,money, operator) values(commodityname , commodityid, sellTime, number,money,operator);end/delimiter ;/*查询storageinfo的值*/drop procedure if exists storageQuery;delimiter /create procedure storageQuery(IN commodityid int)beginselect * from storageinfo where commoditynumber=commodityid;end/delimiter ;/*更新storageinfo数据*/drop procedure if exists storageupdate;delimiter /create procedure storageupdate(IN a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年福建省中共莆田市城厢区委社会工作部招聘4人模拟试卷附答案详解(典型题)
- 2025湖南邵阳市新宁县政府发展研究中心、新宁县金融服务中心选调3人考前自测高频考点模拟试题及答案详解(夺冠)
- 2025至2030中国船用柴油行业项目调研及市场前景预测评估报告
- 2025北京市健翔学校招聘考前自测高频考点模拟试题及答案详解(考点梳理)
- 2025至2030中国GIS变电站行业项目调研及市场前景预测评估报告
- 灭菌效果监测课件
- 灭苍蝇喷雾安全知识培训课件
- 2025年广西河池中国精算师职业资格考试(准精算师会计与财务)试题及答案
- 2025内蒙古森工集团招聘高校毕业生50人(第一批)模拟试卷有答案详解
- 2025年东营市垦利区融媒体中心公开招聘工作人员模拟试卷及答案详解(全优)
- GB/T 21063.4-2007政务信息资源目录体系第4部分:政务信息资源分类
- GA/T 1081-2020安全防范系统维护保养规范
- 02药物不良反应adr课件
- 施工项目成本管理课件
- 文物建筑保护修缮专项方案
- 营销与2008欧锦赛ktv渠道方案
- 故障录波器课件
- DB32-T 2665-2014机动车维修费用结算规范-(高清现行)
- 《区域经济学》讲义(1)课件
- 《现代分析测试》17 电子光学基础
- 培训师-- 成本中心培训
评论
0/150
提交评论