电子商务网站数据库设计说明书.docx
《电子商务网站数据库设计说明书.docx》由会员分享,可在线阅读,更多相关《电子商务网站数据库设计说明书.docx(28页珍藏版)》请在冰豆网上搜索。
电子商务网站数据库设计说明书
摘要
现如今,互联网行业的快速发展,使的互联网已日益成为收集提供信息的最佳渠道。
计算机不断的趋于大众化,电子商务也越来越成熟。
随着计算机科学的发展,数据库技术在Internet中的应用逐步广泛。
而建立在Internet上的网上购物系统是电子商务的一种重要形式。
通过网上购物,给人们的生活带来了许多方便。
本系统主要采用关系数据库的理论设计一个B2C电子商务网站的数据库,并利用T-SQL语言设计的存储过程、触发器等数据库对象实现一部分网站的业务逻辑。
关键词:
电子商务订单存储过程
Abstract
Today,theInternetindustry'srapiddevelopment,sothattheInternethasincreasinglybecomethebestchannelforcollectinginformation.Computercontinuallybecomepopular,moreandmoresophisticatede-commerce.Withthedevelopmentofcomputerscience,databasetechnologyapplicationintheInternetgraduallywidely.EstablishedontheInternetonlineshoppingsystemisanimportantformofe-commerce.Throughonlineshopping,tomanypeople'sliveseasy.ThesystemmainlyusesthetheoryofrelationaldatabasedesigndatabaseofaB2Ce-commercesite,anduseT-SQLlanguagedesignstoredprocedures,triggersandotherdatabaseobjectstoachievepartofthesite'sbusinesslogic
Keywords:
E-commerceOrderformShoppingCartStoredProcedures
目录
第1章引言1
1.1电子商务的概述1
1.2电子商务系统的组成元素1
1.3电子商务的作用2
第2章需求分析3
2.1鲜花网站的背景介绍3
2.2设计目标3
2.3网站的功能3
2.4业务规则3
第3章数据库设计5
3.1概念模型设计5
3.2逻辑模型设计6
3.3物理模型设计6
3.4创建数据库8
第4章业务逻辑设计11
4.1客户注册11
4.2普通客户转会员11
4.3根据产品名称查询12
4.4查看产品的所有评价13
4.5客户下订单13
4.6职员处理的订单15
第5章结论17
谢辞18
参考文献19
第1章引言
1.1电子商务的概述
电子商务,英文是ElectronicCommerce,简称EC,顾名思义,其内容包含两个方面,一是电子方式,二是商贸活动。
电子商务通常是指是在全球各地广泛的商业贸易活动中,在因特网开放的网络环境下,基于浏览器/服务器应用方式。
利用简单、快捷、低成本的电子通讯方式,买卖双方不谋面地进行各种商贸活动。
电子商务可以通过多种电子通讯方式来完成。
简单的,比如你通过打电话或发传真的方式来与客户进行商贸活动,似乎也可以称作为电子商务;是为实现消费者的网上购物、商户之间的网上交易和在线电子支付以及各种商务活动、交易活动、金融活动和相关的综合服务活动的一种新型的商业运营模式。
“中国网络营销网”Tinlu相关文章指出,电子商务涵盖的范围很广,一般可分为企业对企业(Business-to-Business),或企业对消费者(Business-to-Customer)两种。
另外还有消费者对消费者(Customer-to-Customer)这种大步增长的模式。
随着国内Internet使用人数的增加,利用Internet进行网络购物并以银行卡付款的消费方式已渐流行,市场份额也在迅速增长,电子商务网站也层出不穷。
电子商务最常见之安全机制有SSL及SET两种。
要实现完整的电子商务还会涉及到很多方面,除了买家、卖家外,还要有银行或金融机构、政府机构、认证机构、配送中心等机构的加入才行。
由于参与电子商务中的各方在物理上是互不谋面的,因此整个电子商务过程并不是物理世界商务活动的翻版,网上银行、在线电子支付等条件和数据加密、电子签名等技术在电子商务中发挥着重要的不可或缺的作用。
1.2电子商务系统的组成元素
电子商务基础平台为企业的电子商务应用提供了运行环境和管理工具及内部袭用的连接。
它是保证电子商务系统具有高扩展性、集中控制、高可靠性的基础。
电子商务基础平台的目标是提高系统整体性能,是面向系统效率的。
下面我们就来看看它由哪几部分元素组成。
电子商务系统的基础平台一般包括以下组成元素:
(1)负荷均衡
负荷均衡是指如何使电子商务系统服务器的处理能力和承受能力的压力保持均衡。
负荷均衡还可以对服务器集群结构中的各个服务器性能进行动态调整和负荷分配。
它使电子商务系统中硬件性能得到有效的均衡,避免特定的设备或系统软件由于压力过大而出现崩溃和拒绝服务的现象。
这样在一定程度上能够提高系统的可靠性。
(2)连接/传输管理
这一部分的主要作用是满足系统可扩充性的需要,用以实现电子商务系统和其他系统之间的互联以及应用之间的互操作。
一般来讲,这一部分包括三个方面的内容:
异构系统的连接及通讯,例如UNIX系统上的WEB服务器与IBMES9000之间的连接。
应用间的通信接口,保证应用程序通过不可靠信道连接进行时,可以完成差错恢复及续传,并为应用之间的互操作提供API接口,简化应用通信的开发工作。
应用和数据库的连接之间的接口。
(3)事务管理
电子商务系统支持的商务活动涉及到大量的联机事务处理OLTP和OLAP,这就要求系统具备很强的事务处理性能。
事务管理的作用包括量方面,一是保证分布式环境下事务的完整性、一致性和原子性;二时缩短系统的响应时间,提高交易过程的实时性。
(4)网站管理
网站是电子商务系统的客户服务接口,用于表达系统商务逻辑的处理结果。
所以,在电子商务系统中,网站具有重要的地位。
网站管理的基本作用是为站点维护、管理和性能分析提供技术支持手段,它主要实现系统状态的监控、系统性能调整、用户访问授权、客户访问历史记录等功能。
通过网站管理功能,可以记录客户的访问数据,了解用户的需求。
利用这些数据,企业能够了解客户的潜在需求。
(5)数据管理
该部分为电子商务应用相关数据的存储、加工、备份和表达提供支持,同时为应用程序提供应用开发接口。
通常该部分利用支持WEB的数据库管理系统实现。
但是与传统的DBMS相比,该部分与WEB的接口方式更加丰富,例如支持API、JDBC、ODBC等接口方式,而且对多媒体数据的支持能力更强。
除利用传统的DBMS实现数据管理外,目前也又一种做法是将WEB和DBMS更紧密的结合起来,构造所谓的WebDB。
例如,在CA公司的产品Justme-I中,就将应用平台和数据库集成为一体。
(6)安全管理
该部分为电子商务系统提供安全可靠的运行环境、防止或减少系统被攻击的可能、提高系统抗拒非法入侵或攻击的能力、保障联机交易过程的安全。
1.3电子商务的作用
电子商务的作用可以分为直接作用和间接作用两个部分。
电子商务的直接作用有:
第一,极度节约商务成本,尤其节约商务沟通和非实物交易的成本;
第二,极大提高商务效率,尤其提高地域广阔但交易规则相同的商务效率;
第三;有利于进行商务(经济)宏观调控、中观调节和微观调整,可以将政府、市场和企业乃至个人连接起来,将“看得见的手”和“看不见的手”连接起来,既可克服“政府失灵”又可克服“市场失灵”,既为政府服务又为企业和个人服务。
电子商务间接作用有:
第一,促进整个国民经济和世界经济高效化、节约化和协调化;
第二,带动一大批新兴产(事)业的发展,如:
信息产业,知识产业和教育事业等;
第三;物尽其用、保护环境,有利于人类社会可持续发展。
作为一种商务活动过程,电子商务将带来一场史无前例的革命。
其对社会经济的影响会远远超过商务的本身,除了上述这些影响外,它还将对就业、法律制度以及文化教育等带来巨大的影响。
电子商务会将人类真正带入信息社会。
第2章
需求分析
在第一章里已经对电子商务的基本概述、特点、应用类型和组成元素作了介绍。
并讨论了电子商务的一些优点与应用。
本章着重对设计此网站的数据库所应用的技术和如何实现并开发此方案作详细的解说。
对总体方案的可行性进行分析和论证。
2.1鲜花网站的背景介绍
随着互联网的普及,网购已经成了网民很重要的消费手段。
由此购物网站逐渐发展起来,所谓购物网站就是提供网络购物的站点。
足不出户即可购买到你所喜欢的商品。
目前国内比较知名的专业购物网站有卓越、当当、d1便利、no5时尚广场、美家搜购等。
提供个人对个人的买卖平台有淘宝、易趣、拍拍、百家店、康佳丽等。
还有很多提供各种各样商品出售的站点。
2.2设计目标
任何一个项目或者系统开发之前都需要定制一个开发约定和规则,这样有利于项目的整体风格统一、代码维护和扩展。
由于Web项目开发的分散性、独立性、整合的交互性等,所以在建设网站之前对网站需求进行分析显得尤为重要。
在此定制了一系列约定和规则:
包括文件夹命名规则、文件名命名规则、程序代码编程风格、数据库设计约定。
一个优良可行的规范可以使得在网站建设过程中得心应手事半功倍。
当然有些时候,也可以根据具体情况来采用相应的策略。
在Web项目开发中有前后台开发之分,前台开发主要是指非程序编程部分,主要职责是网站AI设计、界面设计、动画设计等。
而后台开发主要是编程和网站运行平台搭建,其主要职责是设计网站数据库和网站功能模板的实现。
因此在计算机双语论坛的建设中,把它分成了前台与后台开发。
2.3网站的功能
在线鲜花订购系统主要是建立网上的鲜花订购及管理平台,其主要的功能如下:
1、发布鲜花产品,以供客户查看。
2、可实现各种鲜花产品的查询功能。
3、客户能比较方便地订购鲜花产品。
4、客户能比较及时了解自己的订单的情况(如何时到货,到货后可以对收到的产品进行评价)。
5、管理员能比较方便管理所有的订单。
2.4业务规则
鲜花订购系统的主要业务如下:
1、客户可以在网站上注册,注册的客户要提供客户的姓名、电话、地址、密码,客户号由系统生成。
其中密码和用户名方便用户登录,姓名、地址、电话以方便联系和寄货;
2、当客户在网站订购货物到一定量(累计购买500元或一次性购买200元)可以将普通客户转为会员,并制作会员卡给客户(更新客户信息中的是否会员和会员号);
3、网站管理员可以登记各种商品,供客户查询,订购。
登记商品时要提供商品的名称、价格、会员价、商品说明等信息;
4、客户可以根据类型或产品的名称或价格查询产品;
5、客户可以在网上下订单,一张订单可以订购多种商品,可以在订购时对订购的商品提出要求
6、网站管理员可以查看订单,并及时将订单的处理情况更新(比如货物已寄出的信息)
7、客户可以就他订购的商品进行评价
8、管理员可以查看所有的客户信息、所有的商品的评价信息并进行回复
第3章
数据库设计
3.1概念模型设计
根据上述需求,找出的实体及实体之间的联系如下:
图3.1类型实体
图3.2产品实体
图3.3客户实体
图3.4订单实体
图3.5职员实体
图3.6E-R图
3.2逻辑模型设计
根据上述E-R模型,将之转换为关系模式集:
类型(类型号,类型名,说明)
产品(产品号,产品名,类型号,价格,会员价,说明)
客户(客户号,姓名,地址,联系电话,密码,是否会员,会员号)
职员(职员号,姓名,性别,密码)
订单(订单号,日期,状态,职员号,客户号)
订购(订单号,产品号,数量,价格,要求,评价,回复)
3.3物理模型设计
根据上述关系模式集和实际情况,设计数据库物理结构如下所述
表3.1类型表(c_type)
字段名
类型
长度
说明
T_id
Char
2
类型号,主键,索引
T_name
varchar
20
类型名,非空,索引
Memo
varchar
200
说明
类型表是用来存放商品类型的,网页上以类型的不同把商品显示在不同的位置,类型名称也是用户搜索的关键字,所以要在上面加索引,主键索引也是必须的
表3.2产品表(product)
字段名
类型
长度
说明
P_id
Char
4
产品号,主键,索引
P_name
varchar
100
产品名称,非空,索引
T_id
Char
2
类型号,外键,非空,索引
Price
Money
价格,非空,大于等于0
M_price
Money
会员价,大于等于0
Memo
varchar
200
说明
产品表用来存储鲜花商品的基本信息。
这张表是系统数据库中一个至关重要的数据表,页面上所显示的商品都是从这里读取的。
表中P_name存储商品名称,在进行查询语句时经常根据这个字段查询相应的鲜花商品的,所以要加索引。
主键外键索引也是必须的
表3.3客户表(client)
字段名
类型
长度
说明
C_id
char
8
客户号,主键,索引
C_name
varchar
40
姓名,非空
C_add
varchar
50
地址,非空
C_phone
varchar
40
联系电话,非空
C_pass
varchar
20
密码,非空
If_member
char
1
是否会员,Y表示会员;N表示非会员,非空
Member_id
char
8
会员号,索引,必须If_member为Y才有会员号,否则是null
客户表是用来存放客户信息的,姓名、地址、联系电话、密码由客户在注册时输入,客户号由程序生成;注册时是否会员为N,会员号为空;当该用户一次性购买满200元或累计消费满500后升为会员,会员号同客户号。
表3.4职员表(admin)
字段名
类型
长度
说明
U_id
char
4
职员号,主键,索引
Name
Varchar
10
姓名,非空
gender
Varchar
2
性别,非空
pass
varchar
50
密码,非空
职员表是用来存放网站的管理员信息的,通过职员号和密码登录,进行产品更新和订单处理等工作。
表3.5订单表(porder)
字段名
类型
长度
说明
O_id
char
10
订单号,主键,索引
O_date
datetime
日期,非空
Status
varchar
20
状态,分为未付款、已付款、货物已寄出、已完成等,非空
U_id
char
4
职员号,外键,索引
C_id
char
8
客户号,外键,索引,非空
订单表是用来存放订单的总体信息的,客户下订单时,要更新订单表和下面的订购表。
根据下单的时间、客户号、是否付款以及程序自动生成的订单号在订单表中添加一条记录,职员可以根据状态查找订单,当某职员处理某“已付款”订单时,写入该职员的职员号,并将状态改为“货物已寄出”。
客户在收到货物后可以将订单设为“已完成”状态
表3.6订购表(orderlist)
字段名
类型
长度
说明
O_id
char
10
订单号,主键,外键,索引
P_id
Char
4
产品号,主键,外键,索引
quantity
Int
数量,非空,大于0
Price
Money
价格,非空,大于等于0
request
varchar
200
要求
evaluate
varchar
200
评价
reply
varchar
200
回复
订购表是用来存放订单的详细信息的,客户下订单时,根据购买的产品和订单表中的订单号,购买的每种产品的数量,价格,对产品的要求等信息在订购表中生成若干条订购记录。
客户在收到货物后可以在每种产品上加评价,即更新订购表的评价字段。
该表中的主键是O_id+P_id,并在上面加主键索引;外键有2个O_id和P_id,在上面分别加外键索引。
3.4创建数据库
创建数据库代码如下:
createdatabaseflowerstore
go
/*打开flowerstore数据库:
*/
useflowerstore
go
/*创建类型表:
*/
createtablec_type
(T_idChar
(2)primarykey,/*主键及主键索引*/
T_namevarchar(20)notnull,/*非空*/
Memovarchar(200)
)
Go
/*在类型表的类型名上创建索引:
*/
createindextnameonc_type(T_name)
go
/*创建产品表:
*/
createtableproduct
(
P_idChar(4)primarykey,/*主键及主键索引*/
P_namevarchar(100)notnull,/*非空*/
T_idchar
(2)notnullreferencesc_type(T_id),/*非空,外键及外键索引*/
PriceMoneynotnullcheck(Price>=0),/*非空,价格大于等于0*/
M_priceMoneycheck(M_price>=0),/*会员价大于等于0*/
Memovarchar(200)
)
Go
/*在产品表的产品名上建索引:
*/
createindexpnameonproduct(P_name)
go
/*创建客户表*/
createtableclient
(
C_idchar(8)primarykey,/*主键及主键索引*/
C_namevarchar(40)notnull,/*非空*/
C_addvarchar(50)notnull,/*非空*/
C_phonevarchar(40)notnull,/*非空*/
C_passvarchar(20)notnull,/*非空*/
If_memberchar
(1)notnulldefault'N'check(If_member='Y'orIf_member='N'),/*非空,默认为非会员,取值为‘Y’或‘N’*/
Member_idchar(8)
)
Go
/*在客户表的会员号上建索引:
*/
createindexpnameonclient(Member_id)
go
/*创建职员表:
*/
createtableadmin
(
U_idchar(4)primarykey,/*主键及主键索引*/
NameVarchar(10)notnull,/*非空*/
genderVarchar
(2)notnull,/*非空*/
passvarchar(50)notnull/*非空*/
)
go
/*创建订单表:
*/
createtableporder
(
O_idchar(10)primarykey,/*主键及主键索引*/
O_datedatetimenotnull,/*非空*/
Statusvarchar(20)notnullcheck(Statusin('未付款','已付款','货物已寄出','已完成')),/*非空,取值为'未付款','已付款','货物已寄出','已完成'之一*/
U_idchar(4)referencesadmin(U_id),/*外键及外键索引*/
C_idchar(8)notnullreferencesclient(C_id)/*非空,外键及外键索引*/
)
go
/*创建订购表:
*/
createtableorderlist
(
O_idchar(10)referencesporder(O_id),/*外键及外键索引*/
P_idChar(4)referencesproduct(P_id),/*外键及外键索引*/
quantityintnotnullcheck(quantity>0),/*非空,数量大于0*/
Pricemoneynotnullcheck(Price>=0),/*非空,价格大于等于0*/
requestvarchar(200),
evaluatevarchar(200),
replyvarchar(200),
primarykey(O_id,P_id)/*主键及主键索引*/
)
go
第4章
业务逻辑设计
根据上一章的数据库设计,本章以客户注册、普通客户转会员、客户根据产品名称查询产品信息,查看产品的评价、客户下订单、显示未处理的订单等说明本系统业务逻辑的实现过程。
4.1客户注册
客户可以在网站上注册,注册的客户要提供客户的姓名、电话、地址、密码,客户号有系统生成。
其中密码和客户号方便用户登录,姓名、地址、电话以方便联系和寄货。
根据这个业务规则,设计存储过程如下:
createprocnew_client/*创建存储过程new_client*/
@cnamevarchar(40),/*4个参数,分别表示姓名、电话、地址、密码4个必填项*/
@caddvarchar(50),
@cphonevarchar(40),
@cpassvarchar(20)
as
declare@cidchar(8)/*声明一个局部变量@cid用来存放客户号*/
select@cid=(selectmax(c_id)fromclient)/*@cid赋值为客户表中的最大客户号*/
/*如果@cid为空则当前客户为第一个客户,编号为'00000001',否则为原最大客户号+1*/
if@cidisnull
set@cid='00000001'
else
begin
set@cid=right('0000000'+ltrim(@cid+1),8)
end
insertintoclientvalues(@cid,@cname,@cadd,@cphone,@cpass,'N',NULL)/*数据插入客户表*/
go
4.2普通客户转会员
当客户在网站订购货物到一定量(累计购买500元或一次性购买200元)可以将普通客户转为会员,并制作会员卡给客户(更新客户信息中的是否会员和会员号);根据该业务逻辑,设计为每次普通客户下单购买产品后检查该订单的客户是否达到会员要求,若达到,则更新该客户的“是否会员”和“会员号”的值。
实现