还剩20页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
水果销售管理系统数据库设计报告
4.4自定义函数设计数据库fruit_sale函数英文名称achievement函数中文名称业绩相关的基本表和视图:employees,ordcr_salc函数参数:@empidint,@starttimedate,@endtiniedate返回类型表英文字段名中文字段名字段类型备注empid雇员编号int ename雇员名称Varchar20ordernum订单量int Total_sale总销售额decimal说明输入雇员编号以及开始时间和结束时间,即可查询该段时间内雇员处理的订单量和销售额数据库fruit_sale函数英文名称aclive_cust函数中文名称活跃顾客相关的基本表和视图customers,order_sale函数参数@custidint,@starttimedate,@endtiinedate返回类型:lable英文字段名中文字段名字段类型备注custid顾客编号int custname顾客名字Varchar20ordernum订单量int Total_cost总花费额decimal说明输入顾客编号以及起始时间和结束时间,可查询该段时间内顾客的下单量和花费总额数据库fruit_sale函数英文名称order_detail函数中文名称订单明细函数相关的基本表和视图:orderdetails函数参数@orderidint返回类型table英文字段名中文字段名字段类型备注orderid订单编号int fruitid水果编号int fniitnameVarhcar20水果名字unitprice单价Decimal6,l qty数量int discount折扣Decimal,2说明数据库fruit_sale函数英文名称qly_query函数中文名称库存量查询相关的基本表和视图:depots函数参数@fruilnamevarchar20返回类型:table英文字段名中文字段名字段类型备注fruitid水果编号int dcpotid供应商编号int fruitname水果名字Varchar20qty库存Int说明数据库fruit_sale函数英文名称supplier_minprice函数中文名称进货价最低商家相关的基本表和视图:suppl icrs函数参数:@fruitnamevarchar20,@qtyint返回类型:table英文字段名中文字段名字段类型备注fruitid水果编号int fruitname水果名字Varchar20supplierid供应商编号int Purchase_price进货价Dccimal6,l discount折扣Decimla3,2lotal_price总价Decimal6,l说明数据库fruil_sale函数英文名称query neworder函数中文名称:查询最新订单相关的基本表和视图:orders,orderdetails函数参数无返回类型:table英文字段名中文字段名字段类型备注orderid订单编号ini fruitid水果编号int fruitname水果名字Varhcar2unitprice单价Decimal6,l qty数量int discount折扣Decimal3,2说明数据库fruit_sale函数英文名称qucry_ncwPurchasc函数中文名称查询进货单相关的基本表和视图:purchase函数参数无返回类型:table英文字段名中文字段名字段类型备注Purchaseid进货单编号Int supplierid供应商编号int fruitid水果编号int fruitname水果名字Varchar20Purchase_price进货价格Decimal6,l qty数量int discount折扣Decimal3,2totoai总价dccimal6,l Purchaseid进货单编号Int说明数据库:fruit_sale函数英文名称qty」ack函数中文名称库存不足相关的基本表和视图:deopls函数参数@fruitname,@qty返回类型varchar20说明当库存不足时返回false,库存充足时返回true数据库fruit_sale函数英文名称monthordcr函数中文名称月订单量对比相关的基本表和视图:monh_adJpercent函数参数@orderyear返回类型:table英文字段名中文字段名字段类型备注fruitid水果编号int fruitname水果名字Varchar20Purchase_date进货日期date Middle_day过半日期date Conserve_day保质期date Unit_price单价Decimal6,l qty数量int discount折扣Decimal©,2说明
4.5存储过程设计数据库fruit_sale存储过程英文名称:putrid_fruits存储过程中文名称腐烂水果存储过程内容返回超过了保质期的水果编号以及名称说明:数据库fruit_sale存储过程英文名称:update_middle_discoimt存储过程中文名称更改保质期过半的水果一存储过程内容更改保质期过半的水果的折扣说明要求保质期大于7天,且距离保质期还有3天以上的水果数据库fruit_sale存储过程英文名称:update_quick_discount存储过程中文名称快过期水果折扣修改存储过程内容修改快过期水果的折扣说明保质期大于7天,且保质期只有三天以内的水果数据库fruit_sale存储过程英文名称:em」iionth_sale存储过程中文名称雇员业绩月图-存储过程内容通过输入年份和雇员编号,返回此回员在该年每月的业的情况及同上一个月的对比说明:数据库fhiit_sale存储过程英文名称:cu」nonth_salc存储过程中文名称顾客月消费图存储过程内容通过输入年份和顾客编号,返回顾客在该年每月的消费情况及同上一个月的对比说明:数据库fruit_sale存储过程英文名称:add_q【y存储过程中文名称进货~~存储过程内容输入水果名字和需要进货的数量,即可匹配最优的供应商,并且在进货单中插入该记录,并且更改库存说明:数据库fruit_sale存储过程英文名称:add_ordcr存储过程中文名称下单存储过程内容通过输入标识符,水果名字,水果数量,雇员编号,顾客编号进行插入订单(一次一种)说明当标识符为I时,表示为新订单,如果为2则表示在当前订单继续插入水果
4.6触发器设计数据库fruit_sale触发器英文名称trg_rigistcr触发器中文字段注册触发器作用于表dbo.employees相关的基本表或视图dbo.employees参数英文字段名中文字段名字段类型备注@cnt计数Int@age年龄Int@Ldid上级领导Int编号说明检验编号、性别格式是否正确,年龄是否大于18,上级领导号码格式是否正确数据库fruit_sale触发器英文名称tgjadmpwd触发器中文字段密码长度触发器作用于表dbo.administrators相关的基本表或视图:dbo.administrators参数英文字段中文字段字段类型备注名名@pvvdlen说明检验管理员表注册密码是否大于6位数据库fruit_sale触发器英文名称igjcoiinlcheck触发器中文字段折扣确认作用于表dbo.fruits相关的基本表或视图dbo.fruits参数英文字段名中文字段名字段类型备注@ccheck检查Decimal4,3说明确认折扣是否为负值数据库fruit_salc触发器英文名称tgjdep触发器中文字段水果上架确定作用于表dho.dcpots相关的基本表或视图dbo.depots参数英文字段名中文字段名字段类型备注@tqty库存Int说明当水果进入仓库后确认上架水果余量是否大于,水果商品号是否正确,之后加入到商品表中,水果的保质期不能小于入库口期数据库fruit_sale触发器英文名称tgjdlcheck触发器中文字段日期确认作用于表dbo.fruits相关的基本表或视图dbo.fruits参数英文字段名中文字段名字段类型备注@dale1进货日期Datetime@date2保质期Datetime说明检查进货口期是否小于保质期数据库fruit_sale触发器英文名称igjremain触发器中文字段余量确认作用于表dbo.dpots相关的基本表或视图dbo.fruits,dbo.dpots,dbo.orders,dbo.oderDetails参数英文字段名中文字段名字段类型备注@fruitid Int水果编号@qty数量Int@orderid订单号int说明在下订单时确认水果是否有余量订购数据库fruit_sale触发器英文名称tgr_pcscheck触发器中文字段进货信息确认作用于表dbo.purchase相关的基本表或视图dbo.purchase,dbo.fruits,dbo.suppliers参数英文字段名中文字段名字段类型备注@spid供货商号Int@fid水果号Int@pqty数量Int@ct折扣Decimal4,3@flag标识号Int说明确认进货商号是否存在,水果是否存在,数量是否大于0,折扣是否大于数据库fruit_sale触发器英文名称tgjnorows触发器中文字段删除空订单作用于表ordcrDctails相关的基本表或视图orders,orderDetails参数英文字段名中文字段名字段类型备注@count记录条数Int@orderid订单编号Int说明如果新订单中对应的订单明细中没有记录就删除该订单号
1.引言随着市场机制的日趋完善,商品经济化猛进发展,企业自主权不断增强,来往贸易的商品销售过程中,销售管理系统的应用不断地被企业重视,渗透到经济和社会生活的方方面面加之互联网环境下的信息爆炸大数据时代,通过一些新旧媒介平台开展营销手段(特别是信息时代下的线上020网络交易),许多企业的销售规模不断扩大,订单量越来越多,也就是说在部门人员中会累积大量的客户资料信息、商品信息、订单信息、销售数据和分析数据等,销售管理系统对于各类企业、公司的重要性愈加彰显出来
1.1编写目的计算机科学技术的逐渐发展,各种各样的管理系统逐渐走入人们的生产生活,它能帮助企业完成日常管理的整个过程.商品的采购、销售、存储、管理以及商业决策等各个方面对人们的日常生活都有极大的益处水果销售系统是为了方便水果销售店家记录水果销售情况以及管理的系统一直以来销售者使用的管理方式存在者许多缺点它使用传统的人工记录销售信息,填写各种表格,过程复杂繁琐,并且效率低下,依然不能满足实际的需求,对信息的查找,更新和维护都面临着不少的困难但是对于这种相对复杂的信息管理,计算机就能够充分发挥它的优越性,所以
4.7约束条件•雇员表雇员编号为主键,上级领导编号为外键;领导编号也是领导的雇员编号••管理员表管理员编号为主键;•水果表水果编号为主键,供应商编号,仓库编号为外键;•供应商表供应商编号为主键;•顾客表顾客编号为主键;•订单表订单编号,顾客编号,雇员编号为主键;•订单明细表订单编号和水果编号为主键;•仓库表仓库编号为主键,雇员编号和水果编号为外键;•进货表进货单编号为主键,供应商编号和水果编号为外键.
4.8索引设计数据库fruit_sale索引英文名称Idx_fu_dp_qly作用于表名称depots(仓库表)作用字段集名称Fruitid(水果编号),dcpotid(仓库编号),qty(库存)索引类型非聚集说明优化仓库表的频繁查询字段,通过查询快速找到水果编号以及对应的仓库编号和库存数据库fruit_sale索引英文名称Idx_fruitid作用于表名称depots作用字段集名称fruitid索引类型聚集~~说明将水果编号设为聚集字段,便于与水果水进行联结时,快速快询对应编号找到对应库存数据库fruit_sale索弓I英文名称kix_or_un_qly_dis作用于表名称orderDctails作用字段集名称Orderid,unitprice(单价),qty,discount(折扣)索引类型非聚集说明订单编号是分组字段,且是大数目的不同值,水果明细表中的单价,数量和折扣是计算订单销售额的核心字段,便于快速查询这些字段数据库fruit_sale索引英文名称Idx_re_em作用于表名称orders作用字段集名称Requiredate(订单请求日期),empid(雇员编号)索引类型非聚集说明订单请求日期是进行排序的核心字段,而雇员编号是便于与雇员表进行联结查询对应信息数据库fruit_sale索引英文名称Idx_re_em作用于表名称orders作用字段集名称Requiredate(订单请求日期),custid(雇员编号)索引类型非聚集说明订单请求日期是进行排序的核心字段,顾客编号是便于与顾客表进行联结杳询对应信息数据库fruit_sale索引英文名称Idx_fu_funame作用于表名称fruits作用字段集名称Fruitid,fruitname索引类型聚集说明水果编号和水果名字是确认水果的信息的主要字段,且范围并不大,设为聚集索引,有利于优化有关水果信息的相关查询数据库fruit_sale索引英文名称Idx_id_price_dis作用于表名称suppliers作用字段集名称Supplierid,purchase_price(进价),discount(折扣)索引类型非聚集说明供应商表中,供应商编号是确保唯一的字段,而进价和折扣是计算价钱的核心字段,优化了查询不同供应商的价格差的相关查询数据库fruit_sale索引英文名称Idx idcname作用于表名称customers作用字段集名称Custid,cname索引类型非聚集~~说明顾客表中,顾客编号和顾客名字是常被查询访问的字段,用来显示顾客的信息,进行分组以及进行表之间连接的操作.数据库fruit_sale索弓I英文名称Idx_id_ename作用于表名称employees作用字段集名称Enipid,enmae索引类型非聚集~~说明雇员表中,雇员编号是主键,经常被用作分组排序和进行表连接,而名字则是永安里显示雇员业绩时长要访问的字段
5.心得体会我们小组这次选定的方向是水果销售系统,对于此次方向的选定,事前经过了方向提出,讨论商议,以及可行性分析几个阶段,从书籍管理系统,到图书售卖系统,再到水果线上售卖系统,最终确定到现在的是水果销售管理系统;在方向确定的过程中,可行性的分析对于我们来说无疑是很重要的,如何在有限的时间内最大限度发挥各组员能力是我们选定设计方向的主要目的之一;同时,在磋商的过程中也是对我们这支新生队伍默契度的磨练,网上磋商交流不同于面对面交流,很多细节以及演示无法面面俱到,这考验了我们协商沟通能力的同时,也在磨合我们这支新生队伍;在确定好方向之后,经过之前的磨合,让我们很快将后面的工作推进下去,这让我们深刻的了解到了在团队合作中沟通是极为重要的一件事,这样才可以统一所有人的步伐,方便工作的进度的推进;在E-R图的设计中,我们对书中提到的步骤理论一步步的熟悉,实践出真章,在随后的需求分析,以及数据库设计中我们开始将所学的知识一步步实践出来,将想法一步步变为现实;表的确定以及各实体间关系的确立也是很重要的一步,清晰明了的关系以及逻辑缜密的设计才能为后面的前后端交互铺平道路,经过几次的删改之后我们才郑重定稿;功能设计是基于前端和后端的,这就更加需要各组员们的沟通,分工不同,但又紧密联系,这才能保证前后端交互的正确性数据库的创建以及管理是很顺利的,于是我们将重心放在了数据库的运维以及查询的建立匕无论是后端数据的建立还是前段页面的设计,我们都遇到了不少困难,摸着石头过河,对于不懂的问题我们只有查阅资料,组员沟通,这既锻炼了我们自主学习能力,也锻炼了我们自我解决问题的能力;查询的建立以及前后端的设计我们放弃了标准化的MySQL,而是选择了SQL Server作为数据库交互,MAMAP作为服务器来进行本地测试,比起从零开始的软件,选择适合我们使用的才能提高我们的效率;我们对于SQLServer语句查询以及运维比起MySQL更加的得心应手,而MAMAP让我们免于租用服务器费用,改用本地服务器作为代替;软件的选择减轻了我们的负担,同时也能让我们完成目标;生活中也是如此,当一条路走不通的时候,选择另一条路也是一个不错的选择这次数据库设计大大提升了我们对数据库知识的理解,也增强了我们的动手能力,数据库本就是仪表门实践能力很强的课程,这次的设计也帮助我们更好的学习了关于数据库的知识,为后来的学习带来了极其有用的经验这次课题的完成离不开我们小组每一个人的付出,同时,也要感谢我们之间的交流与默契,希望我们的组员在之后的工作中也能表现的如此次般出色,与同伴间也是同样的默契使用计算机进行信息管理与信息管理系统的开发密切相关为此我们研发了这款管理系统
1.2水果销售管理系统的研究背景当售卖水果规模达到一定程度以后,水果的种类逐渐增多,顾客也逐渐增多,不论是管理还是销售都及其的不方便,普通的水果店每天都会发生进货或销售记录,这些都是通过人工操作进行的,面对客流量不同的时段,很难以清晰地记录当天销售的数量和情况再加上,水果不同时节价格不甚稳定,单价时常的变化也对销售的记录造成了比较大的压力并且,售卖的水果各项信息记录的收集要耗费大量的精力和时间,分散了售卖水果的精力并且历史数据很难保存和利用以前的水果店要求营业人员熟悉每一种水果的情况,存储周期,事宜温度,还有季节性水果,以至于开店学习的成本较大,如果有了一个管理系统能了解水果各种情况也能极大的降低学习成本针对这些情况,计划开发一个面向商铺的水果销售管理系统,实现对物流的全面管理,实现水果销售管理的信息化
2.需求分析
2.1需求分析随着办公自动化的蓬勃发展和人们对信息产业的认识增强,水果销售变得越来越繁重,原有的水果销售不能完全满足相关人员的需求为了帮助信息产业开展水果销售信息管理,提高工作效率,充分利用现有的信息产业资源,开发更好的水果在线营销平台势在必行本系统网络数据库开发技术进行设计该系统是一个独立的系统,用于解决水果销售信息管理问题利用JSP技术构建一个有效实用的水果销售信息管理平台,目的是有效地完成水果销售信息的管理该系统具有标准水果在线营销平台的成果,并具有完整的水果销售信息管理步骤,完成虚拟现实的实现为了实现节约资源、提高效率、处理业务的功能,实现了水果在线销售平台的功能
3.E・R图(关系模型)
4.数据流建模
4.1基表设计数据库名称fruit_sale基表英文名称employees基表中文名称雇员表英文字段名中文字段名字段类型备注empid雇员编号int主键ename雇员名字navarchar20cage雇员年龄int esex雇员性别Varchar10title职位nvarchar30hiredate聘用日期datetime phone电话号码nvarchar20mgrid上级领导编号int外键说明数据库fruit_sale基表英文名称:administrators基表中文名称管理员表英文字段名中文字段名字段类型备注admin istratorid管理员编号int主键administratorname管理员名字nvarchar20Account_number账户名字Varchar20password账户密码Varchar20age年龄int sex性别Varhcar2说明
4.2基本表设计数据库fruit_sale基表英文名称:fruits基表中文名称:水果表英文字段名中文字段名字段类型备注fruitid水果编号int主键fruitname水果名字Nvarchar40supplierid供应商编号Int外键depotid仓库编号Int外键Unit_price单价Decimal6,l Purchase_date进货日期date Conservc_day保质期date discount折扣Decimal3,2说明数据库fruit_sale基表英文名称suppliers基表中文名称供应商表英文字段名中文字段名字段类型备注supplierid供应商编号ini主键suppl iernaine供应商名字Nvarchar40Supplier_phone Varchar20供应商电话fruitid水果编号Nvarchar30主键fruitna水果名称Nvarchar30me Purchase_price供货价格Decinial6,l Min_qty最低进货量int discount折扣Decimal3,2说明数据库fruit_sale基表英文名称Customers基表中文名称顾客表英文字段名中文字段名字段类型备注custid顾客编号int主键cname顾客名字Nvarchar4cage顾客年龄int csex顾客性别Varchar2phone电话Nvarchar20adress地址VracharlOO说明数据库fruit_sale基表英文名称Orders基表中文名称订单表英文字段名中文字段名字段类型备注orderid订单编号int主键custid顾客编号int主键empid雇员编号int主键address送货地址varcharlOO requi redate请求日期dale说明数据库:fruit_sale基表英文名称OrdcrDctails基表中文名称订单明细表英文字段名中文字段名字段类型备注orderid订单编号int主键fruitid水果编号int主键fruitname Varhcar2水果名字0unilprice单价Decimal6,1qty数量int discount折扣Decimal3,2说明数据库:fruit_sale基表英文名称depots基表中文名称仓库表英文字段名中文字段名字段类型备注Depot id仓库编号int主键empid雇员编号int外键fruitid水果编号int外键fruitname水果名字Varchar20qty库存量Int说明数据库fruit_sale基表英文名称:Purchase基表中文名称:进货表英文字段名中文字段名字段类备注型Purchaseid进货单编号Int主键supplierid供应商编号int外键fruitid水果编号int外键fruitname水果名字Varchar20Purchase_price进货价格Decimal6,l qty数量int discount折扣Decimal,2totoal总价decimal6,l说明
4.3视图设计数据库fruit_sale视图英文名称ordcr_sale视图中文名称订单销售额相关的基本表和视图orders,orderdetails英文字段名中文字段名字段类型备注orderid订单编号int empid雇员编号int custid顾客编号int Sale销售额decimal requiredate请求日期datetime说明订单表与订单明细表进行联结,算出该订单的总销电导额数据库fruit_sale视图英文名称ordejyear。