收藏 分销(赏)

数据库网上购物专业系统设计.doc

上传人:天**** 文档编号:3033200 上传时间:2024-06-13 格式:DOC 页数:22 大小:559.54KB 下载积分:10 金币
下载 相关 举报
数据库网上购物专业系统设计.doc_第1页
第1页 / 共22页
数据库网上购物专业系统设计.doc_第2页
第2页 / 共22页


点击查看更多>>
资源描述
数据库应用课程设计汇报 网上购物系统数据库设计 学生姓名:*** 学 号:201**** 班 级:******* 指导老师:*****老师 学 院:**学院 提交日期:6月19日 数据库应用课程设计评阅 评阅项目 完成情况 得分 背景功效需求5% 概念设计 30% 逻辑设计 20% 物理设计 10% 数据库实施 15% 功效实现 10% 文档质量、设计过程表现10% 成绩 目 录 序言 1 1. 需求分析 1 1.1系统功效背景资料 1 1.2系统功效 1 2. 概要结构设计 2 3. 逻辑结构设计 6 3.1关系模式设计 6 3.2 关系模式分析优化 6 4. 数据库物理设计 8 5. 数据库实施 10 5.1数据库构建 10 5.1.1各数据表说明 10 5.1.2数据库创建 11 5.2 数据库操作 11 6. 部分系统功效实现 15 7. 总结 15 序言 网络购物兴起改变了大家购物观念,也改变了大家购物需求。每个人购物清单全部遍布全国各地,面对如此庞大数据流量,网络购物系统应运而生,这个系统关键完成用户在网上购物时填写订单信息所相关到业务,并能够对全部订单经及用户信息进行修改和查询。方便用户和网络商城人员查阅订单信息等。本系统关键建立了基础需求表并优化,在它们之间建立好必需联络方便查询和修改等,完成基础功效。 1. 需求分析 设计本系统模拟用户在网上购物管理内容,包含查询商品信息、订单信息、用户信息、购置后商品评论等处理情况,系统需要管理情况以下: 1.1系统功效背景资料 用户在网上购置商品管理内容包含: 1) 可随时查询可订商品具体情况,如商品分类、生产厂商、每个厂商实际存货量、要求最低存货量和商品其它描述,便于用户选订。 2) 用户可订购多个所需商品,每种商品可订若干份,交清所需金额后,订购处理即告完成。 3) 为便于邮寄,用户需写明以下信息:用户名、EMAIL、姓名、性别、邮政编码、地址等,网店将即时为每一个用户编制唯一代码。 4) 商品售出,而且用户拿到后可对商品进行评价,商品所属网店店主能够对每条评论进行查看,一个商品能够有多人进行评论,系统要给每一条评论编号并统计评论内容、评论时间、发表人等。 5) 网上商城对每种商品订购人数不限,每个用户可数次订购,所订商品亦可反复。 1.2系统功效 1).查询可订购商品具体情况。 2).用户经过管理员依据自己需求选购商品,完成一次订购后需进行结账才能提交订单。 3).查询自己购置情况。 4).可对各库表进行插入、修改、删除、查询等基础操作。 5).能具体查询某商品订出情况,而且能统计出某商品总订购数量和总金额。 6).实现用户完成一次订购任务后汇总总金额。 7).网店可查询用户对商品评价,并进行回复。 2. 概要结构设计 经过对局部应用选择,逐一设计出分E-R图,并对各个分E-R图进行合并,生成初步E-R图,消除无须要系统冗余,能够得出网上购物系统E-R图。 图1 “商品”实体E-R图 图2 “用户”实体E-R图 图3 “订单”实体E-R图 图4 “订单明细”实体E-R图 图5 “生产厂商”实体E-R图 图6 “生产明细”实体E-R图 图7 “评论”实体E-R图 网上购物系统E-R图以下: 图8系统E-R图 3. 逻辑结构设计 3.1关系模式设计 依据概念结构设计,能够将系统E-R图转换为以下关系模式(画横线为各关系码): 商品(商品号,商品名称,商品分类,厂商名,商品其它描述,单价),外码:厂商号 用户(用户号,姓名,EMAIL,用户电话,性别,邮政编码,地址),外码: 订单(订单号,用户号,收货地址,订单日期),外码:用户号 订单明细(订单号,商品号,数量,商品总价),外码:订单号,商品号 生产厂商(厂商号,厂商名,商品号,),外码:商品号 生产明细(厂商号,商品号,实际存货量,最低存货量),外码:厂商号,商品号 评论(评论编号,内容,评论时间,用户号),外码:用户号 3.2 关系模式分析优化 1.对以上关系模式进行函数依靠分析 l 考察关系模式:商品(商品名称,商品分类,单价,商品其它描述,厂商号) 商品号—>商品名称 商品号—>商品分类 商品号—>单价 商品号—>商品其它描述 商品号—>厂商名 商品 它只有一个码:(商品编号)这里没有任何属性对(商品编号)部分依靠或传输依靠,所以此关系模式属于3NF。 l 考察关系模式:用户(用户号,姓名,EMAIL,用户电话,性别,邮政编码,地址) 用户号—>姓名 用户号—> EMAIL 用户号—>用户电话 用户号—>性别 用户号—>邮政编码 用户号—>地址 用户 它只有一个码:用户号,这里没有任何属性对用户编码部分依靠或传输依靠,所以此关系模式属于3NF。 l 考察关系模式:订单(订单号,用户号,收货地址,订单日期) 订单号—>用户号 订单号—>收货地址 订单号—>订报日期 订单 它有一个码:(订单号),这里没有任何属性对(订单号)部分依靠或传输依靠,所以此关系模式属于3NF。 l 考察关系模式:订单明细(订单号,商品号,数量,商品总价) (订单号,商品号)—>数量 (订单号,商品号)—>商品总价 订单详情 它有一个码:(订单号,商品号)这里没有任何属性对(订单号,商品号)部分依靠或传输依靠,所以此关系模式属于3NF。 l 考察关系模式:生产厂商(厂商号,厂商名,商品号) (厂商号)—>厂商名 (厂商号)—>商品号 厂商 它有一个码:(厂商号),这里没有任何属性对(厂商号)部分依靠或传输依靠,所以此关系模式属于3NF。 l 考察关系模式:生产明细(厂商号,商品号,实际存货量,最低存货量) (厂商号,商品号)—>实际存货量 (厂商号,商品号)—>最低存货量 l 考察关系模式:评论(评论编号,内容,评论时间,用户号) (评论编号)—>内容 (评论编号)—>评论时间 (评论编号)—>用户号 2.系统完整性设计 商品(商品号,商品名称,商品分类,厂商名,商品其它描述,单价)其中:商品号为主码,商品名称,商品分类,生产厂商,单价约束全部为非空,商品其它描述可为空。 用户(用户号,姓名,EMAIL,用户电话,性别,邮政编码,地址)其中:用户号为主码;姓名,EMAIL,用户电话,性别,邮政编码,地址约束全部为非空。 订单(订单号,用户号,收货地址,订单日期)其中:订单号为主码;用户号为外码,参考(用户(用户号));收货地址,订单日期约束全部为非空。 订单明细(订单号,商品号,数量,商品总价),(订单号,商品号)为主码;订单号和商品号为外码,分别参考(订单(订单号))和(商品(商品号));数量,商品总价约束全部为非空。 生产厂商(厂商号,厂商名,商品号)其中厂商号为主码;商品号为外码,参考(商品(商品号))厂商名约束为非空。 生产明细(厂商号,商品号,实际存货量,最低存货量)其中(厂商号,商品号)为主码;厂商号和商品号为外码,分别参考(生产厂商(厂商号))和(商品(商品号));实际存货和最低存货约束全部为非空。 评论(评论编号,内容,评论时间,用户号)其中评论编号为主码;用户号为外码,参考(用户(用户号));内容,评论时间,约束全部为非空。 4. 数据库物理设计 表4.1 商品信息表结构 字段名 说 明 类 型 长度 可否为空 约束 ProductID 商品号 字符型 10 否 主键 Productname 商品名称 字符型 20 否 Unitprice 单价 数值型 否 Category 商品分类 字符型 10 否 Manufacturename 厂商名 字符型 10 否 外码 Other 商品其它描述 字符型 50 是 表4.2 用户信息表结构 字段名 说 明 类 型 长度 可否为空 约束 CustomerID 用户号 字符型 10 否 主键 Name 姓名 字符型 20 否 Sex 性别 字符型 8 否 Email EMAIL 字符型 20 否 Postcode 邮政编码 字符型 10 否 Phonenumber 用户电话 字符型 20 否 Address 地址 字符型 50 否 表4.3 订单信息表结构 字段名 说 明 类 型 长度 可否为空 约束 OrderID 订单号 字符型 10 否 主键 CustomerID 用户号 字符型 20 否 外键 Orderdate 订单日期 数值型 否 Taddress 收货地址 字符型 50 否 表4.5 订单明细信息表结构 字段名 说 明 类 型 长度 可否为空 约束 OrderID 订单号 字符型 10 否 主键、外键 ProductID 商品号 字符型 26 否 主键、外键 quantity 数量 字符型 10 否 Totalprice 总价 字符型 20 否 表4.5 生产厂商信息表结构 字段名 说 明 类 型 长度 可否为空 约束 manufactureID 厂商号 字符型 10 否 主键 manufacturename 厂商名 字符型 26 否 ProductID 商品号 字符型 8 否 外键 表4.6 生产明细信息表结构 字段名 说 明 类 型 长度 可否为空 约束 manufactureID 厂商号 字符型 10 否 主键、外键 ProductID 商品号 字符型 10 否 主键、外键 Pquantity 实际存货量 字符型 10 否 Lquantity 最低存货量 字符型 10 否 表4.7 评论信息表结构 字段名 说 明 类 型 长度 可否为空 约束 CommentID 评论号 字符型 10 否 主键 Comment 内容 字符型 150 否 Commentdate 评论时间 数值型 否 CustomerID 用户号 字符型 10 否 外键 5. 数据库实施 5.1数据库构建 5.1.1各数据表说明 编号 数据表名称 类 型 内容 1 商品 主表 统计报刊信息 2 用户 主表 统计用户信息 3 订单 主表 统计订单基础信息 4 订单明细 辅助表 统计订单具体信息 5 生产厂商 辅助表 统计生产厂商基础信息 6 生产明细 辅助表 统计商品在厂存货信息 7 评论 主表 统计评论信息 5.1.2数据库创建 在SQL SERVER 中创建网上购物系统数据库,在数据库中创建商品,用户,订单,订单明细,生产厂商,生产明细,评论数据表及加入相关约束。创建了满足管理需求视图,写出相关业务操作所需查询语句等。操作代码详见“5973_孔维星.sql”文件。 5.2 数据库操作 --创建数据库shoppingonline create database shoppingonline on ( name=shoppingonline, filename='c:\shoppingonline_data.mdf', size=5, maxsize=10, filegrowth=10% ) log on ( name=shoppingonline_log, filename='c:\shoppingonline_log.ldf', size=3, maxsize=5, filegrowth=1 ) go --创建商品信息表ProductInfo create table ProductInfo ( Productid nchar(10) primary key, Productname nvarchar(20) not null, Unitprice money not null, category nchar(10) not null, manufacturename nchar(10) not null, other nvarchar(20) not null, ) go --创建用户信息表customerinfo create table customerinfo ( customerid nchar(10) primary key, name nvarchar(20) not null, sex nchar(1) not null, email nchar(20) not null, postcode nchar(10) not null, phonenumber nchar(11) not null, address nvarchar(50) not null ) go --创建订单信息表orderinfo create table orderinfo ( orderid nchar(10) primary key, customerid nchar(10) not null, orderdate datetime not null, taddress nvarchar(50) not null, foreign key (customerid) references customerinfo(customerid) ) go --创建订单明细信息表orderdetailinfo create table orderdetailinfo ( orderid nchar(10) not null, productid nchar(10) not null, quantity nchar(10) not null, totalprice nchar(20) not null, primary key (orderid,productid), foreign key (orderid) references orderinfo(orderid), foreign key (productid) references productinfo(productid) ) go --创建生产厂商信息表manufactureinfo create table manufactureinfo ( manufactureid nchar(10) not null primary key , manufacturename nchar(26) not null, productid nchar(10) not null, foreign key (productid) references productinfo(productid) ) go --创建生产明细信息表producedetailinfo create table producedetailinfo ( manufactureid nchar(10) not null, productid nchar(10) not null, Pquantity nchar(10) not null, lquantity nchar(10) not null, primary key(manufactureid,productid), foreign key (manufactureid) references manufactureinfo (manufactureid), foreign key (productid) references productinfo(productid) ) go --创建评论信息表commentinfo create table commentinfo ( commentid nchar(10) not null primary key , comment nchar(3) not null, commentdate datetime not null, customerid nchar(10) not null, foreign key (customerid) references customerinfo(customerid) ) go --插入数据 --商品信息表productinfo insert into productinfo values('0000001','铅笔',2,'黑色','一厂','成绵路号') insert into productinfo values('0000002','毛笔',8,'墨色','二厂','长虹大道号') insert into productinfo values('0000003','圆珠笔',5,'蓝色','三厂','仙人路号') --用户信息表customerinfo insert into customerinfo values('0000011','王强','男','','432645','','成全部双流') insert into customerinfo values('0000022','吴霞','女','','564656','','湖北武汉') insert into customerinfo values('0000033','曾强','男','','582656','','湖南长沙') go --订单信息表orderinfo insert into orderinfo values('0000111','0000011','-02-02','成全部双流') insert into orderinfo values('0000222','0000022','-03-03','湖北武汉') insert into orderinfo values('0000333','0000033','-04-04','湖南长沙') go --订单明细信息表orderdetailinfo insert into orderdetailinfo values('0000111','0000001','100','200') insert into orderdetailinfo values('0000222','0000002','50','400') insert into orderdetailinfo values('0000333','0000003','100','500') go --生产厂商信息表manufactureinfo insert into manufactureinfo values('0001111','一厂','0000001') insert into manufactureinfo values('0002222','二厂','0000002') insert into manufactureinfo values('0003333','三厂','0000003') go --生产明细信息表producedetailinfo insert into producedetailinfo values('0001111','0000001','9000','900') insert into producedetailinfo values('0002222','0000002','8000','800') insert into producedetailinfo values('0003333','0000003','7000','700') go --评论信息表commentinfo insert into commentinfo values('0011111','优','-04-04','0000011') insert into commentinfo values('0022222','良','-05-05','0000022') insert into commentinfo values('0033333','差','-06-06','0000033') go --简单查询 --查询全部商品名称和单价 select productname,unitprice from dbo.ProductInfo --查询全部用户编号、姓名、地址、联络电话 select customerid,name,address,phonenumber from dbo.customerinfo --查询全部订单编号和订单日期 select orderid,orderdate from dbo.orderinfo --查询下过订单用户姓名 select name from dbo.customerinfo join dbo.orderinfo on dbo.customerinfo.customerid=dbo.orderinfo.customerid --查询订单编号为'0000111'用户号、用户名、性别 select dbo.customerinfo.customerid,name,sex from dbo.customerinfo join dbo.orderinfo on dbo.customerinfo.customerid=dbo.orderinfo.customerid where orderid='0000111' 6. 部分系统功效实现 7. 总结 之前选择网上购物这个题目标时候,认为这个题目应该是相对比较轻易,不过实际起来并非如此。在分析实体时候,原来认为只需要题目给出四个实体就能够了,不过在画E-R图时候发觉有冗余,所以我又添加了“生产明细”和“订单明细”两个表,另外,为了更细化系统,又添加了一个“生产厂商”表。不仅如此,在画E-R图时候,我也犯了部分错误,比如给属性添加属性,这是对知识掌握不牢靠表现,提醒我要回去好好复习了。E-R图画出来以后就轻易了,因为脉络已经基础清楚了,不过在确定字符长度时候还是拿不准到底该写多少,在参考书上内容以后才确定下来。因为VB已经学习了有十二个月时间了,有点生疏,在用VB做部分系统功效实现时候,依据试验指导书一步一步走,最终还是做了出来。 经过这次实践,我对数据库学习有了深入巩固,不过回去以后还得再看一下书才能够,还有VB也得再复习复习了。另外,经过这次实践,也让我第一次把理论联络到了实际,即使这个系统并不太完善,不过只要以后多练习,我相信还是能够掌握这门学科。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服