1、数据结构课设经济管理学院管理系数据系统概论课程设计 小型超市管理系统组员: 冯程程 陈军明 石 闯 李生辉 任 义 邵 鹏 2010年7月14日目 录第1章 绪论 1.1 前言第2章 需求分析2.1 系统开发功能2.2 系统功能模块设计2.3 数据流图 第3章 数据库设计3.1 数据字典3.1.1 数据项3.1.2 数据结构3.1.3 数据流3.1.4 数据存储 3.1.5 数据库表3.2 概念结构设计 3.2.1 系统E/R图 3.2.2 关系模型第4章 物理设计文档 4.1 SQL的创建语句 4.2 SQL的实现 第5章 小结第1章 绪论1.1 前言21世纪,超市的竞争也进入到了一个全新的
2、领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。技术的提升和管理的升级是超市业的竞争核心。零售领域目前呈多元发展趋势,多种业态:超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标。第2章 需求分析2.1 系统开发功能(1)大大提高超市的运作效率;(2)通过全面的信息采集和处理,辅助提高超市的决策水平;(3)使用本系统,可以迅速提升超市的管理水平,为降低经营成本, 提高效益,增强超市扩张力, 提供有效的技术保障。2.2 系统功能模块设计 图1 系统功能模块1. 商品录入模块:该模块
3、要求能快速录入商品,因此必须支持条形码扫描。2. 收银业务模块:该模块能计算交易总额,打印交易清单,并根据会员卡打折。3. 进货管理模块:该模块可以根据库存自动指定进货计划,进货时自动等级,以及提供查询和打印计划进货与入库记录的功能。4. 销售管理模块:该模块可以控制某商品是否允许销售,查询每种商品的销售情况并产生年、月、日报表,同时可以生成销售排行榜。5. 库存管理模块:该模块提供查询库存明细记录的基本功能,并根据库存的状态报警,以及自动盘点计算。6. 人员管理模块:该模块提供基本信息登记管理,员工操作权限管理,客户销售权限管理的功能。2.3 数据流图图 2超市管理流程图 第3章 数据库设计
4、创建数据库是设计系统的第一步,其关键问题在于确定所需的表结构并为之建立索引。为了使系统设计精练实用,体现关系型数据库的特点,本系统还为各相关表建立关系。3.1 数据字典3.1.1 数据项数据项:商品编号含义说明:每一种商品唯一标识别名:MerchID 类型:int长度:4允许空:否数据项:商品名称含义说明:标识一个商品的名称别名:MerchName类型:Varchar长度:50允许空:否数据项:价格含义说明:标识一种商品的价格别名:MerchPrice 类型:Money长度:4允许空:否数据项:库存数量含义说明:标识一种商品的库存数量别名:MerchNum类型:int长度:4允许空:否数据项:
5、库存报警数量含义说明:标识一种商品的库存报警数量别名:CautionNum 类型:int长度:4允许空:否数据项:计划进货数含义说明:标识一种商品的计划进货数别名:PlanNum 类型:int长度:4允许空:可数据项:条形码含义说明:标识一种商品的条形码别名:BarCode 类型:Varchar长度:50允许空:否数据项:促销价格含义说明:标识一种商品的促销价格别名:SalesProPrice 类型:Money长度:4允许空:可数据项:促销起日期含义说明:标识一种商品的促销起日期别名:SalesProDateS 类型:Datetime长度:8允许空:可数据项:促销止日期含义说明:标识一种商品的
6、促销止日期别名:SalesProDateE 类型:Datetime长度:8允许空:可数据项:允许打折含义说明:标识一种商品的允许打折别名:AllowAbate 类型:int长度:4允许空:否数据项:允许销售含义说明:标识一种商品是否允许销售别名:AllowSale 类型:int长度:4允许空:否数据项:厂商编号含义说明:唯一标识一个厂商的编号别名:FactoryID类型:Varchar长度:10允许空:否数据项:供货商编号含义说明:标识一种商品的供货商编号别名:ProvideID 类型:Varchar长度:10允许空:否数据项:用户编号含义说明:唯一标识一个用户的用户编号别名:UserID类型
7、:Varchar长度:10允许空:否数据项:用户名称含义说明:标识一个用户的用户名称别名:UserName 类型:Varchar长度:25允许空:否数据项:用户密码含义说明:标识一个用户的用户密码别名:UserPW类型:Varchar长度:10允许空:否数据项:用户类型含义说明:标识一种用户的用户类型别名:UserStyle类型:Varchar长度:10允许空:否数据项:会员编号含义说明:唯一标识一个会员的会员编号别名:MemberID类型:Varchar长度:10允许空:否数据项:会员卡号含义说明:唯一标识一个会员的会员卡号别名:MemberCard 类型:Varchar长度:20允许空:否
8、数据项:累积消费金额含义说明:标识一个会员的消费金额别名:TotalCost 类型:Money长度:4允许空:否数据项:注册日期含义说明:标识一个会员的注册日期别名:RegDate类型:Datetime长度:8允许空:否数据项:销售编号含义说明:唯一标识销售商品的销售编号别名:SaleID 类型:Varchar长度:10允许空:否数据项:商品编号含义说明:标识一次商品销售的商品编号别名:MerChID 类型:Varchar长度:10允许空:否数据项:销售日期含义说明:标识一次商品销售的销售日期别名:SaleDate 类型:Datetime长度:8允许空:否数据项:销售数量含义说明:标识一次商品
9、销售的销售数量别名:SaleNum 类型:int长度:4允许空:否数据项:销售单额含义说明:标识一次商品销售的销售单额别名:SalePrice 类型:Money长度:4允许空:否数据项:交易编号含义说明:唯一标识一次交易的交易编号别名:DealingID类型:Varchar长度:10允许空:否数据项:交易金额含义说明:标识一次交易的交易金额别名:DealingPrice类型:Money长度:4允许空:否数据项:交易日期含义说明:标识一次交易的交易日期别名:DealingDate 类型:Datetime长度:4允许空:否数据项:会员卡号含义说明:标识一次交易的会员卡号别名:MemberID 类型
10、:Varchar长度:10允许空:允许数据项:用户名称含义说明:标识一次交易的用户名称别名:UserName类型:Varchar长度:10允许空:否数据项:入库编号含义说明:唯一标识一批商品入库的入库编号别名:StockID 类型:Varchar长度:10允许空:否数据项:入库商品编号含义说明:标识入库商品编号别名:MerchID 类型:Varchar长度:10允许空:否数据项:入库数量含义说明:标识一次入库商品的入库数量别名:MerchNum 类型:int长度:4允许空:否数据项:单额含义说明:标识一次入库商品的单额别名:MerchPrice类型:Money长度:4允许空:否数据项:总额含义
11、说明:标识一次入库商品的总额别名:TotalPrice 类型:Money长度:4允许空:否数据项:入库日期含义说明:标识一次商品入库的入库日期别名:StockDate 类型:Datetime长度:8允许空:否数据项:计划进货日期含义说明:标识一次计划进货的日期别名:PlanDate类型:Datetime长度:8允许空:否数据项:入库状态含义说明:标识一次商品入库后的状态别名:StockState 类型:Varchar长度:10允许空:否数据项:厂商编号含义说明:唯一标识厂商的厂商编号别名:FactoryID类型:varchar长度:10允许空:否数据项:厂商名称含义说明:标识厂商的名称别名:F
12、actoryName类型:Varchar长度:50允许空:否数据项:厂商地址含义说明:标识厂商的地址别名:FactoryAddress类型:Varchar长度:250允许空:否数据项:厂商电话含义说明:标识厂商的电话别名:FactoryPhone 类型:Varchar长度:25允许空:否3.1.2 数据结构本系统涉及7个数据结构分别为:商品信息表、用户表、会员表、销售表、交易表、进货入库表、厂商表,以下对其进行具体说明。a) 数据结构:商品信息表含义说明:是超市管理系统的主体数据结构,定义了一个超市所需要的最基本的信息。组 成:商品编号(主键),商品名称,价格,条形码,促销价格,促销起日期,促
13、销止日期,允许打折,库存数量,库存报警数量,计划进货数,允许销售,厂商编号(外键),供货商编号(外键)b) 数据结构:用户表含义说明:定义超市系统用户的基本信息。组 成:用户编号(主键),用户名称,用户密码,用户类型c) 数据结构:会员表含义说明:集中定义了该超市的会员信息及消费情况。组 成:会员编号(主键),会员卡号,累积消费金额,注册日期d) 数据结构:销售表含义说明:定义了该超市的销售情况及相关信息。组 成:销售编号(主键),商品编号(外键),销售数量,销售金额,销售日期e) 数据结构:交易表含义说明:定义在该超市进行交易的信息,其中包括一般用户的和会员 的交易情况。 组 成:交易编号(
14、主键),用户名称(外键),交易金额,会员卡号,交易日期f) 数据结构:进货入库表含义说明:集中定义超市商品进货入库信息。组 成:入库编号(主键),入库商品编号(外键),入库数量,单额,总额,入库日期,计划进货日期,入库状态g) 数据结构:厂商表含义说明:定义为超市提供商品的各厂商的情况。组 成:厂商编号(主键),厂商名称,厂商地址,厂商电话3.1.3 数据流数据流表示数据的流向。在数据字典中所定义的数据流有两类:一是从外部实体输入到系统中的数据流,二是从系统输出到外部实体的数据流。一般在数据字典中只需定义系统的输入和输出的数据流。数据流定义内容可以包括数据流名称、说明、数据流的来源、数据流的组
15、成、数据流的去向、数据流的平均流通量、高峰期时的流通量。以“商品销售”为例数据流定义如下表所示。表 1 数据流定义表数据流名称商品销售说明超市给会员销售商品过程中销售的信息数据流来源会员数据流去向处理功能“销售管理”组成销售编号销售数量销售金额表 1(续) 数据流定义表销售日期数据流的流通量每天销售商品给1500个会员(举例)高峰时期流通量上午9:00到11:00 下午2:00到4:00 1300个会员3.1.4 数据存储数据存储是指在系统中应该保存的数据结构以及具体的数据内容,实际上它是信息系统的资源,用户要从系统中获取的全部数据都来自于数据存储。数据存储内容有以下几项:数据存储名称、说明、
16、输入数据流、输出数据流、数据存储的组成、数据量以及存取方式。以“用户信息”为例数据存储定义表如下所示:表 2 数据存储定义表数据存储名称用户信息简述登录超市系统的各个使用者的信息输入数据流用户信息,汇总的用户的用户信息输出数据流用户权限信息组成 用户编号(数据元素)用户名称(数据元素)用户密码(数据元素)用户类型(数据元素)数据量每年100个存取方式随机存储3.1.5 数据库表表 3 数据库表索引 表名中文名MerchInfo商品信息表Yonghu用户表Menber会员表Sale销售表Dealing交易表Stock进货入库表Factory厂商表表 4 商品信息表(MerchInfo)字段名字段
17、类型长度主/外键字段值约束对应中文名MerchIDInt4PNot null商品编号MerchNameVarchar50Not null商品名称表 4 (续) 商品信息表(MerchInfo)MerchPriceMoney4Not null价格MerchNumInt4Not null库存数量CautionNumInt4Not null库存报警数量PlanNumInt4null计划进货数BarCodeVarchar50Not null条形码SalesProPriceMoney4null促销价格SalesProDateSDatetime8null促销起日期SalesProDateEDatetime
18、8null促销止日期AllowAbateInt4Not null允许打折AllowSaleInt4Not null允许销售FactoryIDVarchar10FNot null厂商编号表 5 用户表(Yonghu)字段名字段类型长度主/外键字段值约束对应中文名UserIDvarchar10PNot null用户编号UserNameVarchar25Not null用户名称UserPWVarchar10Not null用户密码UserStyleVarchar10Not null用户类型表 6 会员表(Menber)字段名字段类型长度主/外键字段值约束对应中文名MemberIDVarchar10P
19、Not null会员编号MemberCardVarchar20Not null会员卡号TotalCostMoney4Not null累积消费金额RegDateDatetime8Not null注册日期表 7 销售表(Sale)字段名字段类型长度主/外键字段值约束对应中文名SaleIDVarchar10PNot null销售编号MerChIDVarchar10FNot null商品编号SaleDateDatetime8Not null销售日期SaleNumInt4Not null销售数量SalePriceMoney4Not null销售单额表 8 交易表(Dealing)字段名字段类型长度主/外
20、键字段值约束对应中文名DealingIDVarchar10PNot null交易编号DealingPriceMoney4Not null交易金额DealingDateDatetime4Not null交易日期MemberIDVarchar10Not null会员卡号UserNameVarchar10FNot null用户名称表 9 入库纪录表(Stock)字段名字段类型长度主/外键字段值约束对应中文名StockIDVarchar10PNot null入库编号MerchIDVarchar10FNot null入库商品编号MerchNumInt4Not null入库数量MerchPriceMone
21、y4Not null单额TotalPriceMoney4Not null总额StockDateDatetime8Not null入库日期PlanDateDatetime8Not null计划进货日期StockStateVarchar10Not null入库状态表 10 厂商表(Factory)字段名字段类型长度主/外键字段值约束对应中文名FactoryIDVarchar10PNot null厂商编号FactoryNameVarchar50Not null厂商名称FactoryAddressVarchar250Not null厂商地址FactoryPhoneVarchar25Not null厂商
22、电话3.2 概念结构设计 3.2.1 E/R图 本系统在需求分析的基础上设计出能够满足用户需求的各种实体。根据上面的分析所得的实体有:商品信息实体,用户实体,会员实体,销售实体,交易实体,入库记录实体,厂商实体。 整个系统的E-R图如下: 图 3系统ER图说明:1) 商店中的所有用户(员工)可以销售多种商品,每种商品可由不同用户(员工)销售;2) 每个顾客可以购买多种商品,不同商品可由不同顾客购买;3) 每个厂商可以供应多种不同商品,每种商品可由多个厂商供应3.2.2 关系模型关系的规范化关系模式化理论是研究如何将一个不十分合理的关系模型转化为一个最佳的数据关系模型理论,它是围绕范式而建立的。
23、关系规范化的三个范式原则如下:(1)第一范式:在一个关系中消除重复字段,且各字段都是不可分的基本数据项;(2)第二范式:若关系模型属于第一范式,且所有非主属性都完全依赖关键字段;(3)第三范式:若关系模型属于第二范式,且关系中所有非主属性都直接依赖关键字段。以下是我们设计专门与商品有关的信息表11 基本信息一览表商品信息情况入库情况销售情况商品编号商品名称价格库存数量条形码入库编号入库日期入库状态销售编号销售日期销售数量0001Merch125200100000110012010-7-1良好1112010-8-20200002Merch235280100000210022010-7-2优秀22
24、22010-8-25400003Merch34590100000310032010-7-3良好3332010-8-26250004Merch455200100000410042010-7-4优秀4442010-8-2230由于关系规范化是基本思想是逐步消除数据以来关系中不合适的部分,使现实世界反映同一实体型中的数据达到有效的分离。因此,为了方便、有效地使用这些信息资源,遵循关系规范化原则,可以将表11分成三个独立的数据表:表12、表13、表14,使每一个数据表都具有独立性,同时又依赖共同拥有的关键字段“商品编号”,使这些数据表之间保持一定的关联关系,并且保证3个数据表中的数据能完全体现表1中所
25、包含的全部数据信息。(1) 商品基本情况表,收入了商品的基本情况 表12 商品信息一览表商品编号商 品名 称价格库存数量库存报警数量计划进货数量条 形码促销价格促 销起 时日 期促 销止 时日 期允许打折允许销售厂 商编 号0001Merch125200100201000001102010-7-102010-8-100 111111111110002Merch23528040201000002202010-7-152010-8-150 122222222220003Merch3459010201000003252010-8-102010-9-100 133333333330004Merch45
26、520020201000004302010-8-12010-8-10 14444444444(2) 商品入库情况,如表13。 表13 入库信息一览表入 库编 号入 库商 品编 号入 库数 量单额总额入 库日 期计 划入 库日 期入 库状 态10011 2002550002010-7-12010-7-1良好10022 2803598002010-7-22010-7-2优秀10033 904540502010-7-32010-7-3良好10044 20055110002010-7-42010-7-4优秀(3) 商品销售情况,如表14。 如表14 销售信息一览表销售编号商品编号销售日期销售数量销售单额11112010-8-20203022222010-8-25405033332010-8-26256044442010-8-
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1