淘宝商品管理系统课程设计报告数据库SQL5.doc

上传人:仙人指路1688 文档编号:3819356 上传时间:2023-03-23 格式:DOC 页数:25 大小:488.50KB
返回 下载 相关 举报
淘宝商品管理系统课程设计报告数据库SQL5.doc_第1页
第1页 / 共25页
淘宝商品管理系统课程设计报告数据库SQL5.doc_第2页
第2页 / 共25页
淘宝商品管理系统课程设计报告数据库SQL5.doc_第3页
第3页 / 共25页
淘宝商品管理系统课程设计报告数据库SQL5.doc_第4页
第4页 / 共25页
淘宝商品管理系统课程设计报告数据库SQL5.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《淘宝商品管理系统课程设计报告数据库SQL5.doc》由会员分享,可在线阅读,更多相关《淘宝商品管理系统课程设计报告数据库SQL5.doc(25页珍藏版)》请在三一办公上搜索。

1、数据库设计报告年级专业 信息管理与信息系统 学 号 学生姓名 指导教师 二一三年十一月目 录第1章 概述1第2章 需求分析22.1系统功能需求22.1.1 系统配置22.2数据字典2第3章 概念结构设计33.1E-R模型3第4章 逻辑结构设计44.1 E-R模型转换说明44.2 关系模式44.2.1部门表4第5章 物理结构设计55.1 服务器配置55.2 数据库文件设置5第6章 总结与心得6附录1 数据库SQL定义语句7一、表71、部门表7二、视图71、订单状况7三、存储过程71、导入扫描数据7四、触发器81、计算库存8附录2 参考文献10第1章 概述一、项目背景现今社会,网络购物已经成为人们

2、日常生活的一部分,而且仍在飞速发展。打开网页就是各种销售网站的广告,淘宝、京东、一号店各种商品,只有你想不到没有网上找不到的。有市场就有商机,越来越多的人加入到了网店店主的行列。而随着网上购物的兴起,网上货物信息的管理成了一大难题。从商品的入库(上架)到销售,各种繁杂的信息,像商家号、货号、订单号还有商品的细节描述信息像产地、类目、库存,每天面对成千上万的繁杂数据让店主们头痛无比。越来越多的网上销售数据库应运而生,但也存在各种不足,例如插入、更新、删除异常、费用过高等问题。二、编写目的设计一个淘宝商品管理系统来进行网上商品的管理与销售,让店主们轻松管理网店。尽量减少插入、更新、删除异常等系统问

3、题,同时免费提供使用,让网店掌柜们不花钱也可以轻松地管理店里的宝贝。三、系统环境1、一个掌柜2、110名售货员3、110家供应商。4、仅能上架最多1000件商品5、每件商品库存不得超过1000第2章 需求分析2.1系统功能需求该软件的功能结构图如图1所示。淘宝商品管理系统进货管理售出管理利润统计顾客信息管理客服人员信息订单信息查询售出货物信息查询单笔交易利润计算总营业利润计算成功交易客户信息订单意向客户信息客服人员基本信息及业绩查询进货信息管理供应商基本信息查询(图1:功能结构图)2.1.1 系统配置该部分主要完成系统的配置功能,主要由以下功能模块组成:用户管理、角色管理、修改密码、数据库备份

4、、数据库还原。1、 用户管理由管理员来管理系统的用户(添加、修改、删除),并为其分配相应的角色(岗位),例如技术部人员、生产部人员等。2、 角色管理由管理员来管理系统所涉及到的角色(添加、修改、删除),相当于不同的岗位,例如生产部、技术部等,以及为每个角色(岗位)分配相应的权限。3、 修改密码用户修改登录系统的密码4、 数据库备份由管理员来定期对数据库进行备份5、 数据库还原由管理员来对数据库进行还原。2.2数据字典序号名称含义数据类型长度可否为空范围格式说明1hno货号char10否000999主码2hname货名char30否年份+细节3outprice一口价int否4discount折扣

5、intNULL或010discount=0 anddiscount=105quantity库存量intNULL或01000quantity =06sno供应商号char10否0110外键7cno顾客编号char10否00000019999999 主码8cname顾客姓名char10否9cage年龄int10csex性别char2男或女默认女11cprovince省份char1012ctelephone顾客联系方式char10否13slno客服号char10否0110主码14slname客服名char10否15slsex性别char2男或女默认女16slage年龄int17sltelephone

6、联系方式char15否18sano售出号char10 否主码19hno货号char10000999外键20cno顾客编号char1000000019999999外键21snumber销售量int22stime售出时间datetime年月日时分秒23ino进货编号char1000000019999999主码24hno货号char10000999外键25sno供应商号char100110外键26inprice进价int27inquantity进货量intNULL或01000inquantity =028intime进货时间datetime年月日时分秒29sno供应商号char10否011030sn

7、ame供应商名char20否31splace供应商地址char3032sphone供应商联系方式char10否33tno交易号char10否00000019999999主码34slno客服号char10否0110外键35hno货号char10否00000019999999外键36tname交易顾客姓名char1037tmoney最终交易金额int38tnumber交易数量int否tnumber =139ttime交易时间datetime否年月日时分秒40ttelephone交易顾客联系方式char15否 第3章 概念结构设计3.1E-R模型淘宝商品管理系统中商品、客服、顾客、供应商之间的语义:

8、1)一件商品只能由一个供应商供给(因为货号是唯一的),一个供应商可以供给多件商品。2)一个客服可以销售多件商品,一件商品可以由多个客服销售。3)一个顾客可以接受多个客服的服务,一个客服可以服务多个顾客。4)一个顾客可以购买多件商品,一件商品可以被多个顾客购买。供应商号性别商品客服服务顾客购买供给供应商顾客号顾客名年龄省份联系方式客服号姓名性别年龄联系方式货号货名进价售价进货数量进货时间库存量折扣尺码供应商名供应商地址联系方式交易时间mnmnn1购买量第4章 逻辑结构设计4.1 E-R模型转换说明E-R模型转换说明1)先将商品、顾客、客服、供应商这四个实体分别转换为独立的关系模式。2)供应商和商

9、品之间的供应关系是1 :n的联系,将其与商品对应的关系模式合并。3)供应(进货)联系是1:n的联系,可以转换为一个关系模式。4)购买(商品售出)联系是m:n的联系,应转换为一个关系模式。5)因为网上销售会有订单环节(交易过程),交易这个实体型和商品还有顾客和客服之间存在多元联系,将这个多元联系转换为一个关系模式。4.2 关系模式4.2.1 goods商品表表名goods商品说明此表记录商品基本信息列名说明数据类型约束hno货号char(10)主码hname货名char(30)非空outprice一口价int非空discount折扣int0=discount=10quantity库存量int0=

10、Quantity=1000sno供应商号char(10)外键(supplier供应商表sno)4.2.2 customer顾客表表名customer顾客说明此表记录顾客基本信息列名说明数据类型约束cno顾客编号char(10)主码cname顾客姓名char(10)cage年龄intcsex性别char(2)取值为男或女,默认女cprovince省份char(10)ctelephone顾客联系方式char(15)非空4.2.3 salesclerk客服表表名salesclerk客服说明此表记录客服人员基本信息列名说明数据类型约束slno客服号char(10)主码slname客服名char(10)

11、slsex性别char(2)取值为男或女,默认女slage年龄intsltelephone联系方式char(15)非空4.2.4 supplier供应商表表名supplier供应商说明此表记录供应商基本信息列名说明数据类型约束sno供应商号char(10)主码sname供应商名称商名char(20)非空splace供应商地址char(30)sphone供应商联系方式char(10)非空4.2.5 sale售出表 表名sale售出说明此表记录售出商品信息列名说明数据类型约束sano售出号char(10)主码hno货号char(10)外键(goods商品表hno)cno顾客编号char(10)外键

12、(customer顾客表cno)snumber销售量intstime售出时间datetime4.2.6 trade交易表表名trade交易说明此表记录商品交易信息列名说明数据类型约束tno交易号char(10)主码slno客服号char(10)外键(salesclerk客服表slno)hno货号char(10)外键(goods商品hno)tname交易顾客姓名char(10)tmoney最终交易金额inttnumber交易数量Int非空ttime交易时间datetime非空ttelephone交易顾客联方式char(15)非空4.2.7 stock进货表表名stock进货说明此表记录进货基本信

13、息列名说明数据类型约束ino进货编号char(10)主码hno货号char(10)外键(goods商品hno)sno供应商号char(10)外键(supplier供应商sno)inprice进价intinquantity进货量intinquantity=0intime进货时间datetime第5章 物理结构设计5.1 服务器配置操作系统Microsoft Windows NT 5.1 (2600)平台NT INTEL X86版本9.00.1399.06语言中文(中国)内存1944 (MB)处理器2根目录C:ProgramFilesMicrosoftSQLServerMSSQL.1MSSQL服务

14、器排序规则Chinese_PRC_CI_AS5.2 数据库文件设置数据库名为“梦之路时尚天堂商品管理系统”1)数据文件的逻辑名为“梦之路时尚天堂商品管理系统”,物理文件名为“梦之路时尚天堂商品管理系统.mdf”,存放在F:目录下。文件初始大小为3MB,增长方式为自增长,增量为 10%,不限制增长。2)日志文件的逻辑名为“梦之路时尚天堂商品管理系统_log”,物理文件名为“梦之路时尚天堂商品管理系统_log.ldf”,存放在F:目录下。文件初始大小为1MB,增长方式为自增长,增量为 10,增长的最大值限制为 2097152 MB 。 第6章 总结与心得经过近一个星期的设计和开发,淘宝商品管理系统

15、基本开发完毕。其功能基本符合用户需求,实现了进货管理、售出管理、利润统计、顾客信息管理、客服人员信息及业绩管理等几个方面的功能。基本实现了初期的设计,可以查询一些日常销售管理中需要的信息和简单的数据统计,例如某一时间段里商品售出情况的查询和利润的统计。可以让网店掌柜经过简单的操作查到商品、客户、客服、交易的各种信息,统计出一天、本月、本季度、本年度的售出详情和利润额。当然该系统还有许多不尽如人意的地方,原因是多方面的。主要是技术知识不足,SQL函数掌握不是很熟练还有许多软件的功能我并不知道如何使用。而整个设计时间比较仓促,在网络商品销售管理方面的信息搜集不够,没有完全理清各个实体之间的联系、在

16、触发器方面没有着重去做,影响了整个系统。经过本次课程设计,我培养了自己的动手能力,提高了自己的自学能力和解决问题的能力,丰富了自己的专业知识和专业技能。在跟老师的交流中收获到了更多,知道了我在设计过程中的问题和不足。我做这个数据库的过程是快乐的,我为自己的努力和做出的成果而感到小小的成就感。但是,我仍然想将它做的更好,我想在往后继续自学数据库,将淘宝商品管理系统开发完。作为一个网店的店主,我希望可以用自己的系统来管理我的网上宝贝。附录1 SQL定义语句一、表1、goods商品表表名goods商品说明此表记录商品基本信息语句CREATE TABLE goods商品( hno char(10) P

17、RIMARY KEY, hname char(30) NOT NULL, outprice int NOT NULL, discount int CHECK(discount=0 and discount=10) quantity int CHECK(quantity =0) sno char(10) , FOREIGN KRY(sno) REFERENCES supplier供应商(sno) 2、customer顾客表表名customer顾客说明此表记录顾客基本信息语句CREATE TABLE customer顾客( cno char(10) PRIMARY KEY, cname char(

18、10) , cage int , csex char(2) CHECK(csex=男 or csex=女) DEFAULT女 , cprovince char(10) , ctelephone char(15) NOT NULL,)3、salesclerk客服表表名salesclerk客服表说明此表记录客服人员基本信息语句CREATE TABLE salesclerk客服( slno char(10) PRIMARY KEY, slname char(10) , slsex char(2) CHECK(csex=男 or csex=女) DEFAULT女 , , slage int ,slte

19、lephone char(15) NOT NULL,)4、supplier供应商表表名supplier供应商说明此表记录供应商基本信息语句CREATE TABLE supplier供应( sno char(10) PRIMARY KEY, sname char(20) NOT NULL, splace char(30) , stelephone char(15) NOT NULL,)5、sale售出表表名sale售出说明此表记录售出商品基本信息语句CREATE TABLE sale售出( sano char(10) PRIMARY KEY, hno char(10) , cno char(10

20、) , snumber int , stime datetime , FOREIGN KRY(hno) REFERENCES goods商品(hno) , FOREIGN KRY(cno) REFERENCES customer顾客(cno)6、stock进货表表名stock进货说明此表记录进货基本信息语句CREATE TABLE stock进货( ino char(10) PRIMARY KEY, hno char(10) , sno char(10) , inprice int , inquantity int CHECK(quantity =0) , stime datetime , F

21、OREIGN KRY(hno) REFERENCES goods商品(hno) , FOREIGN KRY(sno) REFERENCES supplier供应商(sno)7、trade交易表表名trade交易说明此表记录交易基本信息语句CREATE TABLE trade交易( tno char(10) PRIMARY KEY, slno char(10) , hno char(10) , tname char(10) , tmoney int, tnumber int NOT NULL, ttime datetime NOT NULL , telephone char(15) NOT NU

22、LL, FOREIGN KRY(hno) REFERENCES goods商品(hno) , FOREIGN KRY(sno) REFERENCES supplier供应商(sno)二、视图1、查询成功交易客户信息视图名View_成功交易客户信息说明该视图汇总交易成功的客户信息语句CREATE View_成功交易客户信息ASSELECT dbo.customer顾客.cname AS 成功客户, dbo.customer顾客.cage AS 年龄, dbo.customer顾客.csex, dbo.customer顾客.cprovince AS 省份, dbo.customer顾客.ctele

23、phone AS 联系方式FROM dbo.sale售出INNER JOIN dbo.customer顾客 ON dbo.sale售出.cno = dbo.customer顾客.cno INNER JOIN dbo.trade交易 ON dbo.sale售出.stime = dbo.trade交易.ttime2、单笔交易利润统计视图名View_单笔交易利润说明该视图汇总单笔交易利润语句CREATE View_单笔交易利润ASSELECT dbo.sale售出.sano AS 售出号, dbo.sale售出.hno AS 商品货号, dbo.goods商品.hname AS 宝贝名称, dbo.

24、sale售出.snumber AS 售出数量, dbo.sale售出.snumber * dbo.goods商品.outprice * dbo.goods商品.discount / 10 - dbo.stock进货.inprice AS 单笔交易利润FROM dbo.sale售出 INNER JOIN dbo.goods商品 ON dbo.sale售出.hno = dbo.goods商品.hno INNER JOIN dbo.stock进货 ON dbo.goods商品.hno = dbo.stock进货.hno3、订单信息视图名View_订单信息说明该视图汇总订单信息语句CREATE Vie

25、w_订单信息ASSELECT dbo.trade交易.tno AS 交易号, dbo.trade交易.hno AS 商品货号, dbo.trade交易.tnumber AS 订货量, dbo.trade交易.slno AS 接单客服号, dbo.trade交易.tname AS 顾客姓名, dbo.trade交易.ttelephone AS 联系方式, dbo.trade交易.tmoney AS 交易金额, dbo.trade交易.ttime AS 订单时间FROM dbo.trade交易 INNER JOIN dbo.salesclerk客服 ON dbo.trade交易.slno = db

26、o.salesclerk客服.slno4、订单意向客户信息视图名View_订单意向客户信息说明该视图汇总下了订单但没有付款(有交易意向但未成功)的客户信息语句CREATE View_订单意向客户信息ASSELECT dbo.trade交易.tno AS 订单号, dbo.trade交易.tname AS 订单客户, dbo.trade交易.ttelephone AS 联系方式, dbo.salesclerk客服.slname AS 客服名, dbo.trade交易.hno AS 商品货号, dbo.trade交易.tnumber AS 订货量, dbo.trade交易.ttime AS 订单时

27、间FROM dbo.trade交易 INNER JOINdbo.salesclerk客服 ON dbo.trade交易.slno = dbo.salesclerk客服.slnoWHERE (dbo.trade交易.tmoney = 0)5、View_供应商基本信息视图名View_供应商基本信息说明该视图汇总供应商基本信息语句CREATE View_供应商基本信息ASSELECT sno AS 供应商号, sname AS 供应商名, splace AS 地址, sphone AS 电话FROM dbo.supplier供应商6、View_进货信息视图名View_进货信息说明该视图汇总进货信息语

28、句CREATE View_进货信息ASSELECT dbo.stock进货.ino AS 进货号, dbo.stock进货.hno AS 商品货号, dbo.goods商品.hname AS 商品名称, dbo.stock进货.inprice AS 单位进价, dbo.stock进货.inquantity AS 进货量, dbo.stock进货.inprice * dbo.stock进货.inquantity AS 进货成本, dbo.supplier供应商.sname AS 供应商名称, dbo.supplier供应商.sphone AS 供应商联系方式, dbo.supplier供应商.s

29、place AS 供应商地址FROM dbo.stock进货 INNER JOINdbo.goods商品 ON dbo.stock进货.hno = dbo.goods商品.hno INNER JOINdbo.supplier供应商 ON dbo.stock进货.sno = dbo.supplier供应商.sno AND dbo.goods商品.sno = dbo.supplier供应商.sno7、View_客服人员基本信息及业绩视图名View_客服人员基本信息及业绩说明该视图汇总客服人员基本信息及业绩语句CREATE View_客服人员基本信息及业绩ASSELECT dbo.salescler

30、k客服.slno AS 客服号, dbo.salesclerk客服.slname AS 姓名, dbo.salesclerk客服.slsex AS 性别, dbo.salesclerk客服.slage AS 年龄, SUM(dbo.trade交易.tmoney) AS 销售总额, dbo.salesclerk客服.sltelephone AS 客服电话FROM dbo.salesclerk客服 INNER JOINdbo.trade交易 ON dbo.salesclerk客服.slno = dbo.trade交易.slno INNER JOIN dbo.sale售出 ON dbo.trade交

31、易.ttime = dbo.sale售出.stimeGROUP BY dbo.salesclerk客服.slno, dbo.salesclerk客服.slname, dbo.salesclerk客服.slsex, dbo.salesclerk客服.slage, dbo.salesclerk客服.sltelephone8、View_售出货物信息视图名View_售出货物信息说明该视图汇总已售出的货物信息语句CREATE View_售出货物信息ASSELECT dbo.sale售出.hno AS 宝贝货号, dbo.goods商品.hname AS 宝贝名称, dbo.goods商品.outpric

32、e AS 商品定价, dbo.goods商品.outprice * dbo.goods商品.discount / 10 AS 交易价格, dbo.customer顾客.cname AS 顾客名称, dbo.customer顾客.cprovince AS 顾客省份, dbo.sale售出.stime AS 售出时间, dbo.sale售出.snumber AS 售出数量FROM dbo.sale售出 INNER JOINdbo.goods商品 ON dbo.sale售出.hno = dbo.goods商品.hno INNER JOINdbo.customer顾客 ON dbo.sale售出.cn

33、o = dbo.customer顾客.cno9、View_总营业利润视图名View_总营业利润说明该视图汇总本网店开始营业以来的营业利润语句CREATE View_总营业利润ASSELECT SUM(DISTINCT dbo.sale售出.snumber * dbo.goods商品.outprice * dbo.goods商品.discount / 10 - dbo.stock进货.inprice) AS 总交易利润FROM dbo.sale售出 INNER JOINdbo.goods商品 ON dbo.sale售出.hno = dbo.goods商品.hno INNER JOINdbo.st

34、ock进货 ON dbo.goods商品.hno = dbo.stock进货.hno三、存储过程1、客户年龄分布统计过程名客户年龄分布统计说明统计各年龄段客户的信息(需要输入参数cage)语句CREATE PROCEDURE客户年龄分布统计cage int output, cno char(10)output, cname char(10)output, cnumber char(15) outputASBEGINSELECT cno,cname,cage,csex,cprovince,ctelephone from customer顾客 WHERE cage BETWEEN cage AND

35、 cage+10END2、未成功订单过程名未成功订单说明统计交易未成功的订单客户信息语句CREATE PROCEDURE未成功订单tno char(10) output, tname char(10) output, tnumber char(15) output, tmoney int output, ttelephone char(15) outputASBEGINSELECT tno,tname,tnumber,tmoney,ttelephone from trade交易where tmoney=0END3、商品月销售明细过程名商品月销售明细说明统计商品在时间A与B之间的销售明细信息语句

36、CREATE PROCEDURE商品月销售明细stime1 datetime output,stime2 datetime outputASBEGINSELECT hno,sale售出.cno,cname,cprovince,ctelephone,snumber,stime FROM sale售出JOIN customer顾客on sale售出.cno=customer顾客.cnoWHERE stime BETWEEN stime1 AND stime2END4、各商品某一时间段销售量统计过程名各商品某一时间段销售量统计说明统计各商品某一时间段销售量语句CREATE PROCEDURE 各商品

37、某一时间段销售量统计stime1 datetime output,stime2 datetime outputASBEGINSELECT goods商品.hno,SUM(snumber)FROM sale售出JOIN goods商品ON sale售出.hno=goods商品.hnoWHERE stime BETWEEN stime1 AND stime2GROUP BY goods商品.hnoEND5、某时间段利润统计过程名某时间段利润统计说明统计某时间段利润语句CREATE PROCEDURE某时间段利润统计time1 datetime output,time2 datetime outpu

38、tASBEGINSELECT SUM(DISTINCT dbo.sale售出.snumber * dbo.goods商品.outprice * dbo.goods商品.discount / 10 - dbo.stock进货.inprice) AS 总交易利润FROM dbo.sale售出INNER JOINdbo.goods商品ON dbo.sale售出.hno = dbo.goods商品.hno INNER JOINdbo.stock进货ON dbo.goods商品.hno = dbo.stock进货.hnoWHERE stime BETWEEN time1 AND time2 END四、触

39、发器1、约束商品售价大于0触发器名sp_price说明插入新的商品或者修改信息,商品售价一定要大于0触发对象goods商品触发操作insert,update语句CREATE TRIGGER sp_priceon goods商品for insert,updateASif exists(select*from inserted where outprice=0)BEGINprint商品价格必须大于0rollbackEND2、更新商品库存量触发器名up_quantity说明插入新的售出信息后,将相应商品的库存量等量减少触发对象sale售出触发操作insert语句CREATETRIGGER up_quantityON sale售出 FOR insertASBEGINDECLARE sn int,hn char(10)SELECT sn=Inserted.snumber,hn=Inserted.hno from InsertedUPDATE goods商品set quantity=quantity-snWHERE hno=hnEND附录2 参考文献1) 数据库系统原理与应用技术陈漫红主编2) 百度知道

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号