《数据库销售订单管理系统课程设计777313822.docx》由会员分享,可在线阅读,更多相关《数据库销售订单管理系统课程设计777313822.docx(61页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、目录1引言言11.1编编写目的的11.2参参考资料料12.需求求规约222.1 业务描描述22.2 需求分分析23.数据据库环境境说明334.数据据库的命命名规则则44.1 数据库库对象命命名规则则44.2 数据项项编码规规则45.逻辑辑设计555.1 ER图图55.2 关系模模型56.物理理设计666.1表表汇总666.2 表1: Supppliierss表(供应应商表)66.3 表2:pprodductt表(产品品表)76.4 表3:ssp表(供应应商产品品供应表表)76.5 表4: ordderss表(订单单表)86.6 表5:ppo表(产品品订购表表)96.7 表6: empployy
2、ee表表(雇员员表)106.8 表7:ccusttomeer表(客户户表)116.9 视图图的设计计116.100 存存储过程程的设计计126.111 触触发器的的设计2296.122函数的的设计3307.安全全性设计计317.1防防止用户户直接操操作数据据库的方方法3117.2用用户帐号号密码的的加密方方法3117.3角角色与权权限3118.数据据库管理理与维护护说明332总结333附录3441引言言1.1 编写目的的本文档是是销售订订单数据据库管理理系统设设计文档档的组成成部分,编编写数据据库设计计文档的的目的是是:明确确数据库库的表名名、字段段名等数数据信息息,用来来指导后后期的数数据库
3、脚脚本的开开发,本本文档遵遵循SSQL SERRVERR 20008数数据库设设计和开开发规范范。本本文档的的读者对对象是需需求人员员、系统统设计人人员、开开发人员员、测试试人员。设设计该数数据库的的目的是是为了能能够模拟拟完成一一次订单单销售流流程。1.2 参考资料料表1 参参考资料料表资料名称称作者文件编号号、版本本数据库库系统概概论王珊、萨萨师煊20066年5月第4版数据库库设计入入门经典典鲍威尔20077年3月第1版数据库库原理克罗恩科科20055年6月第1版2.需求求规约2.1 业务描描述销售订单单数据库库管理系系统的总总目标是是:在计计算机网网络,数数据库和和先进的的开发平平台上,
4、利利用现有有的软件件,配置置一定的的硬件,开开发一个个具有开开放体系系结构的的、易扩扩充的、易易维护的的、具有有良好人人机交互互界面的的销售订订单数据据库管理理系统,实实现订单单的下发发,数据据的查询询删除和和修改。2.2 需求分分析本销售订订单数据据库管理理系统的的需求如如下,首先在在供应商商表、供供应表、产产品表、订订购表、订订单表、客客户表、雇雇员表的的基本表表上建立立增、删删、改、查查的存储储过程。以以便以后后再次用用到的时时候可以以直接用用存储过过程而不不用反复复的写代代码。第第二在实实验中间间建立触触发器,当当订购产产品的时时候可以以查询库库存,如如果满足足要求,那那么就库库存通过
5、过触发器器实现库库存的减减少。第第三在这这次客场场设计的的基础上上建立一一些查询询,比如如说要求求建立订订单最多多的客户户信息的的查询,平平均工资资的查询询,库存存最多的的产品的的查询。最最后要求求完成一一次下订订单的流流程。此外,在在一个完完整的订订单销售售流程中中,本数数据库系系统还提提供查询询某供应应商供应应的产品品信息,查查询某产产品信息息,查询询某客户户信息,查查询某订订单订购购的产品品的信息息。对于于客户而而言,还还提供了了查询订订单最多多的客户户的功能能。例如如当在订订单的中中只要知知道订单单的编号号,就可可以知道道订单的的产品的的名字,产产品的数数量(产品的的信息),雇员员的信
6、息息,客户户的信息息。在订订购的表表中知道道订单号号就可以以知道订订单中产产品的数数量。可可以修改改数据库库里面的的数据,例例如条件件知道供供应商编编号就可可以对供供应商的的信息(编编号,姓姓名,xx,地址址等)进进行修改改,还可可以对该该供应商商进行删删除。知知道客户户的编号号就可以以对客户户的数据据(编号号,信息息姓名,xx等)进进行修改改,还可可以对该该用户进进行删除除。总的来说说,本数数据库系系统能够够达到模模拟完成成一次订订单销售售流程的的要求。在在本销售售订单数数据库管管理系统统中,有有一些限限制性条条件,比比如一个个客户可可以下多多个订单单,但一一个订单单只能由由一个客客户下,一
7、一个订单单可以订订购多种种产品,每每种产品品可被不不同订单单订购等等等,这这些限制制条件的的加入能能够使本本数据库库管理系系统的功功能更加加完善,能能够满足足更高的的要求。3.数据据库环境境说明表2数据据库环境境说明表表数据库实实例数据库系系统数据库部部署环境境数据库设设计工具具数据库存存放位置置说明销售订单单数据库库管理系系统Sql Serrverr 20008Winddowss 7Sql Serrverr存放位置置,绝对对路径/相对路路径用于订单单销售管管理4.数据据库的命命名规则则4.1 数据库库对象命命名规则则表3数据据库对象象命名表表数据库对对象命名规则则备注表S功能描描述字符符串例
8、如:SSuppplieers供供应商表表视图vieww_功能能描述字字符串例如:vvieww_Prroduuct产产品视图图触发器inseert_功能描描述字符符串例如:iinseert_PO更更改库存存触发器器存储过程程Procceduure_功能描描述字符符串例如:ppro_serrtSuuppllierrs存储储过程4.2 数据项项编码规规则表4数据据项编码码表数据项命名规则则数据类型型长度范围围备注供应商编编号两位整数数序号(001000)定长字符符串32位无产品号两位整数数序号(0010000)定长字符符串32位无订单号两位整数数序号(001000)定长字符符串32位无雇员号两位整数
9、数序号(001000)定长字符符串32位无客户号两位整数数序号(001000)定长字符符串32位无5.逻辑辑设计5.1EER图图5.11E-RR图5.2 关系模模型供应商(供应商商编号,名名称,地地址,xx)产品(产产品编号号,产品品名称,产产品类别别,出厂厂价,价格格,库存)供应(供供应商编编号,产品编编号)订购(产产品编号号,订单编编号,数数量)客户(客客户编号号,姓名名,地址址,电话话)订单(订订单编号号,日期期,客户户编号,雇员编编号,产产品种类类)雇员(雇雇员编号号,姓名名,电话话,工资资)6.物理理设计6.1表表汇总表5汇总总表表名功能说明明表Supppliierss供应商表表,存
10、储储供应商商的编号号等信息息表prooducct产品表,存存储产品品的编号号、数量量等信息息表Sp供应商产产品供应应表,存存储供应应商所供供应的产产品对应应信息表ordderss订单表,存存储订单单的编号号、日期期等信息息表po产品订购购表,存存储产品品订购的的对应信信息表empployyee雇员表,存存储雇员员的编号号等信息息表cusstommer客户表,存存储客户户的编号号等信息息6.2表表1: Supppliierss表(供应应商表)表名Suppplieers(供供应商表表)数据库用用户Sa主键S_nuumbeer其他排序序字段无索引字段段无序号字段名称称数据类型型(精度度范围)允许为空
11、空Y/NN唯一Y/N区别度默认值约束条件件/说明1S_nuumbeercharr(322)NY高无主键/供供应商编编号2S_naamecharr(322)NN中无供应商名名称3S_adddreesscharr(322)NN中无供应商地地址4S_teelnuumCharr(322)NN高无供应商电电话sql脚脚本-建立立供应商商表creaate tabble Supppliierss-供供应商表表( SS_nuumbeer ccharr(322) nnot nulll pprimmaryy keey, SS_naame chaar(332) nnot nulll, SS_addresss cch
12、arr(322) nnot nulll, SS_teelnuub ccharr(322) nnot nulll,);6.3表表2:pprodductt表(产品品表)表名Prodductt(产品品表)数据库用用户sa主键P_nuumbeer其他排序序字段无索引字段段无序号字段名称称数据类型型(精度度范围)允许为空空Y/NN唯一Y/N区别度默认值约束条件件/说明1P_nuumbeercharr(322)NY高无主键/产产品编号号2P_naamecharr(322)NY高无产品名称称3P_prriceeintYN中无产品原价价4P_exxpriiceintYN中无产品出厂厂价5P_innvennto
13、rryintYN中无产品库存存量sql脚脚本-建立立产品表表creaate tabble prooducct -产品品表( pp_nuumbeer ccharr(322) pprimmaryy keey nnot nulll, pp_naame chaar(332) nott nuull, pp_prricee innt, -原原价 pp_exxpriice intt, -售价价 pp_innvenntorry iint ,-库存);6.4 表3:ssp表(供应应商产品品供应表表)表名sp(供供应商产产品供应应表)数据库用用户sa主键S_nuumbeer,PP_nummberr其他排序序字段无
14、索引字段段无序号字段名称称数据类型型(精度度范围)允许为空空Y/NN唯一Y/N区别度默认值约束条件件/说明1S_nuumbeercharr(322)NY高无主键/供供应商号号2P_nuumbeercharr(322)NY高无主键/产产品编号号sql脚脚本-建立立供应商商产品供供应表creaate tabble supp-供供应表( SS_nuumbeer ccharr(322) nnot nulll, pp_nuumbeer ccharr(322) nnot nulll, pprimmaryy keey(SS_nuumbeer,pp_nuumbeer), fforeeignn keey(SS_
15、nuumbeer)rrefeerenncess Suuppllierrs(SS_nuumbeer) oon ddeleete casscadde oon uupdaate casscadde, fforeeignn keey(pp_nuumbeer)rrefeerenncess prroduuct(p_nnumbber) oon ddeleete casscadde oon uupdaate casscadde);6.5 表4:oordeers表表(订单单表)表名ordeers(订订单表)数据库用用户sa主键o_nuumbeer其他排序序字段无索引字段段无序号字段名称称数据类型型(精度度范围)
16、允许为空空Y/NN唯一Y/N区别度默认值约束条件件/说明1o_nuumbeercharr(322)NY高无主键/订订单号2timeesdateeNN低无订单日期期3e_nuumbeercharr(322)YN中无雇员号4c_nuumbeercharr(322)NN高无客户号5pnintYN中无产品种类类数sql脚脚本-建立立订单表表creaate tabble ordderss -订单表表( o_nnumbber chaar(332) nott nuull priimarry kkey, emppl_nnumbber chaar(332) nott nuull, c_nnumbber chaa
17、r(332) nott nuull, timmes datte, pn intt,-产品总总数 forreiggn kkey(c_nnumbber)reffereencees ccusttomeer(cc_nuumbeer) on delletee ccasccadee on upddatee ccasccadee, forreiggn kkey(emppl_nnumbber)reffereencees eemplloyeee(eempll_nuumbeer) on delletee caascaade on upddatee caascaade );6.6 表5:ppo表(产品品订购表表)表
18、名po(产产品订购购表)数据库用用户sa主键p_nuumbeer oo_nuumbeer其他排序序字段无索引字段段无序号字段名称称数据类型型(精度度范围)允许为空空Y/NN唯一Y/N区别度默认值约束条件件/说明1p_nuumbeercharr(322)NY高无主键/产产品号2o_nuumbeercharr(322)NY高无主键/订订单号3quanntintNN低无订购产品品数量sql脚脚本-建立立产品订订购表creaate tabble po-订购购表(p_nuumbeer chaar(332),o_nuumbeer ccharr(322),quannt iint,primmaryy keey
19、(pp_nuumbeer,oo_nuumbeer),foreeignn keey(pp_nuumbeer)rrefeerenncess prroduuct(p_nnumbber)on ddeleete casscaddeon uupdaate casscadde,foreeignn keey(oo_nuumbeer)rrefeerenncess orrderrs(oo_nuumbeer)on ddeleete casscaddeon uupdaate casscadde,);6.7 表6:eemplloyeee表(雇员员表)表名emplloyeee(雇雇员表)数据库用用户sa主键e_nuumb
20、eer其他排序序字段无索引字段段无序号字段名称称数据类型型(精度度范围)允许为空空Y/NN唯一Y/N区别度默认值约束条件件/说明1e_nuumbeercharr(322)NY高无主键/雇雇员号2e_naamecharr(322)YN中无雇员名称称3e_teelnuumCharr(322)YY高无雇员电话话4e_reealreallYN低无雇员薪资资5e_adddreesCharr(322)YN中无雇员的地地址sql脚脚本-建立立雇员表表creaate tabble empployyee-雇员员表( eempll_naame chaar(332), eempll_nuumbeer ccharr(
21、322) pprimmaryy keey, eempll_adddrees ccharr(322), eempll_teelnuumb chaar(332), eempll_reeal innt,);6.8 表7:ccusttomeer表(客户户表)表名custtomeer(客客户表)数据库用用户sa主键c_nuumbeer其他排序序字段无索引字段段无序号字段名称称数据类型型(精度度范围)允许为空空Y/NN唯一Y/N区别度默认值约束条件件/说明1c_nuumbeercharr(322)NY高无主键/客客户表2c_naamecharr(322)YN中无客户名称称3c_adddreesscharr
22、(322)YN中无客户地址址4c_teelnuubcharr(322)YY高无客户电话话sql脚脚本-建立立客户表表creaate tabble cusstommer-客户户表( cc_nuumbeer ccharr(322) pprimmaryy keey, cc_naame chaar(332), cc_addresss ccharr(322), cc_teelnuub ccharr(322),);6.9 视图图的设计计1、建立立一张客客户信息息的视图图目的:屏屏蔽客户户的地址址信息。功能:能能够向管管理员提提供简明明,直接接的客户户信息展展示。意义:有有利于数数据库安安全的维维护,防防止
23、任意意修改数数据库中中的雇员员信息。creaate vieew vv_coousttom(namme,nnumbber)asseleect c_nnamee,c_nummberrfromm cuustoomerr;2、建立立一张订订单视图图信息的的视图目的:用用来查询询每个客客户下的的订单数数和用来来查找下下订单数数最多的的客户。功能:能能够向管管理员提提供简明明,直接接客户下下订单的的信息展展示。意义:有有利于数数据的检检索。creaate vieew vvieww_orrderrsasseleect c_nummberr,coountt(o_nummberr)总数数fromm orrder
24、rsgrouup bby cc_nuumbeer;6.100 存存储过程程的设计计1、查询询订单数数量功能:查查询订单单的数量量目的:存存储查询询订单数数量的操操作意义:下下次重复复同样的的动作时时,可直直接执行行存储过过程,简简化操作作步骤creaate proocedduree prroceedurre_SSearrchOOrdeersNNum -查查询订单单的存储储过程asseleect COUUNT(*) 订单单总数-查查询订单单数量fromm Orrderrs;图1 订单总总数查询询图2、查询询订单信信息功能:查查询订单单信息目的:存存储查询询订单信信息的操操作意义:下下次重复复同样
25、的的动作时时,可直直接执行行存储过过程,简简化操作作步骤creaate proocedduree prroceedurre_sseleect_ordderss-查查询订单单信息xo_nnumbber chaar(332)asif nnot exiistss ( seelecct * frrom ordderss whheree o_nummberr=xoo_nuumbeer ) prrintt该订订单不存存在 ellseseleect ordderss.o_nummberr,tiimess,pnn,c_namme,eempll_naamefromm orrderrs ,cusstommer,e
26、mpployyee wherrecuustoomerr.c_nummberr=orrderrs.cc_nuumbeeranndordeers.emppl_nnumbber=empployyee.emppl_nnumbber andd orrderrs.oo_nuumbeer=xxo_nnumbber图2 订单查查询图3、查询询订单最最多的客客户信息息功能:查查询订单单最多的的客户信信息目的:存存储查询询订单最最多的客客户信息息的操作作意义:下下次重复复同样的的动作时时,可直直接执行行存储过过程,简简化操作作步骤creaate vieew vvieww_orrderrasseleect c_nu
27、mmberr,coountt(o_nummberr)总数数fromm orrderrsgrouup bby cc_nuumbeer;dropp viiew vieew_oordeers;creaate proocedduree prroceedurre_sseleect_maxx_odderss -查询订订单数最最多的客客户asseleect *fromm cuustoomerrwherre cc_nuumbeer iin ( sseleect c_nnumbber ffromm viiew_ordderss wwherre 总总数 iin( sellectt MAAX(总总数 ) froom
28、 vvieww_orrderrs ) ); 图3 最最多订单单客户效效果图4、查询询客户信信息功能:查查询客户户信息目的:存存储查询询客户信信息的操操作意义:下下次重复复同样的的动作时时,可直直接执行行存储过过程,简简化操作作步骤creaate proocedduree prroceedurre_sseleect_couustoom -查询询客户信信息xnamme ccharr(322)asif nott exxistts ( seelecct * frrom cusstommer whheree c_namme=xxnamme ) prrintt该客客户不存存在 ellseseleect *
29、fromm cuustoomerr wherre cc_naame=xnaame;图4 查询客客户信息息图5、查询询雇员信信息功能:查查询雇员员信息目的:存存储查询询雇员信信息的操操作意义:下下次重复复同样的的动作时时,可直直接执行行存储过过程,简简化操作作步骤creaate proocedduree prroceedurre_sseleect_emppl -查询询雇员信信息xnamme ccharr(322)asif nott exxistts ( seelecct * frrom empployyee whheree emmpl_namme=xxnamme ) prrintt该客客户不存存
30、在 ellseseleect *fromm emmplooyeee wherre eempll_naame=xnaame;图5 查询雇雇员信息息图6更新客客户信息息功能:更更新客户户信息目的:存存储更新新客户信信息的操操作意义:下下次重复复同样的的动作时时,可直直接执行行存储过过程,简简化操作作步骤creaate proocedduree uupdaate_couustoome-更新新客户信信息 xxnummberr chhar(32), xxtelll ccharr(322), xxadddresss ccharr(322) aas iif nnot exiistss(seelecct *
31、frrom cusstommer whheree c_nummberr=xnnumbber ) priint你输入入的客户户不存在在 eelsee uupdaate cuustoomerr sset c_aadreess=xadddreess,c_ttelnnub=xteell wwherre cc_nuumbeer=xxnummberr ;图6 更新客客户信息息图7、查询询产品信信息功能:查查询产品品信息目的:存存储查询询产品信信息的操操作意义:下下次重复复同样的的动作时时,可直直接执行行存储过过程,简简化操作作步骤creaate proocedduree prroceedurre_ssel
32、eec_pproddut xpnnumbber chaar(332)-产品品的查询询as seleect *fromm prroduuctwherre pp_nuumbeer=xxpnuumbeer;图7 查询产产品图8、插入入供应商商信息功能:插插入供应应商信息息目的:存存储插入入供应商商信息的的操作意义:下下次重复复同样的的动作时时,可直直接执行行存储过过程,简简化操作作步骤creaate proocedduree innserr_suuplyy-增增加供应应商 xxSnuumbeer ccharr(322), xxSnaame chaar(332), xxSaddresss ccharr
33、(322), xxSteelnuub ccharr(322)asif eexissts(sellectt * froom SSuppplieers wheere S_nnumbber=xSnnumbber)prinnt 该供应应商已经经存在,无无需加入入。elseeinsserttintoo Suuppllierrsvaluues( xxSnuumbeer, xSSnamme, xSaadreess , xxSteelnuub );图8 插入供供应商图图9、插入入订单信信息功能:插插入订单单信息目的:存存储插入入订单信信息的操操作意义:下下次重复复同样的的动作时时,可直直接执行行存储过过程,简
34、简化操作作步骤creaate proocedduree prroceedurre_iinseert_ordderss-插插入订单单信息xo_nnumbber chaar(332),xemppl_nnumbber chaar(332),xc_nnumbber chaar(332),xtimme ddatee,xpn inttasif eexissts ( seelecct * frrom ordderss whheree o_nummberr=xoo_nuumbeer ) prrintt该订订单已经经存在,不不需重复复下订单单 ellseinseertintoo orrderrs valuues
35、(xo_nummberr ,xxemppl_nnumbber,xc_nummberr,xttimee ,xpn)图9 插入订订单图10、插插入产品品订购信信息功能:插插入产品品订购信信息目的:存存储插入入产品订订购信息息的操作作意义:下下次重复复同样的的动作时时,可直直接执行行存储过过程,简简化操作作步骤creaate proocedduree pprocceduure_oedder_proo -插入订订单产品品xpnuumbeer ccharr(322),xxonuumbeer ccharr(322),xquuanyy iintasif nnot exiistss ( seelecct *
36、frrom prooducct whheree p_nummberr=xppnummberr ) prrintt仓库库里没有有该产品品,不予予订购 elseeif nnot exiistss ( seelecct * frrom ordderss whheree o_nummberr=xoonummberr ) prrintt你输输入的订订单号不不对 ellseif exiistss ( seelecct * frrom po whheree p_nummberr=xppnummberr annd oo_nuumbeer =xonnumbber ) prrintt该产产品已经经在订单单中 el
37、sse iifexxistts ( sseleect * frrom prooducct whheree p_invventtoryyxqquanny aand p_nnumbber=xpnnumbber ) prrintt该产产品库存存不足不不予以订订购 ellseinseert intto ppovaluues(xpnnumbber ,xoonummberr,xqquanny );图10 插入入订购产产品图11、插插入产品品信息功能:插插入产品品信息目的:存存储产品品的操作作意义:下下次重复复同样的的动作时时,可直直接执行行存储过过程,简简化操作作步骤creaate prooceddure
38、e pprocceduure_inssertt_prro-插入产产品xnummberr chhar(32),xnnamee chhar(32),xppricce iint,xexxpriice intt,xiinveentoory inttasif eexissts(sellectt * froom pprodductt whheree p_nummberr=xnnumbber)updaate prooducctset p_iinveentoory=p_iinveentoory+xinnvenntorryelseeinseert intoo prroduuct valuues( xnnumbb
39、er, xnnamee, xppricce, xeexprricee, xiinveentoory )图 111 插入入产品图图12、更更新供应应商的信信息功能:更更新供应应商的信信息目的:存存储产品品的操作作意义:下下次重复复同样的的动作时时,可直直接执行行存储过过程,简简化操作作步骤creaate proocedduree pprocceduure_upddatee_suuplyy-更更新供应应商信息息 xxsnuumbeer ccharr(322), xxsteell chaar(332), xxsadddreess chaar(332) aas iif nnot exiistss( sseleect * ffromm Suuppllierrs wwherre SS_nuumbeer=xxsnuumbeer ) prrintt你输输入的供供应商不不存在