




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计说明书 No 52超市货物管理系统1. 课程设计目的通过数据库课程设计,培养学生数据库设计的综合能力。从需求分析和数据库逻辑、物理设计,到功能分析和应用程序的最终实现,让学生亲自动手参与一个具有一定规模的数据库应用系统的设计和开发,真正理解和掌握数据库设计和开发的思路和方法,加深对数据库系统,软件工程,程序设计语言的理论知识的理解和应用水平;在理论和实验教学基础上进一步巩固已学基本理论及应用知识并加以综合提高;学会将知识应用于实际的方法,提高分析和解决问题的能力,增强对手能力;并更好的理解和消化课本所学的知识,为毕业设计和以后工作打下必要基础。2.设计方案论证2.1问题提出超市管理系统
2、是市场上最流行的超市上常用的系统之一,它主要包含以下几个模块:系统权限的设定、原始数据录入、数据的汇总及查询等。从而,实现对进货、销售及员工信息等实现全面、动态、及时的管理。随着计算机技术的发展和网络人口的增加,人们对网络的需求也越来越苛刻,越来越贴近其生活,电子信息管理已经成为网上的一股潮流。而更多的,是要求传统行业的管理要延伸到网络,以更方便其生活、工作和学习。可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。要达到这个目的,必须分析几种主要的可能解法的利弊,从而判断原定的系统规模和目标是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。因此,可行
3、性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。我们细致一对人工系统及软件系统实现测评的费用进行了计算及对比,得出的结论是使用软件系统可节省人力、物力,而且可以提高测评结果的准确性。实现本系统需要的技术包括:SQL脚本的编程、B/S结构的软件开发技术。目前这些技术已经成熟。这些技术对计算机系的教师而言都是必须掌握的基本技术。此外,本软件系统开发成本低,有较强的应用需求。数据采集节省了大量纸张,保护了环境。数据处理使用计算机进行,快速、准确。2.2可行性研究2.2.1技术可行性分析此课程设计均是利用SQL server 2
4、005 企业版软件调试出来的,因为该系统具有友好的人机互操作界面,操作人员只要进行少量的培训,系统的功能和使用方法就基本上能够是系统顺利运行。2.2.2经济可行性分析该系统带来的经济效益明显的,其最主要的表现就是减少了企业管理费用和人力开支,不仅节省了大量的时间,还为企业的各项决策提供了宝贵的资料,为企业带来巨大的经济效益。同时该系统可以提高超市的销售效率,即提高了超市的经济效益,所以从经济上完全是可行的。2.2.3操作可行性分析本系统采用基于Windows的图形用户界面,而该系统是大家熟悉的操作系统,对于那些有一般的计算机知识的人员就可以轻松上手。而整个超市管理系统采用最友好的交互界面,简介
5、明了,不需要对数据库进行深入的了解。综合以上三方面,该系统的操作是可行的,开发该系统可行。2.3需求分析2.3.1业务流程分析超市管理系统工作流程为:系统启动并进入登录界面,系统管理员输入正确的用户名及密码后,登陆系统主操作界面,系统管理员可对系统相关信息进行操作,包括基本信息、货物信息、供应商信息、销售信息、仓库信息等。本系统的业务流程图如图1所示:厂商商品信息营业员订货信息购买信息顾客销售信息用户信息(员工)商品信息库存信息老板图1 业务流程图2.3.2数据流程分析数据流程分析主要包括对信息的流动、传递、处理、存储等的分析。数据流程分析的目的就是要发现和解决数据流通中的问题。现有的数据流程
6、分析多是通过分层的数据流程图(data flow diagram,简称DFD)来实现的。其具体的做法是:按业务流程图理出的业务流程顺序,将相应调查过程中所掌握的数据处理过程,绘制成一套完整的数据流程图。超市管理系统的数据流程:对本系统操作的数据源有普通用户、注册用户和管理员三种,首先由系统管理员根据不同用户的需要将某些信息保存到数据库中,然后再进行发布。不同权限的用户可以对这些库信息进行添加、修改和删除处理。所有用户均可以进行信息查询。通过对本系统的需求分析,系统的基本功能已经确定。整个系统的数据流程图如2厂商超市老板顾客超市管理系统超市老板F1商品信息F5进货信息F4库存信息F3销售额信息F
7、1商品信息F2用户信息F6购买信息图2 系统数据流程图2.3.2数据字典 超市管理系统的数据字典数据字典列表数据存储(1)数据存储名称:管理员信息数据来源:管理员信息表数据去向:管理员登陆模块数据组成:管理员信息管理信息唯一标识+管理员帐号+管理员密码+管理员权限+注册时间描述:存储了管理员的基本信息(2) 数据存储名称:商品类别信息数据来源:商品类别信息表数据去向:商品类别模块数据组成:商品类别信息=商品类别信息唯一标识+商品类别+添加时间+经手人描述:存储了商品类别的注册信息(3)数据存储名称:商品信息数据来源:商品信息表数据去向:商品信息模块数据组成:商品信息=商品信息唯一标识+货物名称
8、+供货编号+进价+售价+数量+厂商等描述:存储了商品信息(4) 数据存储名称:库存信息数据来源:库存信息表数据去向:库存信息模块数据组成:库存信息=库存信息唯一标识+商品名称+价格+数量+添加时间+单位+编号等描述:存储了库存信息(5)数据存储名称:销售信息数据来源:销售信息表数据去向:销售信息模块数据组成:销售信息=销售信息唯一标识+货物名称+数量+价格+时间等描述:存储了销售详细信息数据字典列表数(1) 名字:录入信息描述:职员信息,货物信息等的录入输入: 输入要添加录入的信息过程: 将需要添加录入的信息加入数据库中输出: 系统新的信息表页面输出: 查询得到的信息页面(2) 名字:修改、删
9、除信息描述:对职员信息,货物信息等修改或删除后存入数据库中输入: 输入要修改或删除的信息过程:对需要修改的信息做修改、删除过时的信息输出: 系统新的信息表页面输出: 查询得到的信息页面数据字典列表数据存储(1) 名字: 数据库信息别名:无描述:存储了数据库的基本信息数据组成:数据库信息=管理员信息+客户信息+货物信息+库存信息+销售信息位置:数据库输2.4 概念结构设计2.4.1概念结构设计的方法概念设计阶段采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上的进行概念结构设计。对已经细化到无法再分的阶段逐步集成在一起,最终合成一个全局概念模式。就可以设计出能够满足用户需求的各种实体,
10、以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。2.4.2概念结构设计的步骤第一步是进行局部视图的设计:由于高层的数据流图只能反映系统的概貌,而中层流图能较好的反映系统中各局部应用的子系统组成。因此先逐一的设计分E-R图。第二步是进行视图的集成:各子系统的E-R图设计好之后,下一步就是要将所有的分E-R图合成一个系统的总E-R图,一般有两个方式,多个分E-R图一次集成,另一种是一次集成两个分E-R图。我想采用一次集成多个分E-R图的方式。1 2.4.3数据库概念设计(E-R图设计)用户用户ID用户密码用户姓名用户类型用户号 图3 用
11、户E-R图销售日期销售销售ID图4 销售E-R图图5 供货E-R图图6 供货商E-R图图7 商品E-R图图8 交易E-R图2.5逻辑结构设计(下划线为主码)2.5.1 E-R图向关系模型的转换(1)商品信息表(商品编号,商品名称,价格,条形码,促销价格,促销起日期,促销止日期,允许打折,库存数量,库存报警数量,计划进货数,允许销售,厂商编号,供货商编号)(2)用户表(用户编号,用户名称,用户密码,用户类型)(3)销售表(销售编号,商品编号,销售数量,销售金额,销售日期)(4)交易表(交易编号,用户名称,交易金额,会员卡号,交易日期)(5)进货入库表(入库编号,入库商品编号,入库数量,单额,总额
12、,入库日期,计划进货日期,入库状态)(6)供货商表(供货商编号,供货商名称,供货商地址,供货商电话)(7)厂商表(厂商编号,厂商名称,厂商地址,厂商电话)2.5.2数据库物理设计根据总体结构图设计各表的结构,其相应标的定义如下:表1 商品信息表字段名字段类型长度主/外键字段值约束对应中文名MerchIDMerchNameMerchPriceMerchNumFactoryID ProvideIDIntVarcharMoneyIntVarcharVarchar450441010PFFNot nullNot nullNot nullNot nullNot nullNot null商品编号商品名称价格
13、库存数量厂商编号供货商编号表2 用户表字段名字段类型长度主/外键字段值约束对应中文名UserIDUserNameUserPWUserStyleVarcharVarcharVarcharInt1025504PNot nullNot nullNot nullNot null用户编号用户名称用户密码用户类型表3 销售表字段名字段类型长度主/外键字段值约束对应中文名SaleIDMerChIDSaleDateSaleNumSalePriceVarcharVarcharDatetimeIntMoney1010844PFNot nullNot nullNot nullNot nullNot null销售编号
14、商品编号销售日期销售数量销售单额 表4 交易表字段名字段类型长度主/外键字段值约束对应中文名DealingIDDealingPriceDealingDateMemberIDUserNameVarcharMoneyMoneyVarcharVarchar10441010PFNot nullNot nullNot nullNot null交易编号交易金额交易日期会员卡号用户名称表5 供货商表字段名字段类型长度主/外键字段值约束对应中文名ProvideIDProvideNameProvideAddressProvidePhoneVarcharVarcharVarcharVarchar105025025
15、PNot nullNot null供货商编号供货商名称供货商地址供货商电话表6 厂商表字段名字段类型长度主/外键字段值约束对应中文名FactoryIDFactoryName FactoryAddress FactoryPhoneVarcharVarcharVarcharVarchar105025025PNot nullNot null厂商编号厂商名称厂商地址厂商电话2.5.3设计索引和视图(1)索引在商品表上建立一个以商品ID为索引项的非聚集索引在交易表上建立一个以交易编号、交易日期为索引项的非聚集索引在商品信息表上建立一个以商品编号为索引项的非聚集索引在销售表上建立一个以销售编号、销售日期为
16、索引项的非聚集索引在入库表上建立一个以入库编号、入库日期、商品编号为索引项的非聚集索引(2) 视图创建用于查询商品价格的视图创建用于查询交易情况的视图创建用于查询交易情况的视图创建用于查询销售明细记录的视图创建用于查询入库情况的视图3.程序结果及分析3.1创建数据库create database SuperMarketdbon primary(name=SuperMarketdb,filename='C:Program FilesMicrosoft SQL ServerMSSQLDataSuperMarketdb.mdf',size=100MB,maxsize=200MB,fi
17、legrowth=20MB)log on(name=SuperMarketlog,filename='C:Program FilesMicrosoft SQL ServerMSSQLDataSuperMarketdb.ldf',size=60MB,maxsize=200MB,filegrowth=20MB)go 图9 创建数据库3.2创建基本表Create table user(userID varchar(10) primary key,userName varchar(25) not null,userPW varchar(50) not null,userStyle va
18、rchar(4) not null) Create table provider(provideID varchar(10) primary key,provideName varchar(50) not null,provideAddress varchar(250),providePhone varchar(25) (1)创建交易表并填入数据,如图10所示:图10 交易表的创建(2)创建厂商表并填入数据,如图11所示:图11 厂商表的创建(3)创建商品信息表并填入数据,如图12所示:图12 商品信息表的创建(4)创建供货商表并填入数据,如图13所示:图13 供货商表的创建(5)创建销售表并
19、填入数据,如图14所示:图14 销售表的创建(6)创建用户表并填入数据,如图15所示:图15 用户表的创建3.3创建索引/*在交易表上建立一个以交易编号、交易日期为索引项的非聚集索引*/CREATE nonclustered INDEX IX_Dealing ON Dealing(DealingID, DealingDate)GO图16 交易索引/*在商品信息表上建立一个以商品编号为索引项的非聚集索引*/CREATE nonclustered INDEX IX_MerchInfo ON MerchInfo(MerchID)go 图片17 创建商品ID索引/*在销售表上建立一个以销售编号、销售日
20、期为索引项的非聚集索引*/CREATE nonclustered INDEX IX_Sale ON Sale(SaleID, SaleDate)GO图18 创建销售索引/*在入库表上建立一个以入库编号、入库日期、商品编号为索引项的非聚集索引*/CREATE nonclustered INDEX IX_Stock ON Stock(StockID, StockDate, MerchID)GO图19 创建stockID3.4创建视图/*创建用于查询交易情况的视图*/CREATE VIEW v_DealingASSELECT DealingDate as 交易日期, UserName as 员工名称
21、, MemberCard as 会员卡号, DealingPrice as 交易金额FROM Dealing GO图20 交易视图/*创建用于查询销售明细记录的视图*/CREATE VIEW v_SaleASSELECT MerchInfo.MerchName as 商品名称, MerchInfo.BarCode as 条形码, MerchInfo.MerchPrice as 商品价格, Sale.SalePrice as 销售价格, Sale.SaleNum as 销售数量, Sale.SaleDate as 销售日期FROM Sale INNER JOIN MerchInfo ON Sal
22、e.MerChID = MerchInfo.MerchID go图21 状态视图/ *创建用于查询入库情况的视图*/CREATE VIEW v_StockASSELECT MerchInfo.MerchName as 商品名称, MerchInfo.BarCode as 条形码, Factory.FactoryName as 厂商, Provide.ProvideName as 供货商, Stock.MerchPrice as 入库价格, Stock.MerchNum as 入库数量, Stock.TotalPrice as 入库总额, Stock.StockDate as 入库日期FROM
23、Stock,MerchInfo,Provide,FactoryWhere Stock.MerchID = MerchInfo.MerchID and Provide.ProvideID=MerchInfo.ProvideID and Factory.FactoryID=MerchInfo.FactoryID and Stock.StockState=1 GO:图22入库状态4.设计体会课程设计做的是超市货物管理系统,经过了一个多星期的上网,图书馆进行查找学习才终于完成了此次课程设计。通过这次对数据库的课程设计,不仅仅让我对所学的知识有了更深一步的掌握及理解,同时也得到了很多有用的发现及认识,大体有一下几个方面。首先,设计始终应带着面向对象的思想去设计,这是设计的基本原则。对象的抽取应该符合真实性和抽象性,不能将对象强制抽取合并。 其次,在数据设计中,数据的使用率和冗余应该是设计考虑的通用标准。对外键的认识不能停留在表面,它代表了一对多的关系,它在真实的实体之间也能体现这关系的。最后,虽然目前我们的数据库设计模式能够满足开发要求,也节省了开发时间,但是这样的设计会对以后工程项目的维护、改版造成成本上的增加。数据库表的字段在修改上将对主程序造成影响;另外对于开发和维护人员来说,字段的编码也需要规范
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国网销基金行业发展趋势与前景展望战略研究报告
- 房地产交易仲裁调解服务合同
- 公共卫生应急处置试题解析
- 【安装组装合同】稿件制作发布合同8篇
- 创意评估模型构建-洞察阐释
- 多源异质数据融合的地质灾害风险评估方法-洞察阐释
- 硬件维护合同10篇
- 软件最终用户许可合同模板
- 年产60万吨新型功能肥料项目可行性研究报告(参考)
- 粮油加工中心建设项目可行性研究报告
- 各地低空经济政策汇编-2025-03-智能网联
- 1000道二年级数学口算练习题
- 30题纪检监察位岗位常见面试问题含HR问题考察点及参考回答
- 2022年上海奉贤经济发展有限公司招聘笔试题库及答案解析
- 新教材人教版高中数学必修第二册全册教案(教学设计)
- DB23∕T 440-1996 柞蚕生产技术规程
- 药物溶解与溶出及释放-精品医学课件
- 安徽高中毕业生登记表(共7页)
- 半波偶极子天线地HFSS仿真设计
- 混凝土搅拌车车队管理制度
- 小学生美术课件-第16课--你会设计邮票吗|苏少版-(31张PPT)
评论
0/150
提交评论