超市管理系统数据库课程设计_第1页
超市管理系统数据库课程设计_第2页
超市管理系统数据库课程设计_第3页
超市管理系统数据库课程设计_第4页
超市管理系统数据库课程设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 课程设计说明书课程设计名称: 数据库原理 课程设计题目: 超市管理系统 学 院 名 称: 信息工程学院 专业: 计算机科学与技术 班级: 100451 学号: 08061330 姓名: 蔡鹏翔 评分: 教师:胡建明 付峥 20 年 月 日由每位学生填写、由任教教师保存待查一需求分析1.1系统开发目的(1)大大提高超市的运作效率;(2)通过全面的信息采集和处理,辅助提高超市的决策水平;(3)使用本系统,可以迅速提升超市的管理水平,为降低经营成本, 提高效益,增强超市扩张力, 提供有效的技术保障。 1.2数据字典(1)商品条形码:每种商品具有唯一的条形码,对于某些价格一样的商品,可以使用自定义条

2、形码。(2)交易清单:包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号。(3)商品积压:在一定时期内,远无法完成销售计划的商品会造成积压。(4)促销:在一定时期内,某些商品会按低于原价的促销价格销售。库存告警提示:当商品的库存数量低于库存报警数量时发出提示。(5) 盘点:计算出库存、销售额、盈利等经营指标。 1.3 流程图 前台管理系统 顶层DFD图 第0层DFD图2、 系统功能分析2.1系统功能 (1)、零售前台(POS)管理系统,本系统必须具有以下功能:² 商品录入:根据超巿业务特点制定相关功能,可以通过输入唯一编号、扫描条形码、商品

3、名称等来实现精确或模糊的商品扫描录入。该扫描录入方法可以充分保证各种电脑操作水平层次的人员均能准确快速地进行商品扫描录入。² 收银业务:通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量的方式)自动计算本次交易的总金额。在顾客付款后,自动计算找零,同时打印交易清单(包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号)。如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所购物品全部实行95折优惠,并将所购物品的总金额累计到该会员的总消费金额中。 会员卡的有效期限为一年,满一年未续卡者,该会员卡将被注销。

4、78; 安全性:OS登陆、退出、换班与操作锁定等权限验证保护;断电自动保护最大限度防止意外及恶意非法操作。 ² 独立作业:有的断网收银即在网络服务器断开或网络不通的情况下,收银机仍能正常作业(2)、后台管理系统,本系统必须具备以下功能² 进货管理: 根据销售情况及库存情况,自动制定进货计划(亦可手工制定修改),可以避免盲目进货造成商品积压。 按计划单有选择性地进行自动入库登记。 综合查询打印计划进货与入库记录及金额。² 销售管理: 商品正常销售、促销与限量、限期及禁止销售控制。 综合查询各种销售明细记录、各地收银员收银记录以及交结账情况等。 按多种方式统计生成销售

5、排行榜,灵活察看和打印商品销售日、月、年报表。² 库存管理: 综合查询库存明细记录。 库存状态自动告警提示。如库存过剩、少货、缺货等。软件为您预警,避免库存商品积压损失和缺货。 库存自动盘点计算。² 人员管理: 员工、会员、供货商、厂商等基本信息登记管理。 员工操作权限管理。 客户销售权限管理。(3)系统结构系统总体结构小型超市零售管理系统前台POS销售系统后台管理系统商品录入收银业务进货管理销售管理库存管理人员管理 模块子系统结构商品录入快速商品录入支持条形码扫描功能描述:商品录入子系统要求能快速录入商品,因此必须支持条形码扫描。收银业务交易总额计算打印交易清单支持会员卡

6、打折功能描述:收银业务子系统能计算交易总额,打印交易清单,并根据会员卡打折。进货管理自动制定进货计划自动入库登记查询打印计划进货与入库记录功能描述:进货管理子系统可以根据库存自动指定进货计划,进货时自动等级,以及提供查询和打印计划进货与入库记录的功能。销售管理商品销售控制查询打印销售情况生成销售排行榜功能描述:销售管理子系统可以控制某商品是否允许销售,查询每种商品的销售情况并产生年、月、日报表,同时可以生成销售排行榜。查询库存明细记录库存状态自动告警提示库存管理自动盘点计算功能描述:库存管理子系统提供查询库存明细记录的基本功能,并根据库存的状态报警,以及自动盘点计算。人员管理基本信息登记管理员

7、工操作权限管理提示客户销售权限管理提示功能描述:人员管理子系统提供基本信息登记管理,员工操作权限管理,客户销售权限管理的功能。三、系统结构设计3.1系统关系模型1.商品信息表(商品编号,商品名称,价格,条形码,促销价格,促销起日期,促销止 日期,允许打折,库存数量,库存报警数量,计划进货数,允许销售,厂商编号,供货商编号)2.用户表(用户编号,用户名称,用户密码,用户类型)3.会员表(会员编号,会员卡号,累积消费金额,注册日期)4.销售表(销售编号,商品编号,销售数量,销售金额,销售日期)5.交易表(交易编号,用户名称,交易金额,会员卡号,交易日期)6.进货入库表(入库编号,入库商品编号,入库

8、数量,单额,总额,入库日期,计划进货日期,入库状态)7.供货商表(供货商编号,供货商名称,供货商地址,供货商电话)8.厂商表(厂商编号,厂商名称,厂商地址,厂商电话)3.2系统数据库表结构表名商品信息表用户表会员表销售表交易表进货入库表供货商表厂商表3.3系统ER图 (1).系统ER图说明a.商店中的所有用户(员工)可以销售多种商品,每种商品可由不同用户(员工)销售;b.每个顾客可以购买多种商品,不同商品可由不同顾客购买; 每个供货商可以供应多种不同商品,每种商品可由多个供应商供应。购买日期消费金额会员卡号厂商ID厂商名称厂商地址厂商电话供货商名称mn生产m1注册时间会员ID累计金额用户用户I

9、D用户密码m供货金额供货日期销售日期供货商电话供货商地址供货商ID供货商销售销售ID商品ID商品名称价格促销价格消费m用户姓名用户类型用户号商品允许打折允许销售供货会员厂商商品信息表字段名字段类型长度主/外键字段值约束商品编号int4PNot null商品名称Varchar50Not null商品价格Money4Not null库存数量Int4Not null库存报警数量Int4Not null计划进货数Int4null条形码Varchar50Not null促销价格Money4促销起日期Datetime8促销止日期Datetime8允许打折Int4Not null允许销售Int4Not nu

10、ll厂商编号Varchar10FNot null供应商编号Varchar10FNot null用户表字段名字段类型长度主/外键字段值约束用户编号varchar10PNot null用户名称Varchar25Not null用户密码Varchar50Not null用户类型Int4Not null会员表字段名字段类型长度主/外键字段值约束会员编号Varchar10PNot null会员卡号Varchar20Not null累积消费金额Money4Not null注册日期Datetime8Not null销售表字段名字段类型长度主/外键字段值约束销售编号Varchar10PNot null商品编号

11、Varchar10FNot null销售日期Datetime8Not null销售数量Int4Not null销售单额Money4Not null交易表字段名字段类型长度主/外键字段值约束交易编号Varchar10PNot null交易金额Money4Not null交易日期Money4Not null会员编号Varchar10用户名称Varchar10FNot null入库纪录表字段名字段类型长度主/外键字段值约束入库编号Varchar10PNot null商品编号Varchar10FNot null库存数量Int4Not null商品价格Money4Not null总额Money4Not

12、null入库日期Datetime8Datetime计划进货日期Datetime8Datetime入库状态Int4Not null供货商表字段名字段类型长度主/外键字段值约束供应商编号varchar10PNot null供货商名称Varchar50Not null供货商地址Varchar250供货商电话Varchar25厂商表字段名字段类型长度主/外键字段值约束厂商编号varchar10PNot null厂商名称Varchar50Not null厂商地址Varchar250厂商电话Varchar253.4 视图设计1) 交易视图(v_Dealing)用于查询交易情况的视图;2) 计划进货视图(v

13、_PlanStock)用于查询进货计划的视图;3) 销售视图(v_Sale)用于查询销售明细记录的视图;4) 入库视图(v_Stock)用于查询入库情况的视图。/*-创建视图-*/*创建用于查询交易情况的视图*/CREATE VIEW 交易情况ASSELECT 交易日期 as 交易日期, 用户名称 as 员工名称, 会员卡号 as 会员卡号, 交易金额 as 交易金额FROM Dealing GO/*创建用于查询进货计划的视图*/CREATE VIEW v_PlanStockASSELECT Stock.入库编号 as SID, 商品信息表.商品名称 as 商品名称, 商品信息表.条形码 as

14、 条形码, Factory.厂商名称 as 厂商, Provide.供货商名称 as 供货商, Stock.库存数量 as 计划进货数量, Stock.计划进货日期 as 计划进货日期FROM Stock,商品信息表,Provide,FactoryWhere Stock.商品编号 = 商品信息表.商品编号 and Provide.供应商编号=商品信息表.供应商编号 and Factory.厂商编号=商品信息表.厂商编号 and Stock.入库状态=0 GO/*创建用于查询销售明细记录的视图*/CREATE VIEW v_SaleASSELECT 商品信息表.商品名称 as 商品名称, 商品信

15、息表.条形码 as 条形码, 商品信息表.商品价格 as 商品价格, Sale.销售单额 as 销售价格, Sale.销售数量 as 销售数量, Sale.销售日期 as 销售日期FROM Sale INNER JOIN 商品信息表 ON Sale.商品编号 = 商品信息表.商品编号 GO/*创建用于查询入库情况的视图*/CREATE VIEW v_StockASSELECT 商品信息表.商品名称 as 商品名称, 商品信息表.条形码 as 条形码, Factory.厂商名称 as 厂商, Provide.供货商名称 as 供货商, Stock.商品价格 as 入库价格, Stock.库存数量

16、 as 入库数量, Stock.总额 as 入库总额, Stock.入库日期 as 入库日期FROM Stock,商品信息表,Provide,FactoryWhere Stock.商品编号 = 商品信息表.商品编号 and Provide.供应商编号=商品信息表.供应商编号 and Factory.厂商编号=商品信息表.厂商编号 and Stock.入库状态=1 GO3.5 索引/*在交易表上建立一个以交易编号、交易日期为索引项的非聚集索引*/CREATE nonclustered INDEX IX_Dealing ON Dealing(交易编号, 交易日期)GO/*在商品信息表上建立一个以商

17、品编号为索引项的非聚集索引*/CREATE nonclustered INDEX IX_商品信息表 ON 商品信息表(商品编号)GO/*在销售表上建立一个以销售编号、销售日期为索引项的非聚集索引*/CREATE nonclustered INDEX IX_Sale ON Sale(销售编号, 销售日期)GO/*在入库表上建立一个以入库编号、入库日期、商品编号为索引项的非聚集索引*/CREATE nonclustered INDEX IX_Stock ON Stock(入库编号, 入库日期, 商品编号)GO3.6 约束/*商品信息表中厂商编号、供应商编号分别与厂商表、供应商表之间的外键约束*/A

18、LTER TABLE 商品信息表 ADD CONSTRAINT FK_商品信息表_Factory FOREIGN KEY (厂商编号) REFERENCES Factory (厂商编号),CONSTRAINT FK_商品信息表_Provide FOREIGN KEY (供应商编号) REFERENCES Provide (供应商编号)GO/*销售表中商品编号与商品信息表之间的外键约束*/ALTER TABLE Sale ADDCONSTRAINT FK_Sale_商品信息表 FOREIGN KEY(商品编号) REFERENCES 商品信息表 (商品编号) ON DELETE CASCADE

19、GO/*入库表中商品编号与商品信息表之间的外键约束*/ALTER TABLE Stock ADDCONSTRAINT FK_Stock_商品信息表 FOREIGN KEY(商品编号) REFERENCES 商品信息表 (商品编号) ON DELETE CASCADE GO3.7 存储过程1、 调用带商品编号的存储过程查询商品的信息SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER PROC dbo.PR_1商品编号 CHAR(10)AS BEGINSELECT 商品编号,商品名称,商品价格,库存数量FROM 商品信息表 WHERE 商品编号=商

20、品编号 END 2、调用带日期的存储过程查询该日期的商品销售的相关信息 SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER PROC dbo.PR_2销售日期 DATETIMEASBEGINSELECT 商品编号,销售数量,销售单额FROM 销售表WHERE 销售日期=销售日期END 3.8 触发器 1. 建立一个当销售表中有商品售出时,商品信息表中商品库存也相应的减少的触发器。 SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER TRIGGER dbo.GIGER_2ON dbo.销售表FOR INSERT AS BEGINDECLARE 商品编号 AS CHAR(10), 销售数量 AS INT S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论