电子商城数据库的开发.docx
- 文档编号:4253473
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:27
- 大小:288.97KB
电子商城数据库的开发.docx
《电子商城数据库的开发.docx》由会员分享,可在线阅读,更多相关《电子商城数据库的开发.docx(27页珍藏版)》请在冰豆网上搜索。
电子商城数据库的开发
《数据库开发与实现》大作业
题目
电子商城设计与实现
学生姓名
学院
1前言
1.1设计背景
Internet是20世纪人类最伟大的发明之一,它以无与伦比的优势描绘了一幅“地球村”网络风景。
Internet带来的不仅是一场信息革命,更重要的是,它引起了人类经济活动方式的深刻变革。
近年来,企业级计算机应用达到了前所未有的新高潮。
上世纪90年代以来,随着网络、通信和信息技术的突破性进展,Internet在全球爆炸性增长并迅速普及。
在这一前提下,电子商务应运而生了。
电子商务是基于互联网、以交易双方为主体、以银行电子支付和结算为手段、以客户数据为依托的全新的商务模式,它可以使商家与供应商更紧密地联系起来,更快地满足客户需求,也可以让商家在全球范围内选择最佳供应商,在全球市场上销售产品。
自1998年“电子商务年”以来,电子商务在全球发展迅猛,大约每九个月其交易额就翻一番,全球电子商务交易额(包括网上贸易额、销售额等)达到数千亿美元,电子商务收入剧增62%。
目前,世界各国纷纷看好电子商务这块新大陆,普遍认为电子商务的发展将是未来25年世界经济发展的一个重要推动力,对经济的促进将远远超过200年前的工业革命。
1.2硬件系统
处理器:
Intel双核心处理器:
支持多线程,二级缓存为2MB或4MB,主频133MHZ或266MHZ
内存:
2GB 支持DDR3
硬盘:
不少于80GB7200转/分或固态硬盘
电源:
有内置电源以及外置电源,外置电源能够提供突然断电提供时间保存数据作用
1.3软件系统
操作系统:
Windows7
数据库系统:
SqlServer2008
2需求分析、业务流程和数据字典介绍
2.1需求分析
2.1.1会员用户
(1)用户注册:
提供用户注册功能,注册时用户需要填写相关信息,系统会记录注册用户的信息以方便后面进行购物发货。
(2)用户登录:
如果用户已经注册,则可以使用自己的用户名和密码来登录商城系统,登录之后可以修改自己的个人信息,查询自己的订单,进行购物,并付款,确认收货等。
(3)个人信息修改:
用户登录系统后可以对自己的个人信息如密码、电话、收货地址等信息进行修改。
(4)商品分类:
用户可以通过自己的需要查看不同类型的商品,有菜单的类别与子类别。
(5)查看购物车:
用户可以查看或删除自己购物车中的商品。
(6)查看订单:
用户可以对购物之后系统生成的订单进行查询。
(7)商品留言:
用户可以进行留言。
2.1.2管理员用户
(1)会员管理:
管理员可以对注册用户进行管理,包括对用户的添加、修改和删除。
(2)商品类别设置:
管理员可以对各种商品的类别进行增删改查的操作。
主要分为商品大类和商品小类设置,可以将小类商品划分到不同的大类中。
(3)订单管理:
用户购买商品后,系统自动生成订单,管理员可以对用户的订单的状态进行修改。
(4)商品管理:
管理员可以对商品信息进行编辑,可以设置热卖商品和特价打折商品,进行商品的上架和下架。
发布公告:
管理员可以发布信息。
(5)留言管理:
管理员可以对用户留言进行管理。
2.2电子商城业务流程
(1)浏览与选择商品:
顾客进入网站即刻自动提供购物车,不需身份确认就可以在网站上随意浏览、挑选商品(可增加、删除、修改购物车上商品的数量),网站提供最新的商品列表,热卖商品优先列表给顾客作为选购时的参考;
(2)判断:
顾客确定所购物品后,系统将判断该顾客是否是会员,如果是,则可直接填写订单;否则,提示顾客登记注册;
(3)提交订单:
已选购的商品需填写订单细节,如付款及提货方式等。
只有正式提交定单才能生效;
(4)注册:
顾客可在公司的网站上注册,填写姓名地址等信息后提交申请;
(5)确认:
后台管理将实时得到顾客的注册信息,通过电话及其他方式确认,得到注册确认的顾客才能成为会员,并拥有唯一的会员证号;
(6)不是会员的顾客可以先挑选商品再申请成为会员,会员申请生效后即可下定单,所定购的商品数及时存入数据库;
(7)送货与付款:
网上的每一份订单都将实时存入后台数据库,后台操作人员通过电话及其他方式确认,确认后将及时实施该订单:
向顾客送货,货到付款,完成网上交易。
图2-2:
系统流程图
2.3电子商城E-R图
2.3.1电子商城系统全局E-R图
图2-3:
系统E-R图
2.3.2管理员E-R图
图2-4:
管理员E-R图
2.3.3会员信息E-R图
图2-4:
会员信息E-R图
2.3.4订单表E-R图
图2-5:
订单表E-R图
2.3.5商品信息E-R图
图2-6:
商品信息E-R图
2.3.6留言信息E-R图
图2-7:
留言信息E-R图
2.3.7公告信息E-R图
图2-8:
公告信息E-R图
2.3.8购物车信息E-R图
购物车信息
价格
编号
数量
商品名
图2-9:
购物车信息E-R图
2.4数据字典
(1)Customer表(用户的基本信息)
序号
属性名称
含义
数据类型
长度
说明
约束
1
c_name
用户名
varchar
30
NotNull
2
c_id
用户编号
int
20
NotNull
主键
3
c_pass
密码
varchar
30
NotNull
4
c_header
头像
varchar
100
NotNull
5
c_phone
电话号码
varchar
12
NotNull
6
c_question
问题提示
varchar
30
NotNull
7
c_answer
问题答案
varchar
30
NotNull
8
c_address
地址
varchar
30
Null
9
c_email
邮箱
varchar
50
NotNull
表2-4:
Customer表
(2)Idea表(用户的留言信息)
序号
属性名称
含义
数据类型
长度
说明
约束
1
id
编号
char
10
NotNull
主键
2
c_id
用户编号
int
10
NotNull
3
new_message
留言信息
varchar
1000
NotNull
4
re_message
回复信息
varchar
1000
Null
5
new_time
留言时间
date
15
NotNull
6
re_time
回复时间
date
15
Null
表2-5:
Idea表
(3)Product表(商品信息)
序号
属性名称
含义
数据类型
长度
说明
约束
1
p_type
商品类型
varchar
30
NotNull
2
p_id
商品编号
varchar
10
NotNull
主键
3
p_name
商品名称
varchar
40
NotNull
4
p_price
商品价格
float
8
NotNull
5
p_quantity
商品数量
int
4
NotNull
6
p_image
商品图片
Varchar
100
NotNull
7
p_description
描述信息
Varchar
2000
NotNull
8
p_time
添加时间
date
20
Null
9
t_id
大类编号
Char
10
NotNull
10
s_id
小类编号
Char
10
NotNull
表2-6:
Product表
(4)Notice表(公告信息)
序号
属性名称
含义
数据类型
长度
说明
约束
1
n_id
编号
char
10
NotNull
主键
2
n_message
公告信息
varchar
1000
NotNull
3
a_id
发布者
int
20
NotNull
4
n_header
头像
Varchar
50
NotNull
5
n_time
发布时间
char
10
NotNull
表2-7:
Notice表
(5)OrderDetails表(商品详细表)
序号
属性名称
含义
数据类型
长度
说明
约束
1
order_id
订单号
char
10
NotNull
主键
2
p_id
商品编号
char
10
NotNull
3
p_price
价格
Float
8
NotNull
4
p_number
数量
Int
4
NotNull
表2-8:
OrderDetails表
(6)Payment表(支付信息)
序号
属性名称
含义
数据类型
长度
说明
约束
1
pay_id
编号
char
10
NotNull
主键
2
pay_payment
支付方式
varchar
50
NotNull
3
pay_msg
备注
varchar
500
Null
表2-9:
Payment表
(7)Orders表(订单信息)
序号
属性名称
含义
数据类型
长度
说明
约束
1
order_id
编号
char
10
NotNull
主键
2
order_payment
支付方式
varchar
1000
NotNull
3
order_adress
地址
varchar
200
NotNull
4
order_email
邮箱
varchar
20
NotNull
5
c_id
用户编号
int
20
NotNull
外键
6
order_time
订购时间
date
30
NotNull
7
order_sum
总价值
float
8
NotNull
表2-10:
Orders表
(8)Admin表(管理员基本信息)
序号
属性名称
含义
数据类型
长度
说明
约束
1
a_id
管理员编号
int
20
NotNull
主键
2
a_name
管理员账号
varchar
30
NotNull
3
a_pass
管理员密码
varchar
30
NotNull
4
a_phone
联系电话
char
12
Null
5
a_email
电子邮箱
varchar
40
Null
表2-11:
Admin表
3基本表设计及完整性体现
3.1基本表设计
CREATEDATABASEShopS
--admin表
CREATETABLEAdmin
(
a_idintnotnullprimarykey,
a_namevarchar(30)notnull,
a_passvarchar(30)notnull,
a_headervarchar(30)notnull,
a_phonechar(15)notnull,
a_emailvarchar(40)notnull
)
--Customer表
CREATETABLECustomer
(
c_idintnotnullprimarykey,
c_namevarchar(30)notnull,
c_passvarchar(30)notnull,
c_headervarchar(30)notnull,
c_phonechar(15)notnull,
c_questionvarchar(30)notnull,
c_answervarchar(30)notnull,
c_addressvarchar(50)null,
c_emailvarchar(50)notnull
)
--Idea表(客户反馈的信息)
CREATETABLEIdea
(
idchar(10)notnull,
c_idintnotnull,
new_messagevarchar(1000)notnull,
re_messagevarchar(1000)null,
new_timechar(15)notnull,
re_timechar(15)null
)
ALTERTABLEIdea
ADDCONSTRAINTfk_id1foreignkey(c_id)referencesCustomer(c_id)
--main_type表(菜单类别)
CREATETABLEmain_type
(
t_idchar(10)notnullprimarykey,
t_typevarchar(30)notnull
)
--sub_type表(子类别)
CREATETABLEsub_type
(
s_idchar(10)notnullprimarykey,
s_supertypechar(10)notnull,
s_namevarchar(30)notnull,
t_idchar(10)notnull
)
ALTERTABLEsub_type
ADDCONSTRAINTfk_id2foreignkey(t_id)referencesmain_type(t_id)
--Notice表(公告栏信息)
CREATETABLENotice
(
n_idchar(10)notnullprimarykey,
n_messagechar(1000)notnull,
a_idintnotnull,
n_headervarchar(50)notnull,
n_timechar(10)notnull
)
ALTERTABLENotice
ADDCONSTRAINTfk_id3foreignkey(a_id)referencesAdmin(a_id)
--Orders表(订单表)
CREATETABLEOrders
(
order_idchar(10)notnullprimarykey,
order_paymentvarchar(100)notnull,
order_addressvarchar(200)notnull,
order_emailvarchar(50)notnull,
c_idintnotnull,
order_timevarchar(30)notnull,
order_sumfloatnotnull
)
ALTERTABLEOrders
ADDCONSTRAINTfk_id4foreignkey(c_id)referencesCustomer(c_id)
--OrderDetails表(详细订单表)
CREATETABLEOrderDetails
(
order_idchar(10)notnull,
p_idchar(10)notnull,
p_pricefloatnotnull,
p_numberintnotnull
)
ALTERTABLEOrderDetails
ADDCONSTRAINTfk_id5foreignkey(order_id)referencesOrders(order_id)
--Payment表(支付信息)
CREATETABLEPayment
(
pay_idchar(10)notnull,
pay_paymentvarchar(50)notnull,
pay_msgvarchar(500)null
)
--Product表(产品表)
CREATETABLEProduct
(
p_typevarchar(30)notnull,
p_idchar(10)notnullprimarykey,
p_namevarchar(40)notnull,
p_pricefloatnotnull,
p_quantityintnotnull,
p_imagevarchar(100)notnull,
p_descriptionvarchar(2000)notnull,
p_timevarchar(20)null,
t_idchar(10)notnull,
s_idchar(10)notnull
)
ALTERTABLEProduct
ADDCONSTRAINTfk_id6foreignkey(t_id)referencesmain_type(t_id)
ALTERTABLEProduct
ADDCONSTRAINTfk_id7foreignkey(s_id)referencessub_type(s_id)
4视图设计和各功能实现
4.1总体视图设计
SELECTFROM
dbo.sub_typeINNERJOIN
dbo.ProductINNERJOINdbo.main_typeON
dbo.Product.t_id=dbo.main_type.t_idON
dbo.sub_type.s_id=dbo.Product.s_idANDdbo.sub_type.t_id=dbo.main_type.t_idCROSSJOIN
dbo.PaymentCROSSJOIN
dbo.NoticeINNERJOIN
dbo.AdminONdbo.Notice.a_id=dbo.Admin.a_idCROSSJOIN
dbo.OrdersINNERJOIN
dbo.IdeaINNERJOIN
dbo.CustomerONdbo.Idea.c_id=dbo.Customer.c_idONdbo.Orders.c_id=dbo.Customer.c_idINNERJOIN
dbo.OrderDetailsONdbo.Orders.order_id=dbo.OrderDetails.order_id
图4-1:
总体视图设计
4.2商品类别视图
当用户浏览商品时需要查看商品时属于哪个大类哪个小类,管理员管理商品时也要清楚商品属于哪个大类哪个小类,而在数据库中存储是只是存储了商品大类和小类的ID号。
这样对于用户体验和管理员管理极为不利,所以采用创建productType视图来解决商品与商品分类关联的问题。
CREATEVIEW[dbo].[productType]
AS
SELECT
FROMdbo.main_typeINNERJOIN
dbo.ProductONdbo.main_type.t_id=dbo.Product.t_idINNERJOIN
dbo.sub_typeONdbo.main_type.t_id=dbo.sub_type.t_id
ANDdbo.Product.s_id=dbo.sub_type.s_id
图4-2:
商品类别视图
4.3管理员订单视图
用户购买商品之后生成订单,而购买商品的数量和购买商品的信息是分别存放在orders表和OrderDetails表中,为了方便管理员管理订单采用orderProduct视图将订单和用户信息,商品名称相关联。
CREATEVIEW[dbo].[orderProduct]
AS
SELECTFROM
dbo.OrdersINNERJOIN
dbo.OrderDetailsONdbo.Orders.order_id=dbo.OrderDetails.order_id
INNERJOIN
dbo.ProductONdbo.OrderDetails.p_id=dbo.Product.p_idCROSSJOIN
dbo.Admin
GO
图4-3:
管理员订单视图
4.4用户订单视图
用户购买商品之后生成订单,购买商品的数量和购买商品的信息是分别存放在orders表和productOrders表中,为了方便查看自己的订单采用userOrderDetails视图将订单和用户信息,商品名称相关联。
CREATEVIEW[dbo].[userOrderdetails]
AS
SELECTFROM
dbo.OrdersINNERJOIN
dbo.CustomerONdbo.Orders.c_id=dbo.Customer.c_idINNERJOIN
dbo.OrderDetailsONdbo.Orders.order_id=dbo.OrderDetails.order_idINNERJOINdbo.ProductONdbo.OrderDetails.p_id=dbo.Product.p_id
GO
图4-4:
用户订单视图
4.5用户留言视图
用户的信息和用户留言分别存放在Customer表中和comment表中,为了方便管理员对用户留言的管理和回复,利用视图userComment来方便管理员管理。
CREATEVIEW[dbo].[CustomerIdea]
AS
SELECTFROM
dbo.IdeaINNERJOIN
dbo.CustomerONdbo.Idea.c_id=dbo.Customer.c_id
GO
图4-5:
用户留言视图
5存储过程和触发器设计及各功能实现
5.1用户登录
当用户登录时如果输入用户名密码,数据库获取用户名和密码后对其和存在数据库中的信息进行比较,如果输入错误,数据库中返回0并提示用户登录失败,如果输入正确就提示登录成功并返回1。
CREATEPROCEDUREcheckUsername
@c_namevarchar(20),
@c_passvarchar(200),
@loginBITOUTPUT
AS
IFEXISTS(SELECT*FROMcustomerWHEREc_name=@c_nameANDc_pass=@c_pass)
begin
SELECT@login=1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子商城 数据库 开发