超市销售数据库_第1页
超市销售数据库_第2页
超市销售数据库_第3页
超市销售数据库_第4页
超市销售数据库_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

数据库系统课程设计题 目 商场销售管理数据库设计院系信息技术与工程学院专姓学业名号计算机科学与技术班级名称指导教师成绩2016年1215日目录序言 1一、系统需求剖析 11、办理对象 12、系统功能及信息办理 13、安全性和完好性要求 24、系统结构图 2二、观点模型 31、分E-R图成立 32、全局/整体E-R图 4三、关系数据模型 51、关系模式成立 52、用户子模式成立 5四、数据库物理设计 6五、数据库实行与测试 61、数据库实行 62、数据库测试 6六、总结 6附录 8序言商场销售管理系统是为认识决商场销售管理业务方面面对的复杂业务流程和繁琐数据办理等问题,提升明市营运效率,提升经济效益,提升市场竞争力而研究开发的一款数据库软件。在开发平台windows 上,采纳了SQL数据库程序设计语言予以实现可接见SQLSEREVER2005 数据库,拥有商品录入、商品信息查问、交易额计算、会员打折、打印销售发票、退货、打印退货发票、记录交易细节、货架管理、商品过期警告、缺货警示等方面的功能,为商场管理供给了有效的技术保障,而且可直接作为开发整个商场管理系统时已达成的一部分模块。一、系统需求剖析1、办理对象系统要办理的基本对象包含营业员基本信息、会员基本信息、管理员基本信息、商品基本信息、货架基本信息、销售单基本信息、退货单基本信息等多个对象。各个基本对象包含信息以下所示:();();商品(商品编号,货架编号,条形码,商品名称,商品价钱,现有存量,存量底线,生产日期,保质期,供货商);销售单(销售单编号,营业员编号,会员卡号,打印时间,有无折扣);销售商品(销售单号,商品编号,销售数目);货架(货架编号,管理员号,货架名称);管理员(管理员号,姓名,联系电话,上班时间,下班时间,月薪);退货单(退货单号,商品编号,退货数目);打印(退货单号,销售单号,营业员号,打印时间)。2、系统功能及信息办理本中小型商场销售管理系统大概上包含三个模块,为前台收银业务办理,前台退货业务办理以及后台销售办理功能模块,详细以下所述。收银业务经过扫描条形码或许直接输入商品名称(对于同类多件商品采纳一次录入加数目的方式),计算本次交易的总金额,同时打印销售发票给顾客(包含交易的流水账号、每类商品的商品名、数目、该类商品的总金额、交易的时间、负责本次收银的职工号等信息)。假如顾客是本店会员并拥有自己会员卡,则在交易前先扫描会员卡,对此会员必定优惠,并将所购物件的总金额累计到该会员的总花费金额中,记录好会员信息。退货办理顾客拥有销售发票到收银台找收银员退货,若没有相应销售发票不予以退货。经过扫描销售发票计算本次退货办理的退货额,并打印出退货发票给顾客,系统记录好退货信息。销售办理作为商场后台管理部分,此系统应当拥有功能包含当打印销售发票或退货发票时自动增减货架上商品数目,当货架商品不足时自动生成缺货警示信息给管理员,系统能够生成销售排行榜供管理员查察。3、安全性和完好性要求安全性先经过视图体制,不一样的用户只好接见系统受权的视图;再经过用户受权体制,经过用户登岸来辨别用户级别,依据这个级别来分派用户权限,达到数据更高层次的安全保密功能。完好性要求用于保证各办理对象的主属性取值独一而且一般不可以为空;各办理对象的参照属性取值一定是来自于被参照属性。能够经过用户自定义完好性(切合实质要求)来保证数据切合更高规范要求。详尽完好性要求见于系统的逻辑设计阶段。4、系统结构图经过对中小型商场销售管理业务及其功能方面的剖析,结构出商场管理系统的整体结构图以下:中小型商场销售管理系统前台销售 后台管理收退销进库人银货售货存员业处处管管管务理理理理理图1商场管理整体结构 图因为本系统为销售管理系统,不过商场管理系统的一部分,所以只实现了收营业务、退货办理和销售办理部分的功能。对这三个办理模块进一步细化获取以下分结构图:收银业务 退货业务打交 给 退 输印易 会 费 出交额 员 易 额 退计 优 计 费清算 惠 算 单单图1-1 收银业务结构图 图1-2 退货办理结构图销售办理货架 缺 货 销存 货 架 售量 警 补 排管 告 货 理图1-3 销售办理结构图二、观点模型1E-R图成立依据分解第二层数据流程图可分别获取三个分 E-R图。注册时间

姓名 累计消费额编号姓名

卡号 会员 密码 编1获取时间 数量m

位置上班时间

1营业员 打印

n m销售 n销售单 商品 商品

价格生产日期下班时间月薪 联系

编号 花费额

保质期电话 商品 折扣编号图4-1 收银业务模块E-R图发票编号 花费额 折扣购物发票 1

退货单号商品编号编号 打印

退货单姓名

1营业员

退货数目位置 退费额

下班时间 月薪 联系电话图4-2 退货办理模块E-R图条形码 现有存量

货架编号

管理员号姓名商品编号商品名称

m商品 寄存

1 m货架 管理

1管理员

联系电话上班时间价格最低存量

下班时间月薪图4-3 销售办理模块E-R图2/E-R图E—RER图之间有ERER图时有好多矛盾。经过认真E-RE-R图所示。会员1打印时间 销售数获取

现有存量

存量底线1营业员 打印

mm销售单

m n m销售商品 商品

1寄存 货架1 打印m退货单

打印时间

m管理1管理员5E-R图三、关系数据模型1、关系模式成立ER系明确表示出来,这类变换一般按照以下规则:一个实体型变换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。此数据库系统包含营业员、会员、管理员、商品、货架、销售单、销售商品、退货单、打印多个关系模式:();();商品(商品编号,货架编号,条形码,商品名称,商品价钱,现有存量,存量底线,生产日期,保质期,供货商);销售单(销售单编号,营业员编号,会员卡号,打印时间,有无折扣);销售商品(销售单号,商品编号,销售数目);货架(货架编号,管理员号,货架名称);管理员(管理员号,姓名,联系电话,上班时间,下班时间,月薪);退货单(退货单号,商品编号,退货数目);打印(退货单号,销售单号,营业员号,打印时间);2、用户子模式成立用户子模式可经过成立视图来表示。视图是虚表,是从一个或几个基本表(或视图)定义视图能够简化应用程序、能够实现必定的权限控制。为了知足用户需求及方便后期数据库实行阶段的设计,此系统设计了以下视图。各视图定义:商品保质期(商品名称,生产日期,保质期,过期日期)下架商品(商品名称,货架名称,过期日期)营业员基本信息(营业员号,上班时间,下班时间,月薪,联系电话)会员总花费状况(卡号,姓名,累计花费)商品价钱(商品名称,价钱)商品寄存(商品名称,货架名称)缺货商品(商品名称,现有存量,底线存量)货架信息(货架名称,寄存商品名)上班状况(上班时间,营业员姓名,管理员姓名)工作人员联系方式(姓名,编号,联系电话)工作人职薪资信息(姓名,编号,薪资)四、数据库物理设计此数据库系统成立的索引以下所述。ShopAssistant(营业员),SnumSnum索引。同理对于基本表Member(会员),因为要常常对属性列Mnum查问进而获取某个会员的完好信息,而且极少对其更新,所以能够给属性列Mnum建一个聚簇索引。对于Adminastrator (管理员),可在其属性列Anum上成立独一性索引,引值按降序摆列。相同对于基本表GoodsShelf (货架)、Goods(商品),可在其主属性上立独一性索引。对于基本表BillSell(销售单)、SellGoods (销售商品)、ReturnGoods(货单)、PrintBill(打印),因为其属性值常常发生变化,衡量系统为保护索引付出的代价,可考虑不成立索引。五、数据库实行与测试数据库实行与测试阶段主要内容包含数据库实行和测试两个部分。1、数据库实行数据库及数据库对象成立T-SQL和PL/SQL.数据入库对各个数据表成功要录入了50条左右的测试记录,测试结果知足设计要求。2、数据库测试数据库测试阶段主要内容是对成立的数据库及数据库对象进行测试,对测试结果进行剖析,能否知足设计要求。六、总结经过数据库课程设计实习,对数据库知识有了更宽泛的认识,在数据库的应用方面有了很大的收获。加深了对数据库系统有关知识和 SQLSERVER2008 数据库有关功能的理解。从前只逗留于记忆书籍上对于数据库系统的理论知识,没有亲身实地的实践过,而经过此次实习我再次加深了对数据库有关功能的理解与应用。进一步掌握有关的SQL语句。开发设计商场销售管理系统的过程中波及到相当多基本表的成立,视图、索引以及储存过程的设计,这让我对这些SQL语句操作更娴熟了。熟习了对项目开发的大概过程。此次系统开发,我更为理解体验到了数据库系统开发的过程,包含系统需求剖析、观点设计、逻辑设计、物理设计,再到数据库实行、系统的测试和调试,对项目(系统)开发的大概流程有了必定的认识,为此后的系统的开发打下了优秀的基础。相同在在此次实习中,我看到了自己的基础知识的单薄性,更体验到了基础知识的重要性。比方说对详细的SQL语句还不是很熟习,在画E-R图、设计带输出变量的储存过程以及成立有关索引(聚簇索引)时感觉有些棘手。碰到问题不行怕,其实能碰到问题是好事,它能让我在解决问题时学到更多的新知识,更能增添我的自信。助提升明市的决议水平,管理水平,为降低经营成本, 提升效益,减少差错,节俭人力,减少顾客购物时间,增添客流量,提升顾客满意度,加强商场扩充能力,都能供给有效的技术保障。但商场管理系统波及范围宽,要解决的问题多,功能复杂,实现困难,本系统只好做出此中的销售管理部分功能,只合适小型商场使用。因为自己首次独立设计开发数据库系统,能力特别有限,加上时间匆促,本系统毫无疑问有很多的不足之处。对于出现的以上问题,我们深表抱歉,恳请老师责备指正。附录1、创立数据库createdatabase2、创立基本表createtableShopAssistant(Snumchar(10)primarykey,Snamechar(10)notnull,Splacechar(10),Swtimechar(10),Sctimechar(10),Ssalaarynumeric(10,1),Sphonechar(20))createtableAdministrator(Anumchar(5)primarykey,Anamechar(15)notnull,Awtimechar(10),Actimechar(10),Asalarynumeric(10,1),Aphonechar(25))createtableMember(Mnumchar(15)primaryMnamechar(15),Mpasswordchar(6)notnull,MregisterTimedate,Mexpensenumeric(10,2))createtableGoodsShelf(GSnumchar(10)primarykey,Anumchar(5)foreignkeyreferencesAdministrator(Anum),GSnamechar(15),)createtableGoods(Gnumchar(10)primarykey,GSnumchar(10)foreignkeyreferencesGoodsShelf(GSnum),Gbarcodechar(20),Gnamechar(20),Gpricenumeric(5,2),GSstocksmallint,GSlimitsmallint,Gproducetimedate,Gtimeint,Gsupplierchar(50))createtableBillSell(Bnumchar(15)primarykey,Snumchar(10)foreignkeyreferencesShopAssistant(Snum),Mnumchar(15)foreignkeyreferencesMember(Mnum),Bdatesmalldatetime,Bdiscountchar(2))createtableSellGoods(Bnumchar(15),Gnumchar(10),Bquantitysmallint,primaryforeignkey(Gnum)referencesGoods(Gnum),foreignkey(Bnum)referencesBillSell(Bnum))createtableReturnGoods(Rnumchar(10)primarykey,Gnumchar(10)foreignkeyreferencesGoods(Gnum),Rquantitysmallint)createtablePrintBill(Bnumchar(15),Rnumchar(10),Snumchar(10),Rdatasmalldatetime,primarykey(Bnum,Rnum,Snum),foreignkey(Bnum)referencesBillSell(Bnum),foreignkey(Rnum)referencesReturnGoods(Rnum),foreignkey(Snum)referencesShopAssistant(Snum))3、创立索引ShopAssistant(营业员),SnumSnum索引。其相应SQL语句为:createclusteredindexdex_SnumonShopAssistant(Snum);同理对于基本表Member(会员),因为要常常对属性列Mnum查问进而获取某个会员的完好信息,而且极少对其更新,所以能够给属性列 Mnum建一个聚簇索引其相应SQL语句为:createclusteredindexdex_MunmonMember(Mnum);对于Adminastrator (管理员),可在其属性列Anum上成立独一性索引,引值按降序摆列。其相应SQL语句为:createuniqueindexdex_AnumonAdministrator(Anumdesc);相同对于基本表GoodsShelf (货架)、Goods(商品),可在其主属性上立独一性索引。其相应SQL语句为:createuniqueindexdex_GSnumonGoodsShelf(GSnum);createuniqueindexdex_GnumonGoods(Gnum);4、创立视图SQLcreateviewV_SalesmanasselectSnum,Swtime,Sctime,Ssalaary,SphonefromShopAssistantcreateviewV_memberasselectMnum,Mname,MexpensefromMembercreateviewV_GoodsPriceasselectGname,GpricefromGoodscreateviewV_GoodsStoreasselectGname,GSnamefromGoods,GoodsShelfwhereGoods.GSnum=GoodsShelf.GSnumcreateviewV_GoodsLackasselectGname,GSstock,GSlimitfromGoodswhereGSstock<=GSlimitcreateviewV_GoodsShelfasselectGSname,GnamefromGoodsShelf,GoodswhereGoodsShelf.GSnum=Goods.GSnumcreateviewV_WorkasselectShopAssistant.Swtime,ShopAssistant.Sname,Administrator.AnamefromShopAssistant,AdministratorwhereShopAssistant.Swtime=Administrator.AwtimecreateviewV_Phone(name,num,phone)as(selectSname,Snum,SphonefromShopAssistant)union(selectAname,Anum,AphonefromAdministrator)createviewV_Salary(name,num,salary)as(selectSname,Snum,SsalaaryfromShopAssistant)union(selectAname,Anum,AsalaryfromAdministrator)createviewV_GoodsEndasselectGname,Gproducetime,Gtime,DateAdd(DAY,Gtime,Gproducetime)EndTimefromGoodscreateviewV_GoodsUnloadasselectGname,GoodsShelf.GSname,DateAdd(DAY,Gtime,Gproducetime)EndTimefromGoods,GoodsShelfwhereDateAdd(DAY,Gtime,Gproducetime)<=GETDATE()andGoods.GSnum=GoodsShelf.GSnumcreateviewv_BillExpenseasselectBnum,Gname,Gprice,Bquantity,(Bquantity*Gprice)TotalExpensefromSellGoods,GoodswhereSellGoods.Gnum=Goods.Gnum5、创立触发器货架上的现有存量减少,相应会员总花费额增添。其相应SQL语句为:createtriggert1onv_BillExpenseINSTEADOFdeleteasdeclare@Quantityint,@Gnamechar(10),@TotalExpensefloat--@Bnumchar(10)select@Quantity=Bquantityfromdeletedselect@Gname=Gnamefromdeleted--select@TotalExpense=TotalExpensefromdeleted--select@Bnum=BnumfromdeletedupdateGoodssetGSstock=GSstock-@QuantitywhereGoods.Gname=@Gname--updateMember--setMexpense=Mexpense+@TotalExpense--where@Bnum=SellBill.Bnum--andSellBill.Mnum=Mnum当从过期商品名单中删除某记录时,相应商品现有存量减少 .其相应SQL语句为:createtriggert2onV_GoodsUnloadINSTEADOFdeleteasdeclare@Gnamechar(10)select@Gname=GnamefromdeleteddeletefromGoodswhereGname=@GnameR存(假定脱货商品不影响第二次销售).其相应SQL语句为:createtriggert3onReturnGoodsafterdeleteasdeclare@Gnumchar(10),@Rquantityintselect@Gnum=Gnumfromdeletedselect@RquantityfromdeletedupdateGoodssetGSstock=GSstock+@RquantitywhereGnum=@Gnum6、成立储藏过程计算某个销售单上,每种商品的累计销售额(单价,花费小计)。其相应SQL语句为:createprocedurep_TotalExpense(@BS_Bnumvarchar,@Bnumvarcharoutput,@Gnamevarcharoutput,@Bquantityintoutput,@Gpricenumericoutput,@TotalExpensenumericasselect@Bnum=Bnum,@Gname=Gname,@Bquantity=Bquantity,@Gprice=Gprice,@TotalExpense=(Bquantity*Gprice)fromv_BillExpensewhereBnum=@BS_Bnum其考证语句为:Declare@T_Bnumvarchar,@T_Gnamevarchar,@T_Bquantityint,@T_Gpricevarchar,@T_TotalExpensevarcharExecutep_TotalExpense'GS-0000004',@T_Bnumoutput,@T_Gnameoutput,@T_Bquantityoutput,@T_Gpriceoutput,@T_TotalExpenseoutputPrint@T_Bnum+''+@T_Gname+''+@T_Bquantity+''+@T_Gprice+''+@T_TotalExpenseSQL语句为:createprocedurep_BillExpense@BS_BnumvarcharasselectBnum,sum(Bquantity)TotalQuantity,sum(TotalExpense)TotalExpensefromv

温馨提示

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

评论

0/150

提交评论