毕业设计二手交易网站数据库设计.docx
《毕业设计二手交易网站数据库设计.docx》由会员分享,可在线阅读,更多相关《毕业设计二手交易网站数据库设计.docx(24页珍藏版)》请在冰豆网上搜索。
![毕业设计二手交易网站数据库设计.docx](https://file1.bdocx.com/fileroot1/2023-2/6/54980b70-f936-447c-8688-e961b6fce459/54980b70-f936-447c-8688-e961b6fce4591.gif)
毕业设计二手交易网站数据库设计
1.引言1
编写目的1
项目背景1
定义2
文档约定2
参考文献2
2.需求分析3
数据流程3
数据字典7
3.概念结构设计8
概念设计任务8
E-R图设计9
4.逻辑结构设计12
1.引言
编写目的
该系统实现了在较小范围内的二手商品交易平台的搭建,为人们闲置的二手商品提供了一个交易平台。
此文档用于二手交易网站的数据库设计流程记录与说明。
预期的读者对象:
程序开发人员、测试人员、需求人员
项目背景
项目名称:
二手交易网站
项目发起者:
杨晶老师
小组成员:
白萌、吴啸
项目简介:
本项目二手商品交易网站的核心业务目标是为一些对二手商品有需求的人群提供方便、健全、快捷的交易平台。
通过二手交易平台有此方面需求的人群可以发布自己闲置的二手商品、购买自己中意的二手商品。
项目目的:
在整个开发过程中以团队的形式进行项目的设计与开发,加强个人的团队合作精神和勤于思考乐于讨论的能力。
定义
E-R图即实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。
文档约定
该数据库具体属性的命名根据其中文意思翻译成英文,有实际字面含义。
参考文献
(1)王水,张晓民.软件工程素质导论.郑州:
河南科学技术出版社,2011年.
(2)马晓玉,孙岩.oracle10g数据库管理应用与开发标准教程:
清华大学出版社,2011年.
(3)威格斯.软件需求.刘伟琴,译.北京:
清华大学出版社,2004.
2.需求分析
数据流程
数据流图1-1(顶层图)
数据流图1-2(0层图)
(商品信息管理)数据流图1-3
(用户信息管理)数据流图1-4
(商品信息搜索)数据流图1-5
(订单处理)数据流图1-6
数据字典
主要的数据流条目
<1>数据流名称:
用户信息
别名:
无
简述:
用户注册本网站会员时填写的信息
来源:
会员
去向:
加工“注册”和会员“个人信息管理”
数据流量:
网站的注册会员人数
组成:
会员编号+用户名+密码+电子邮箱
<2>数据流名称:
二手商品信息
别名:
无
简述:
卖家发布的二手商品信息
来源:
卖家
去向:
卖家“商品发布”和“二手商品信息管理”
数据流量:
本平台的二手商品数量
组成:
商品编号+商品名称+商品发布者+商品人气+商品介绍+商品图片+商品所属类别+商品评价+商品原价+新旧程度+商品二手价+所属卖家ID
<3>数据流名称:
二手商品类别信息
别名:
无
简述:
卖家发布商品时选择的项目
来源:
卖家
去向:
加工卖家“商品发布”、“二手商品信息管理”
数据流量:
本平台的二手商品类别量
组成:
商品大类别编号+商品小类别编号+商品大类别名称+商品小类别名称
<4>数据流名称:
订单信息
别名:
无
简述:
买家订货时填写的项目
来源:
买家
去向:
加工“检验订单”
数据流量:
买家订货的订单数
组成:
订单编号+商品编号+商品数量+商品单价+商品总价+收货人姓名+收货人地址+联系电话+电子邮箱+卖家ID+买家ID
主要数据存储条目
(1)数据存储名称:
用户信息记录
别名:
无
简述:
存放本平台所有会员的基本信息
组成:
用户编号+用户名+密码+电子邮箱
组织方式:
索引文件,以用户编号为关键字
查询要求:
要求能立即查询
(2)数据存储名称:
二手商品记录
别名:
无
简述:
存放本平台所有二手商品的基本信息
组成:
商品编号+商品名称+商品发布者+商品人气+商品介绍+商品图片+商品所属类别+商品评价+商品原价+新旧程度+商品二手价+所属卖家ID
组织方式:
索引文件,以商品编号为关键字
查询要求:
要求能立即查询
(3)数据存储名称:
二手商品类别记录
别名:
无
简述:
存放本平台所有二手商品的类别信息
组成:
商品大类别编号+商品小类别编号+商品大类别名称+商品小类别名称
组织方式:
索引文件,以商品类别编号为关键字
查询要求:
要求能立即查询
(4)数据存储名称:
订单记录
别名:
无
简述:
存放本平台所有订单的基本信息
组成:
订单编号+商品编号+商品数量+商品单价+收货人姓名+收货人地址+联系电话+电子邮箱+卖家ID+买家ID
组织方式:
索引文件,以订单编号为关键字
查询要求:
要求能立即查询
3.概念结构设计
概念设计任务
识别二手交易网站平台中的实体,识别实体的属性,识别实体的关键字,识别实体间的联系,利用实体关系图(E—R图)来描述二手交易网站平台中的相关实体、属性及关系,从而达到为建立良好的二手交易网站平台的数据模型的目的。
E-R图设计
根据前面的需求分析,可以将网上购物系统的数据库实体划分为用户信息实体集、商品信息实体集、商品大类别实体集、商品小类别实体集、留言信息实体集、买家订单实体集、订单详细信息实体集、公告信息实体集、管理员实体集九个实体。
每个实体定义的属性如下:
用户:
{用户编号,用户名,密码,电子邮箱}
管理员:
{用户编号,用户名,密码,电子邮箱}
商品:
{商品编号,名称,人气,简介,图片,所属类别,原价,二手价,新旧程度,所属卖家名称}
商品父类别:
{父类别编号,父类别名称}
商品子类别:
{子类别编号,子类别名称,所属父类别编号}
留言信息:
{留言编号,所属用户名,留言内容,留言回复内容,所属商品编号,留言发布时间}
买家订单:
{订单编号,买家名称,卖家名称,收货人姓名,收货地址,联系电话,电子邮箱,订单生成时间,订单总价,订单状态,配送方式}
订单详细信息:
{详细信息编号,订单编号,商品编号,商品名称,商品单价,商品数量,商品总价}
公告:
{公告编号,公告标题,公告内容,发布时间}
图1-1(用户及属性的E-R图)
图1-2(商品及属性的E-R图)
图1-3(商品父类别及属性的E-R图)
图1-4(商品子类别及属性的E-R图)
图1-5(留言信息及属性的E-R图)
图1-6(公告及属性的E-R图)
图1-7(买家订单及属性的E-R图)
图1-8(订单详情及属性的E-R图)
图1-9(管理员及属性的E-R图)
图1-10(系统总E-R图)
4.逻辑结构设计
逻辑设计任务
将E-R图转换为关系模型,即将实体、实体的属性和实体之间的联系转化为关系模式。
关系模型的设计
数据项名
数据类型
精度
别名
是否为空
主外键
userid
number
用户编号
否
username
varchar2
20
用户名
否
主键
upassword
varchar2
20
用户密码
否
uemail
varchar2
50
用户邮箱
否
表1-1用户信息表
数据项名
数据类型
精度
别名
是否为空
主外键
adminid
number
管理员编号
否
主键
adminname
varchar2
20
管理员名
否
apassword
varchar2
20
管理员密码
否
aemail
varchar2
50
管理员邮箱
否
表1-2管理员信息表
数据项名
数据类型
精度
别名
是否为空
主外键
goodsid
number
商品编号
否
主键
goodsname
varchar2
50
商品名称
否
pop
number
商品人气
否
intro
varchar2
50
商品简介
否
picture
varchar2
50
图片
否
smallsortid
number
类型ID
否
price
number
原价
否
secprice
number
二手价
否
condition
varchar2
20
新旧程度
否
username
varchar2
20
卖家名称
否
外键
goodsnum
number
商品数量
否
表1-3商品信息表
数据项名
数据类型
精度
别名
是否为空
主外键
bigsortid
number
父类别编号
否
主键
bigsortname
varchar2
20
父类别名
否
表1-4商品父类别表
数据项名
数据类型
精度
别名
是否为空
主外键
smallsortid
number
子类别编号
否
主键
smallsortname
varchar2
20
子类别名
否
bigsortid
number
父类别编号
否
外键
表1-5商品子类别表
数据项名
数据类型
精度
别名
是否为空
主外键
mesid
number
留言编号
否
主键
username
varchar2
20
所属用户名
否
外键
mescontent
varchar2
200
留言内容
否
recontent
varchar2
200
回复内容
是
goodsid
number
商品编号
否
外键
mestime
date
发布时间
否
表1-6留言信息表
数据项名
数据类型
精度
别名
是否为空
主外键
orderid
number
订单编号
否
主键
username
varchar2
20
买家名称
否
username1
varchar2
20
卖家名称
否
name
varchar2
20
收货人姓名
否
address
varchar2
50
收货地址
否
tel
number
联系电话
是
email
varchar2
20
电子邮箱
是
ordertime
date
订单生成时间
否
cost
number
订单总价
否
state
varchar2
20
订单状态
否
send
varchar2
20
配送方式
否
表1-7买家订单信息表
数据项名
数据类型
精度
别名
是否为空
主外键
contentid
number
详情编号
否
主键
orderid
number
订单编号
否
外键
goodsid
number
商品编号
否
外键
goodsname
varchar2
20
商品名称
否
goodsprice
number
商品单价
否
goodsnum
number
商品数量
否
concost
number
商品总价
否
表1-8订单详细信息表
数据项名
数据类型
精度
别名
是否为空
主外键
portid
number
公告编号
否
主键
title
varchar2
50
公告标题
否
content
varchar2
200
公告内容
否
createtime
date
发布时间
否
表1-9公告信息表
数据项名
数据类型
精度
别名
是否为空
主外键
messageid
number
短信息编号
否
主键
username
varchar2
20
卖家用户名
否
username1
varchar2
20
买家用户名
否
content
varchar2
200
消息内容
否
createtime
date
消息发送时间
否
表1-10系统短信息表
视图的设计
为用户搜索商品建立视图:
数据项名
数据类型
精度
别名
是否为空
goodsid
number
商品编号
否
goodsname
varchar2
50
商品名称
否
popularity
number
商品人气
否
introduction
varchar2
50
商品简介
否
picture
image
图片
否
type
varchar2
50
类型
否
price
money
原价
否
secprice
money
二手价
否
condition
varchar2
20
新旧程度
否
userid
varchar2
20
卖家名称
否
表1-10搜索商品视图
5.物理结构设计
物理设计任务与目标
为上一阶段的关系模型选取一个最适合的应用要求的物理结构,即确定存取方法和存储结构。
索引存取方法
为了提高让用户搜索商品的速度,对二手商品信息建立聚簇索引。
6.数据库实施
存储过程、函数、触发器创建
存储过程:
createorreplaceprocedureproc_login
(
namevarchar2,
passwordvarchar2
)
as
uinfouserinfo%rowtype;
begin
select*
intouinfo
fromuserinfo
whereusername=nameandupassword=password;
exception
whenothersthen
rollback;
raise;
endproc_login;
存储过程1-1(会员登录检测)
createorreplaceprocedureproc_regsiter
(
uidnumber,
unamevarchar2,
upwdvarchar2,
emailvarchar2
)
as
begin
insertintouserinfo(userid,username,upassword,uemail)
values,uname,upwd,email);
exception
whenothersthen
rollback;
raise;
endproc_regsiter;
存储过程1-2(会员注册)
createorreplaceprocedureproc_goods
(
goodsname1varchar2,
pop1number,
intro1varchar2,
picture1varchar2,
smallsortid1number,
price1number,
secprice1number,
condition1varchar2,
username1varchar2,
goodsnum1number
)
as
begin
insertintogoodsinfo
(goodsid,goodsname,pop,intro,picture,smallsortid,price,secprice,condition,username,goodsnum)
values
goodsname1,pop1,intro1,picture1,smallsortid1,price1,secprice1,condition1,username1,goodsnum1);
exception
whenothersthen
rollback;
raise;
endproc_goods;
存储过程1-3(发布商品)
createorreplaceprocedureproc_mesinfo
(
mesid1number,
username1varchar2,
mescontent1varchar2,
goodsid1number,
mestime1date
)
as
begin
insertintomesinfo(mesid,username,mescontent,goodsid,mestime)
values,username1,mescontent1,goodsid1,mestime1);
exception
whenothersthen
rollback;
raise;
endproc_mesinfo;
存储过程1-4(发表留言)
函数:
createorreplacefunctionfunc_searchgoods
(
smallsortid1innumber
)
returntable
as
typeginfoistableofgoodsinfo%rowtype
indexbybinary_integer;
begin
select*intoginfo
fromgoodsinfo
wheresmallsortid=smallsortid1;
returnginfo;
endfunc_searchgoods;
触发器:
createtriggerinsert_content_trigger
afterinsert
onorderinfo
foreachrow
begin
insertintomessage(messageid,username,username1,content,createtime)
values,:
:
'卖家请发货',sysdate);
end;
数据库创建
promptcreateuserbusiness...
createuserbusinessidentifiedbybus;
promptgrantdbatobusiness...
grantdbatobusiness;
promptconnectbusinessuser
connbusiness/bus
promptCreatedon2012年6月8日by白萌,吴啸
setfeedbackoff
setdefineoff
promptCreatingsequenceid...
createsequenceid
startwith1
incrementby1
nomaxvalue
nocycle
;
promptCreatinguserinfo(用户信息表)...
createtableuserinfo
(
useridnumber,
usernamevarchar2(20)primarykey,
upasswordvarchar2(20)notnull,
uemailvarchar2(50)notnull
)
;
promptCreatingadmininfo(管理员信息表)...
createtableadmininfo
(
adminidnumberprimarykey,
adminnamevarchar2(20)notnull,
apasswordvarchar2(20)notnull,
aemailvarchar2(50)notnull
)
;
promptCreatinggoodsinfo(商品信息表)...
createtablegoodsinfo
(
goodsidnumberprimarykey,
goodsnamevarchar2(50)notnull,
popnumbernotnull,
introvarchar2(50)notnull,
picturevarchar2(50)notnull,
smallsortidnumbernotnull,
pricenumbernotnull,
secpricenumbernotnull,
conditionvarchar2(20)notnull,
usernamevarchar2(20)notnull,
goodsnumnumbernotnull
)
;
promptCreatingbigsort(商品父类别表)...
createtablebigsort
(
bigsortidnumberprimarykey,
bigsortnamevarchar2(20)notnull
)
;
promptCreatingsmallsort(商品子类别表)...
createtablesmallsort
(
smallsortidnumberprimarykey,
smallsortnamevarchar2(20)notnull,
bigsortidnumbernotnull
)
;
promptCreatingmesinfo(留言信息表)...
createtablemesinfo
(
mesidnumberprimarykey,
usernamevarchar2(20)notnull,
mescontentvarchar2(200)notnull,
recontentvarchar2(200),
goodsidnumbernotnull,
mestimedatenotnull
)
;
promptCreatingorderinfo(买家订单信息表)...
createtableorderinfo
(
orderidnumberprimarykey,
username