数据库原理实训报告
题 目 __鲜花网上销售系统__
信息工程学院 二○一四年十二月
目 录
1 前言 ············································································································ 1
1.1选题理由和实际意义 ··············································································· 1 1.2研究现状及趋势 ····················································································· 2 2 需求分析 ······································································································ 3
2.1功能分析 ······························································································ 3 3 系统设计 ······································································································ 5
3.1定义 ···································································································· 5 3.2系统模块图 ··························································································· 5
3.2.1用户管理模块: ············································································· 5 3.2.2用户购物功能模块: ······································································· 6 3.2.3管理员模块: ················································································ 6 3.3 E-R图 ································································································· 7 3.4数据表的设计 ························································································ 7 3.5用例列举 ····························································································· 10
3.5.1数据表 ························································································ 10 3.5.2视图 ··························································································· 11 3.5.3存储过程 ····················································································· 12
4 总结 ··········································································································· 14 5 参考文献 ····································································································· 15 附录:读书笔记 ······························································································· 16
鲜花网上销售系统分析报告
1 前言
1.1选题理由和实际意义
电子商务缩写为 EC(Electronic- Commerce),也有人称为电子贸易,它是指采用网络技术实现数据的交换,从而完成整个的商业交易过程,是信息时代商务模式的实质性变革,是未来贸易方式的发展方向,是各种具有商业活动能力的实体利用网络和先进的数字化传媒技术进行的各项商业贸易活动。它的实施牵涉到社会信用体系、法律环境、经济秩序诸方面,是一个与社会大环境息息相关并独具完整结构体系的系统工程。如今,电子商务的发展可能大家都已经耳濡目染,上网的朋友对这已经不在陌生,有的人可能已经很熟悉,电子商务已经确确实实出现在我们周围。
网上购物系统网站是电子商务系统的一个重要部分,它在我国B2C网上购物网站的数量占大多数,其主要原因是这种类型的系统比较容易实现所涉的其他方面的问题也比较少。它是一种具有交互功能的商业信息系统,向用户提供静态和动态两类信息资源。所谓静态信息是指那些不经常变动或更新的资源,如公司简介、管理规范和公司制度等;动态信息是指随时变化的信息,如商品报价、会议安排和培训信息等。网上购物系统具有强大的交互功能,可使商家与用户方便地传递信息,完成电子交易。
鲜花网上销售系统将传统的花店经营管理模式与计算机网络的综合经营管理模式结合在一起,将人、机、物的需求、活动和运作进行系统分析、设计并管理,以实现现代高效、科学且安全的电子商务。在系统设计时,从传统花店的经营模式,网上用户需求与业务经营模式,计算机网络管理,系统设计等几方面综合分析,定义系统的输入、输出、实现功能、系统运作能力等各项要求。其中后台数据库采用SQL,动态网页开发采用JSP技术。
网上购物系统设计的目标基本有三个:增加销售量,实现产品管理和能方便顾客扩大顾客群。本系统(鲜花网上销售系统)也给人们带来了许多方便之处。
各种鲜花有着不同的寓意,如玫瑰花象征着爱情,适合于情侣之间;风信子代表着新生,用以鼓励对方放下过去,积极向上等等。对鲜花老板来说,有了鲜
花网上销售系统,一方面,增加了销售量;另一方面,方便管理自己的鲜花。对于顾客来说,有了鲜花网上销售系统,一方面,不必再为了购买各种鲜花东奔西跑,而只要拥有一台可以上网的电脑即可购买到心仪的鲜花;另一方面,鲜花网上销售系统为顾客提供了各种鲜花信息,顾客只需登录相关网站便可对鲜花各类信息一目了然,不必再像以前一样不好意思地东问西问。总之,本系统给人们带来了极大的好处。
1.2研究现状及趋势
电子商务的作用可以分为直接作用和间接作用两个部分。 电子商务的直接作用有:
第一,极度节约商务成本,尤其节约商务沟通和非实物交易的成本; 第二,极大提高商务效率,尤其提高地域广阔但交易规则相同的商务效率; 第三;有利于进行商务(经济)宏观调控、中观调节和微观调整,可以将政府、市场和企业乃至个人连接起来,将“看得见的手”和“看不见的手”连接起来,既可克服“政府失灵”又可克服“市场失灵”,既为政府服务又为企业和个人服务。
电子商务间接作用有:
第一,促进整个国民经济和世界经济高效化、节约化和协调化;
第二,带动一大批新兴产(事)业的发展,如:信息产业,知识产业和教育事业等;
第三;物尽其用、保护环境,有利于人类社会可持续发展。作为一种商务活动过程,电子商务将带来一场史无前例的革命。
其对社会经济的影响会远远超过商务的本身,除了上述这些影响外,它还将对就业、法律制度以及文化教育等带来巨大的影响。电子商务会将人类真正带入信息社会。
2 需求分析
随着互联网的普及,网购已经成了网民很重要的消费手段。由此购物网站逐渐发展起来,所谓购物网站就是提供网络购物的站点。足不出户即可购买到你所喜欢的商品。
目前国内比较知名的专业购物网站有卓越、当当、d1便利、no5时尚广场、美家搜购等。提供个人对个人的买卖平台有淘宝、易趣、拍拍、百家店、康佳丽等。还有很多提供各种各样商品出售的站点。
2.1功能分析
在线鲜花销售系统主要是建立网上的鲜花订购及管理平台,其主要的功能如下:
(1)发布鲜花产品,以供客户查看。 (2)可实现各种鲜花产品的查询功能。 (3)客户能比较方便地订购鲜花产品。
(4)客户能比较及时了解自己的订单的情况(如何时到货,到货后可以对收到的产品进行评价)。
(5)管理员能比较方便管理所有的订单。
除了以上的基本功能外,本系统的特殊功能主要下几各方面:
在线花店系统是一个相对简单的基本应用系统,主要满足传统的花店运营需要,将自己的销售渠道扩展到网上,通过简单的管理,提供给最终消费者产品的展现、购物、订单处理等以实现鲜花的在线销售。
(1) 鲜花产品选购。可按目录方式查找鲜花种类或通过导航属性进行查询,并
可查看鲜花详细情况。
(2) 订单提交功能。顾客选完商品后,可以进行订购这一交易过程。从顾客方
面说,顾客提交订单后,此网站的网上交易已经完成,应该进入管理者的订单处理过程。
(3) 订单查询功能。管理员可以查询订单和订单的处理情况。顾客提交完订单
后,应该有订单确认的过程。一旦订单得到处理确认,网上交易即告完成。
(4) 用户管理功能。为保证网上交易的安全性,对顾客的身份进行验证和管理
十分必要,因此需要支持用户注册、用户登录、身份验证等。管理员也属于用户一类,成功登录后,可以查看到全部用户的订单情况。
本系统设计时把页面中一些常用的部分集成为模块,例如页面的头部和产品导航模块,这样设计新的页面时如果有重复出现的部分,只需要拿现成的模块嵌套组装就可以了。
3 系统设计
3.1定义
(1) 系统名称:鲜花网上销售系统
(2) 数据库管理软件:Microsoft SQL Server
(3) 数据库设计采用软件:Microsoft Office Visio 2003
(4) 系统采用C/S体系结构:Client (客户端)负责提供表达逻辑、显示用户界面信息、访问数据库服务器;Server (服务器)端用于提供数据服务。 (5) 运行平台:windows 2003
(6) 数据库的安全性设计:登录用户、数据库用户、数据库角色等方面
3.2系统模块图
系统主要分为用户管理模块、用户功能模块和管理员模块三大部分,每一部分又可分为若干功能小模块。将页面中常用的部分设计为页面模块,共享使用。
3.2.1用户管理模块:
用户管理功能包括用户注册、用户登录、身份验证等功能,如图4-1所示。相关功能设计如下:
(1)用户注册和验证
用户注册功能设置在首页中,在用户登录的位置提供一个与注册页面连接的链接。注册时要实现一个用于顾客填写各项注册信息的表单,用户名不能重复。倘若用户名已被使用,则注册失败返回注册页面,重新填写注册信息。倘若注册成功,自动跳转到鲜花浏览页面。对于用户提交的正确注册信息,应该能够存入数据库。
(2)用户登录和验证
对于已注册过的用户须提供用户名和密码才可以登录使用系统的功能。 登录信息输入和信息提交。对用户输入的登录信息进行检查,用户名和密码正确则显示欢迎信息或画面,否则要给出提示信息,以帮助用户确认输入信息是否正确或用户需要注册等。对于成功登录的用户,应开放所有用户购物功能。
图3-1 用户管理模块图
3.2.2用户购物功能模块:
用户购物模块如图4-2所示。相关功能设计如下: (1)商品浏览
首页为顾客提供注册登录信息,还为顾客提供了商品信息的链接。点击链接即可查看商品的详细信息。
(2)订单管理
用户确认商品后,进入填写订单及提交订单过程。包括以下几个基本步骤:进入订单页面,填写订单,提交订单。
3-2 用户购物模块图
3.2.3管理员模块:
对于管理员模块的设计比较简单,只是提供给管理员查询全部订单和修
改鲜花信息的功能,管理员只要登录成功就可以查看到所有用户的订单情况,图4-3为管理员模块。
图3-3 管理员模块图
3.3 E-R图
图3-4 E-R图
3.4数据表的设计
根据上述E-R模型,将之转换为关系模式集: 类型(类型号,类型名,说明)
产品(产品号,产品名,类型号,价格,会员价,说明)
客户(客户号,姓名,地址,联系电话,密码,是否会员,会员号) 职员(职员号,姓名,性别,密码)
订单(订单号,日期,状态,职员号,客户号)
订购(订单号,产品号,数量,价格,要求,评价,回复)
根据上述关系模式集和实际情况,设计数据库物理结构如下所述
表3.1类型表(c_type)
置,类型名称也是用户搜索的关键字,所以要在上面加索引,主键索引也是必须的
表3.2产品表(product)
的数据表,页面上所显示的商品都是从这里读取的。表中P_name存储商品名称,在进行查询语句时经常根据这个字段查询相应的鲜花商品的,所以要加索引。主键外键索引也是必须的
表3.3客户表(client)
时输入,客户号由程序生成;注册时是否会员为N,会员号为空;当该用户一次性购买满200元或累计消费满500后升为会员,会员号同客户号。
表3.4职员表(admin)
更新和订单处理等工作。
表3.5订单表(porder)
的订购表。根据下单的时间、客户号、是否付款以及程序自动生成的订单号在订单表中添加一条记录,职员可以根据状态查找订单,当某职员处理某“已付款”订单时,写入该职员的职员号,并将状态改为“货物已寄出”。客户在收到货物后可以将订单设为“已完成”状态
表3.6订购表(orderlist)
单表中的订单号,购买的每种产品的数量,价格,对产品的要求等信息在订购表中生成若干条订购记录。客户在收到货物后可以在每种产品上加评价,即更新订购表的评价字段。
3.5用例列举 3.5.1数据表
/*创建类型表:*/ create table c_type
(T_id Char(2) primary key , /*主键及主键索引*/ T_name varchar(20) not null, /*非空*/ Memo varchar(200) ) Go
/*在类型表的类型名上创建索引:*/ create index tname on c_type(T_name) go
/*创建产品表:*/ create table product (
P_id Char(4) primary key , /*主键及主键索引*/ P_name varchar(100) not null , /*非空*/
T_id char(2) not null references c_type(T_id), /*非空,外键及外键索引*/
Price Money not null check(Price>=0), /*非空,价格大于等于0*/ M_price Money check(M_price>=0), /*会员价大于等于0*/ Memo varchar(200) ) Go
/*在产品表的产品名上建索引:*/ create index pname on product(P_name) go
/*创建客户表*/ create table client (
C_id char(8) primary key, /*主键及主键索引*/ C_name varchar(40) not null, /*非空*/ C_add varchar(50) not null, /*非空*/ C_phone varchar(40) not null, /*非空*/ C_pass varchar(20) not null, /*非空*/
If_member char(1) not null default 'N' check(If_member='Y' or If_member='N'), /*非空,默认为非会员,取值为‘Y’或‘N’*/
Member_id char(8) ) Go
/*在客户表的会员号上建索引:*/
create index pname on client(Member_id) go
/*创建职员表:*/ create table admin (
U_id char(4) primary key, /*主键及主键索引*/ Name Varchar(10) not null, /*非空*/ gender Varchar(2) not null, /*非空*/ pass varchar(50) not null /*非空*/ ) go
/*创建订单表:*/ create table porder (
O_id char(10) primary key, /*主键及主键索引*/ O_date datetime not null, /*非空*/
Status varchar(20) not null check(Status in ('未付款','已付款','货物已寄出','已完成')) , /*非空,取值为'未付款','已付款','货物已寄出','已完成'之一*/
U_id char(4) references admin(U_id) , /*外键及外键索引*/
C_id char(8) not null references client(C_id) /*非空,外键及外键索引*/ ) go
/*创建订购表:*/ create table orderlist (
O_id char(10) references porder(O_id), /*外键及外键索引*/ P_id Char(4) references product(P_id), /*外键及外键索引*/ quantity int not null check(quantity>0), /*非空,数量大于0*/
Price money not null check(Price>=0), /*非空,价格大于等于0*/ request varchar(200), evaluate varchar(200), reply varchar(200) ,
primary key(O_id,P_id) /*主键及主键索引*/ )
3.5.2视图
(1)创建销售视图
描述:销售视图是由订购表、订单表和产品表导出。 销售(订单号,产品号,数量,客户,价格) create view xiaoshou as
select orderlist.O_id, P_id, quantity, porder.C_id, product.Price
FROM orderlist porder product
WHERE orderlist.O_id= porder.O_id and orderlist.P_id= product.P_id --验证 select * from xiaoshou
(2)创建职员工作视图
描述:职员工作视图是由职员表、客户表和订单表导出。
职员工作(职员号,职员姓名,客户号,客户姓名,订单号,日期) create view zhiyuan as
select admin.U_id, Name, client.C_id, C_name, porder.O_id, O_date FROM admin client porder
WHERE admin.U_id= porder.U_id and client.C_id= porder.C_id --验证 select * from zhiyuan
3.5.3存储过程
客户选购了一个商品:
create proc temp_orderlist_add /*创建存储过程temp_orderlist_add用于实现客户选购商品*/
@oid char(10), /*参数为订单号、产品号、数量、价格、要求*/ @pid char(4), @quantity int, @price money,
@request varchar(200) as
insert into t orderlist values(@oid,@pid,@quantity,@price,@request) /*将客户选购的商品信息写入订购表*/
go
客户从订单中去掉了一个产品:
create proc temp_orderlist_del /*创建存储过程temp_orderlist_del用于实现客户删除选购的商品*/
@oid char(10), /*参数为订单号、产品号*/ @pid char(4) as
delete from orderlist where oid=@oid and pid=@pid /*根据订单号和
产品号从订购表中删除数据*/
go
修改订购的产品的数量和要求:
create proc temp_orderlist_modify /*创建存储过程temp_orderlist_modify用于实现客户修改选购商品的数量、要求等信息*/
@oid char(10), /*参数为订单号、产品号、数量、要求*/ @pid char(4), @quantity int,
@request varchar(200) as
update orderlist set Quantity=@quantity , Request=@request where oid=@oid and pid=@pid /*根据订单号、产品号更新该产品的订购数量和要求*/
4 总结
在系统的设计开发过程中,我注重了科学的系统设计思路,在总体设计上,采用了模块化和分层的设计思想,使整个系统流程清晰、逻辑合理,为系统的实现创造了良好的条件,也为日后系统的维护和更新提供了便捷。
本次实训重点讨论了系统的数据准备、数据库逻辑结构分析、ASP与后台数据库链接等关键技术。这些技术的实现,满足了系统的需要,优化了系统的性能。不过这次的系统是一个普通的中小型网上购物系统,因此采用ASP技术来实现电子商务网站,选择了SQL Server作为后台数据库,使其具有简便、快捷的优点。加ASP.NET的方法可能就更适合系统的开发。
由于本系统的设计是建立在设计基本要求的基础上的,所以该系统作为一个简单的通用在线花店网站,具备的功能还不够完善,有很多可以扩充和完善的地方,总结出来主要有以下几点:
(1)鲜花信息管理功能设计中只是简单完成了鲜花的名称、颜色、价格,并没有形象地给客户展现鲜花的图片。
(2)面向用户的功能还不够完善。系统在设计时只是考虑了用户可以查看鲜花信息,填写、提交订单管理功能,而要达到一个优秀的购物网站仅仅有这点是远远不够的,还需要让用户有更多的功能来对自己的订单进行操作。
在今后的工作里,以上提到的功能与技术还需要加以提高和实现。在实际中,可以根据商家的具体要求进行扩展。
本次设计就是对上面的一些内容思考的还不够多,而这些却是一个成功的网上购物系统需要综合考虑的重要因素。因此,对于网上购物系统仍有继续开发研究的空间。
5 参考文献
[1] SQL Server 2000 [Z].http://www.microsoft.com/china/sql/default.mspx [2] 李存斌.数据库应用技术-SQL Server 2008简明教程[M].北京:中国水利水电出版社,2001.25~35
[3] 庞山山,刘静.基于多角色的登录模块设计和实现[J].科技信息,2011年31期.201~202
附录:读书笔记
鲜花网上销售系统
本例的任务是创建一个鲜花网上销售系统上网站。在设计电子商务网站时需要考虑如下内容:
(1)如何选用数据库,数据库怎样设计。
我们选择SQL SERVER作为电子商务网站的后台数据库。在实际开发应用程序时,选用何种数据库主要看网站的规模。小规模的网站可使用ACCESS数据库,大中型的可以使用SQL SERVER数据库。
(2)如何进行鲜花导购。简单的方式就是向用户展示鲜花信息,如何让用户很容易的找到喜爱的鲜花。我们提供了搜索方式和分类导航。
(3)如何管理网站用户,如何分配用户的操作权限。我们采用注册会员的管理方式。对不同身份的人提供不同的服务。
(4)如何处理和管理用户的购物数据。我们将用户尚未确定的购花数据存放在购物袋文件的隐藏表单控件中,只有确定购买的书才会向服务器提交这些数据并写入数据库。
这个实训的制作过程比较复杂,在具体操作前需要能对在线购物部分的体系结构和工作流程有一个比较全面的认识。在具体操作前应掌握以下几点:
SQL SERVER 数据库的创建方法; SQL SERVER 数据库关系图的创建方法; ASP与SQL SERVER数据库的连接方法; ASP的相关编程技巧。
数据库原理实训报告
题 目 __鲜花网上销售系统__
信息工程学院 二○一四年十二月
目 录
1 前言 ············································································································ 1
1.1选题理由和实际意义 ··············································································· 1 1.2研究现状及趋势 ····················································································· 2 2 需求分析 ······································································································ 3
2.1功能分析 ······························································································ 3 3 系统设计 ······································································································ 5
3.1定义 ···································································································· 5 3.2系统模块图 ··························································································· 5
3.2.1用户管理模块: ············································································· 5 3.2.2用户购物功能模块: ······································································· 6 3.2.3管理员模块: ················································································ 6 3.3 E-R图 ································································································· 7 3.4数据表的设计 ························································································ 7 3.5用例列举 ····························································································· 10
3.5.1数据表 ························································································ 10 3.5.2视图 ··························································································· 11 3.5.3存储过程 ····················································································· 12
4 总结 ··········································································································· 14 5 参考文献 ····································································································· 15 附录:读书笔记 ······························································································· 16
鲜花网上销售系统分析报告
1 前言
1.1选题理由和实际意义
电子商务缩写为 EC(Electronic- Commerce),也有人称为电子贸易,它是指采用网络技术实现数据的交换,从而完成整个的商业交易过程,是信息时代商务模式的实质性变革,是未来贸易方式的发展方向,是各种具有商业活动能力的实体利用网络和先进的数字化传媒技术进行的各项商业贸易活动。它的实施牵涉到社会信用体系、法律环境、经济秩序诸方面,是一个与社会大环境息息相关并独具完整结构体系的系统工程。如今,电子商务的发展可能大家都已经耳濡目染,上网的朋友对这已经不在陌生,有的人可能已经很熟悉,电子商务已经确确实实出现在我们周围。
网上购物系统网站是电子商务系统的一个重要部分,它在我国B2C网上购物网站的数量占大多数,其主要原因是这种类型的系统比较容易实现所涉的其他方面的问题也比较少。它是一种具有交互功能的商业信息系统,向用户提供静态和动态两类信息资源。所谓静态信息是指那些不经常变动或更新的资源,如公司简介、管理规范和公司制度等;动态信息是指随时变化的信息,如商品报价、会议安排和培训信息等。网上购物系统具有强大的交互功能,可使商家与用户方便地传递信息,完成电子交易。
鲜花网上销售系统将传统的花店经营管理模式与计算机网络的综合经营管理模式结合在一起,将人、机、物的需求、活动和运作进行系统分析、设计并管理,以实现现代高效、科学且安全的电子商务。在系统设计时,从传统花店的经营模式,网上用户需求与业务经营模式,计算机网络管理,系统设计等几方面综合分析,定义系统的输入、输出、实现功能、系统运作能力等各项要求。其中后台数据库采用SQL,动态网页开发采用JSP技术。
网上购物系统设计的目标基本有三个:增加销售量,实现产品管理和能方便顾客扩大顾客群。本系统(鲜花网上销售系统)也给人们带来了许多方便之处。
各种鲜花有着不同的寓意,如玫瑰花象征着爱情,适合于情侣之间;风信子代表着新生,用以鼓励对方放下过去,积极向上等等。对鲜花老板来说,有了鲜
花网上销售系统,一方面,增加了销售量;另一方面,方便管理自己的鲜花。对于顾客来说,有了鲜花网上销售系统,一方面,不必再为了购买各种鲜花东奔西跑,而只要拥有一台可以上网的电脑即可购买到心仪的鲜花;另一方面,鲜花网上销售系统为顾客提供了各种鲜花信息,顾客只需登录相关网站便可对鲜花各类信息一目了然,不必再像以前一样不好意思地东问西问。总之,本系统给人们带来了极大的好处。
1.2研究现状及趋势
电子商务的作用可以分为直接作用和间接作用两个部分。 电子商务的直接作用有:
第一,极度节约商务成本,尤其节约商务沟通和非实物交易的成本; 第二,极大提高商务效率,尤其提高地域广阔但交易规则相同的商务效率; 第三;有利于进行商务(经济)宏观调控、中观调节和微观调整,可以将政府、市场和企业乃至个人连接起来,将“看得见的手”和“看不见的手”连接起来,既可克服“政府失灵”又可克服“市场失灵”,既为政府服务又为企业和个人服务。
电子商务间接作用有:
第一,促进整个国民经济和世界经济高效化、节约化和协调化;
第二,带动一大批新兴产(事)业的发展,如:信息产业,知识产业和教育事业等;
第三;物尽其用、保护环境,有利于人类社会可持续发展。作为一种商务活动过程,电子商务将带来一场史无前例的革命。
其对社会经济的影响会远远超过商务的本身,除了上述这些影响外,它还将对就业、法律制度以及文化教育等带来巨大的影响。电子商务会将人类真正带入信息社会。
2 需求分析
随着互联网的普及,网购已经成了网民很重要的消费手段。由此购物网站逐渐发展起来,所谓购物网站就是提供网络购物的站点。足不出户即可购买到你所喜欢的商品。
目前国内比较知名的专业购物网站有卓越、当当、d1便利、no5时尚广场、美家搜购等。提供个人对个人的买卖平台有淘宝、易趣、拍拍、百家店、康佳丽等。还有很多提供各种各样商品出售的站点。
2.1功能分析
在线鲜花销售系统主要是建立网上的鲜花订购及管理平台,其主要的功能如下:
(1)发布鲜花产品,以供客户查看。 (2)可实现各种鲜花产品的查询功能。 (3)客户能比较方便地订购鲜花产品。
(4)客户能比较及时了解自己的订单的情况(如何时到货,到货后可以对收到的产品进行评价)。
(5)管理员能比较方便管理所有的订单。
除了以上的基本功能外,本系统的特殊功能主要下几各方面:
在线花店系统是一个相对简单的基本应用系统,主要满足传统的花店运营需要,将自己的销售渠道扩展到网上,通过简单的管理,提供给最终消费者产品的展现、购物、订单处理等以实现鲜花的在线销售。
(1) 鲜花产品选购。可按目录方式查找鲜花种类或通过导航属性进行查询,并
可查看鲜花详细情况。
(2) 订单提交功能。顾客选完商品后,可以进行订购这一交易过程。从顾客方
面说,顾客提交订单后,此网站的网上交易已经完成,应该进入管理者的订单处理过程。
(3) 订单查询功能。管理员可以查询订单和订单的处理情况。顾客提交完订单
后,应该有订单确认的过程。一旦订单得到处理确认,网上交易即告完成。
(4) 用户管理功能。为保证网上交易的安全性,对顾客的身份进行验证和管理
十分必要,因此需要支持用户注册、用户登录、身份验证等。管理员也属于用户一类,成功登录后,可以查看到全部用户的订单情况。
本系统设计时把页面中一些常用的部分集成为模块,例如页面的头部和产品导航模块,这样设计新的页面时如果有重复出现的部分,只需要拿现成的模块嵌套组装就可以了。
3 系统设计
3.1定义
(1) 系统名称:鲜花网上销售系统
(2) 数据库管理软件:Microsoft SQL Server
(3) 数据库设计采用软件:Microsoft Office Visio 2003
(4) 系统采用C/S体系结构:Client (客户端)负责提供表达逻辑、显示用户界面信息、访问数据库服务器;Server (服务器)端用于提供数据服务。 (5) 运行平台:windows 2003
(6) 数据库的安全性设计:登录用户、数据库用户、数据库角色等方面
3.2系统模块图
系统主要分为用户管理模块、用户功能模块和管理员模块三大部分,每一部分又可分为若干功能小模块。将页面中常用的部分设计为页面模块,共享使用。
3.2.1用户管理模块:
用户管理功能包括用户注册、用户登录、身份验证等功能,如图4-1所示。相关功能设计如下:
(1)用户注册和验证
用户注册功能设置在首页中,在用户登录的位置提供一个与注册页面连接的链接。注册时要实现一个用于顾客填写各项注册信息的表单,用户名不能重复。倘若用户名已被使用,则注册失败返回注册页面,重新填写注册信息。倘若注册成功,自动跳转到鲜花浏览页面。对于用户提交的正确注册信息,应该能够存入数据库。
(2)用户登录和验证
对于已注册过的用户须提供用户名和密码才可以登录使用系统的功能。 登录信息输入和信息提交。对用户输入的登录信息进行检查,用户名和密码正确则显示欢迎信息或画面,否则要给出提示信息,以帮助用户确认输入信息是否正确或用户需要注册等。对于成功登录的用户,应开放所有用户购物功能。
图3-1 用户管理模块图
3.2.2用户购物功能模块:
用户购物模块如图4-2所示。相关功能设计如下: (1)商品浏览
首页为顾客提供注册登录信息,还为顾客提供了商品信息的链接。点击链接即可查看商品的详细信息。
(2)订单管理
用户确认商品后,进入填写订单及提交订单过程。包括以下几个基本步骤:进入订单页面,填写订单,提交订单。
3-2 用户购物模块图
3.2.3管理员模块:
对于管理员模块的设计比较简单,只是提供给管理员查询全部订单和修
改鲜花信息的功能,管理员只要登录成功就可以查看到所有用户的订单情况,图4-3为管理员模块。
图3-3 管理员模块图
3.3 E-R图
图3-4 E-R图
3.4数据表的设计
根据上述E-R模型,将之转换为关系模式集: 类型(类型号,类型名,说明)
产品(产品号,产品名,类型号,价格,会员价,说明)
客户(客户号,姓名,地址,联系电话,密码,是否会员,会员号) 职员(职员号,姓名,性别,密码)
订单(订单号,日期,状态,职员号,客户号)
订购(订单号,产品号,数量,价格,要求,评价,回复)
根据上述关系模式集和实际情况,设计数据库物理结构如下所述
表3.1类型表(c_type)
置,类型名称也是用户搜索的关键字,所以要在上面加索引,主键索引也是必须的
表3.2产品表(product)
的数据表,页面上所显示的商品都是从这里读取的。表中P_name存储商品名称,在进行查询语句时经常根据这个字段查询相应的鲜花商品的,所以要加索引。主键外键索引也是必须的
表3.3客户表(client)
时输入,客户号由程序生成;注册时是否会员为N,会员号为空;当该用户一次性购买满200元或累计消费满500后升为会员,会员号同客户号。
表3.4职员表(admin)
更新和订单处理等工作。
表3.5订单表(porder)
的订购表。根据下单的时间、客户号、是否付款以及程序自动生成的订单号在订单表中添加一条记录,职员可以根据状态查找订单,当某职员处理某“已付款”订单时,写入该职员的职员号,并将状态改为“货物已寄出”。客户在收到货物后可以将订单设为“已完成”状态
表3.6订购表(orderlist)
单表中的订单号,购买的每种产品的数量,价格,对产品的要求等信息在订购表中生成若干条订购记录。客户在收到货物后可以在每种产品上加评价,即更新订购表的评价字段。
3.5用例列举 3.5.1数据表
/*创建类型表:*/ create table c_type
(T_id Char(2) primary key , /*主键及主键索引*/ T_name varchar(20) not null, /*非空*/ Memo varchar(200) ) Go
/*在类型表的类型名上创建索引:*/ create index tname on c_type(T_name) go
/*创建产品表:*/ create table product (
P_id Char(4) primary key , /*主键及主键索引*/ P_name varchar(100) not null , /*非空*/
T_id char(2) not null references c_type(T_id), /*非空,外键及外键索引*/
Price Money not null check(Price>=0), /*非空,价格大于等于0*/ M_price Money check(M_price>=0), /*会员价大于等于0*/ Memo varchar(200) ) Go
/*在产品表的产品名上建索引:*/ create index pname on product(P_name) go
/*创建客户表*/ create table client (
C_id char(8) primary key, /*主键及主键索引*/ C_name varchar(40) not null, /*非空*/ C_add varchar(50) not null, /*非空*/ C_phone varchar(40) not null, /*非空*/ C_pass varchar(20) not null, /*非空*/
If_member char(1) not null default 'N' check(If_member='Y' or If_member='N'), /*非空,默认为非会员,取值为‘Y’或‘N’*/
Member_id char(8) ) Go
/*在客户表的会员号上建索引:*/
create index pname on client(Member_id) go
/*创建职员表:*/ create table admin (
U_id char(4) primary key, /*主键及主键索引*/ Name Varchar(10) not null, /*非空*/ gender Varchar(2) not null, /*非空*/ pass varchar(50) not null /*非空*/ ) go
/*创建订单表:*/ create table porder (
O_id char(10) primary key, /*主键及主键索引*/ O_date datetime not null, /*非空*/
Status varchar(20) not null check(Status in ('未付款','已付款','货物已寄出','已完成')) , /*非空,取值为'未付款','已付款','货物已寄出','已完成'之一*/
U_id char(4) references admin(U_id) , /*外键及外键索引*/
C_id char(8) not null references client(C_id) /*非空,外键及外键索引*/ ) go
/*创建订购表:*/ create table orderlist (
O_id char(10) references porder(O_id), /*外键及外键索引*/ P_id Char(4) references product(P_id), /*外键及外键索引*/ quantity int not null check(quantity>0), /*非空,数量大于0*/
Price money not null check(Price>=0), /*非空,价格大于等于0*/ request varchar(200), evaluate varchar(200), reply varchar(200) ,
primary key(O_id,P_id) /*主键及主键索引*/ )
3.5.2视图
(1)创建销售视图
描述:销售视图是由订购表、订单表和产品表导出。 销售(订单号,产品号,数量,客户,价格) create view xiaoshou as
select orderlist.O_id, P_id, quantity, porder.C_id, product.Price
FROM orderlist porder product
WHERE orderlist.O_id= porder.O_id and orderlist.P_id= product.P_id --验证 select * from xiaoshou
(2)创建职员工作视图
描述:职员工作视图是由职员表、客户表和订单表导出。
职员工作(职员号,职员姓名,客户号,客户姓名,订单号,日期) create view zhiyuan as
select admin.U_id, Name, client.C_id, C_name, porder.O_id, O_date FROM admin client porder
WHERE admin.U_id= porder.U_id and client.C_id= porder.C_id --验证 select * from zhiyuan
3.5.3存储过程
客户选购了一个商品:
create proc temp_orderlist_add /*创建存储过程temp_orderlist_add用于实现客户选购商品*/
@oid char(10), /*参数为订单号、产品号、数量、价格、要求*/ @pid char(4), @quantity int, @price money,
@request varchar(200) as
insert into t orderlist values(@oid,@pid,@quantity,@price,@request) /*将客户选购的商品信息写入订购表*/
go
客户从订单中去掉了一个产品:
create proc temp_orderlist_del /*创建存储过程temp_orderlist_del用于实现客户删除选购的商品*/
@oid char(10), /*参数为订单号、产品号*/ @pid char(4) as
delete from orderlist where oid=@oid and pid=@pid /*根据订单号和
产品号从订购表中删除数据*/
go
修改订购的产品的数量和要求:
create proc temp_orderlist_modify /*创建存储过程temp_orderlist_modify用于实现客户修改选购商品的数量、要求等信息*/
@oid char(10), /*参数为订单号、产品号、数量、要求*/ @pid char(4), @quantity int,
@request varchar(200) as
update orderlist set Quantity=@quantity , Request=@request where oid=@oid and pid=@pid /*根据订单号、产品号更新该产品的订购数量和要求*/
4 总结
在系统的设计开发过程中,我注重了科学的系统设计思路,在总体设计上,采用了模块化和分层的设计思想,使整个系统流程清晰、逻辑合理,为系统的实现创造了良好的条件,也为日后系统的维护和更新提供了便捷。
本次实训重点讨论了系统的数据准备、数据库逻辑结构分析、ASP与后台数据库链接等关键技术。这些技术的实现,满足了系统的需要,优化了系统的性能。不过这次的系统是一个普通的中小型网上购物系统,因此采用ASP技术来实现电子商务网站,选择了SQL Server作为后台数据库,使其具有简便、快捷的优点。加ASP.NET的方法可能就更适合系统的开发。
由于本系统的设计是建立在设计基本要求的基础上的,所以该系统作为一个简单的通用在线花店网站,具备的功能还不够完善,有很多可以扩充和完善的地方,总结出来主要有以下几点:
(1)鲜花信息管理功能设计中只是简单完成了鲜花的名称、颜色、价格,并没有形象地给客户展现鲜花的图片。
(2)面向用户的功能还不够完善。系统在设计时只是考虑了用户可以查看鲜花信息,填写、提交订单管理功能,而要达到一个优秀的购物网站仅仅有这点是远远不够的,还需要让用户有更多的功能来对自己的订单进行操作。
在今后的工作里,以上提到的功能与技术还需要加以提高和实现。在实际中,可以根据商家的具体要求进行扩展。
本次设计就是对上面的一些内容思考的还不够多,而这些却是一个成功的网上购物系统需要综合考虑的重要因素。因此,对于网上购物系统仍有继续开发研究的空间。
5 参考文献
[1] SQL Server 2000 [Z].http://www.microsoft.com/china/sql/default.mspx [2] 李存斌.数据库应用技术-SQL Server 2008简明教程[M].北京:中国水利水电出版社,2001.25~35
[3] 庞山山,刘静.基于多角色的登录模块设计和实现[J].科技信息,2011年31期.201~202
附录:读书笔记
鲜花网上销售系统
本例的任务是创建一个鲜花网上销售系统上网站。在设计电子商务网站时需要考虑如下内容:
(1)如何选用数据库,数据库怎样设计。
我们选择SQL SERVER作为电子商务网站的后台数据库。在实际开发应用程序时,选用何种数据库主要看网站的规模。小规模的网站可使用ACCESS数据库,大中型的可以使用SQL SERVER数据库。
(2)如何进行鲜花导购。简单的方式就是向用户展示鲜花信息,如何让用户很容易的找到喜爱的鲜花。我们提供了搜索方式和分类导航。
(3)如何管理网站用户,如何分配用户的操作权限。我们采用注册会员的管理方式。对不同身份的人提供不同的服务。
(4)如何处理和管理用户的购物数据。我们将用户尚未确定的购花数据存放在购物袋文件的隐藏表单控件中,只有确定购买的书才会向服务器提交这些数据并写入数据库。
这个实训的制作过程比较复杂,在具体操作前需要能对在线购物部分的体系结构和工作流程有一个比较全面的认识。在具体操作前应掌握以下几点:
SQL SERVER 数据库的创建方法; SQL SERVER 数据库关系图的创建方法; ASP与SQL SERVER数据库的连接方法; ASP的相关编程技巧。