一、需求分析

1.1 背景

1.1背景
随着互联网技术的发展,电商市场已经进行的如火如茶,网上购物已经是趋势
网上很多销售商不方便对市场的需求进行调查.对自己所卖的商品不能及时地了解相关信息.获利没有达到最大限度:当购物者需要买自己所需的商品时,需要浪费很多的财力和物力。在中国电商行业飞速发展的今天。互联网成为人们快速获取、发布和传递信息的重要柒道。网上购物系统的开发可以提供更多的便利.网上购物弥补了传统购物的一些局限性。而且这对于管理人员来说,利用购物系统能轻松地管理大量的商品,而且可以通过系统查看各种商品的销售状况,通过各种数据能够及时地知道那种商品正在热实。而那些商品属于冷门地。从而在运营上进行调整,更好地管理好商店。从而达到更多的销售业绩

我设计的网上购物系统的数据库开发存储,其可以存储销售商需要卖出的商品信息用户的所有信息.方便用户根据自己的喜好,浏览自己喜欢的东西.若要想购买商品,通过往册成为会员进行购买,登陆后就可以购物了。商店的各种商品都进行了详细地分类,可以轻松地找到想要的商品,同时查找系统能很容易地找到相关的商品。同时买到自己喜欢的东西后就可以去结算.通过填写自己的相关信息,以便下订单,从而完成购物的流程。
现在准备建立网上购物系统。要把销售商的商品、会员的信息、会员购买商品的记录等基本信息进行管理。确保有足够的安全性。以便网上购物系统可以进行推广,让更多的销售商和购物者认为网上购物系统非常实惠便利的.是一个对非常有用的购物系统.

1.2 数据需求

初次登陆的用户可以进行注册成为本站会员,登陆成功后可以按照商品的分类进行查看商品。或按照自己的需求搜索商品,并查看其详细资料.销售商可以提供自己销售的商品的详细信息,并可以进行修改。以便让用户可以查看商品的信息。
当用户确认购买的商品后,在付款成功的条件下。销售商就立即给会员邮寄商品,等待会员查收。会员收到自己的购买的商品后。交易成功。

数据需求:

数据名称数据类型长度列名
会员编号字符型10会员的编号
姓名文本型20会员的姓名
密码字符型20会员的密码
电话文本型12会员的电话
地址文本型80会员的地址
商品编号字符型10商品的编号
商品组编号字符型10商品的类型
名称文本型20商品的名称
价格字符型6商品的价格
商品数量字符型10购买商品的数量
购物车编号字符型10购物车的编号
订单编号字符型10购物时生成的编号
订单日期时间型10购买商品的时间
最后总价整型6购买商品的总价格
管理员编号字符型10管理员的编号
管理员姓名文本型20管理员的姓名
管理员密码字符型20管理员的密码
联系电话文本型12管理员的联系电话
商品组名称文本型20商品组的名称
描述文本型80商品组的具体描述
权限编号字符型10权限的编号
权限名称文本型20权限的名称
描述文本型80权限具体描述

数据结构:

数据结构名说明组成
会员记录会员的基本信息会员编号、姓名、密码、电话、地址
商品记录销售商提供的商品信息商品编号、商品组编号、名称、价格、简介
订单记录会员的购物信息会员编号、商品编号、订单编号、订单日期、最后总价
购物车存放会员需要购买的商品会员编号、商品编号、购物车编号、商品数量
管理员记录管理员的基本信息管理员编号、管理员姓名、密码、联系电话
商品组记录商品的类型商品组编号、商品组名称、管理员编号、描述
管理员权限记录管理员的基本信息管理员编号、权限编号
权限记录本系统的各类权限权限编号、权限名称、描述

1.3 事物需求

(1)在注册会员信息管理部分。要求:
a可以查看注册会员信息。
b.可以对注册会员信息进行添加及删除的操作。
(2)在商品信息管理部分。要求:
a可以浏览商品信息。
b.可以对商品信息进行维护,包括添加及删除的操作。
(3)在购物车信息管理部分,要求:.
a可以浏览购物车信息。
b.可以对购物车信息进行维护,包括添加及删除的操作。
(4)在订单信息管理部分,要求:
a可以浏览订单信息。
b.可以对订单信息进行维护,包括添加及删除的操作。
(5)在管理员信息管理部分。要求:
a可以浏览管理员信息
b.对管理员信息进行维护,包括添加及删除的操作。
(6)在商品组信息管理部分,要求:
a显示当前商品组信息。
b.对商品组信息进行维护操作,包括添加及删除的操作。
(7)在管理员一权限管理部分:要求:
a可以浏览管理员与其对应的管理权限。
b.对管理员一权限信息进行更新。
(8)在权限信息管理部分,要求:
a可以浏览相关的管理权限。
b.对权限信息进行更新。

1.4 数据流程图

2概念结构设计
3逻辑结构设计

3.1关系模式
(1)会员注册信息(会员编号,姓名,密码,电话,地址)
(2)商品具体信息(商品编号,商品组编号,名称,价格,简介
(3)购物车信息(会员编号,商品编号,商品数量,购物车编号)
(4)订单信息(会员编号,商品编号,订单编号,订单日期,最后总价)
(5)管理员信息(管理员编号,管理员姓名,密码,联系电话)
(6)商品组信息(商品组编号,商品组名称,管理员编号,描述)
(7)管理员一权限信息(管理员编号:权限编号)
(8)权限信息(权限编号,权限名称,描述)

二、概念结构设计

2.1 E-R图

网上购物系统可以划分的实体有:注册会员信息实体、商品信息实体、商品组信息实体、管理员信息实体,购物车信息实体.订单信息实体。管理员一权限信息实体,权限信息实体。用B-R图一一描述这些实体。
2.1.1注册会员信息实体E-R图:
在这里插入图片描述
2.1.2商品信息实体E-R图:
在这里插入图片描述
2.1.3商品组信息实体E-R图:
在这里插入图片描述
2.1.4管理员信息实体E-R图:

在这里插入图片描述
2.1.5购物车信息实体E-R图:
在这里插入图片描述
2.1.6订单信息实体E-R图:
在这里插入图片描述
2.1.7管理员权限信息实体E-R图:
在这里插入图片描述
2.1.8权限信息实体E-R图:
在这里插入图片描述
2.1.9信息实体E-R图:
在这里插入图片描述

三、关系模式

3.2 数据逻辑结构

本站会员注册信息表:

列名数据类型长度说明是否为空
会员编号字符型10会员的编号主键,非空
姓名文本型20会员的姓名非空
密码字符型20会员的密码非空
电话文本型12会员的电话
地址文本型50会员的地址

本站商品具体信息表:

列名数据类型长度说明是否为空
商品编号字符型10商品的编号主键,非空
商品组编号字符型10商品的类型非空
名称文本型20商品的名称非空
价格整型6商品的价格非空
简介文本型800商品的简介

购物车信息表:

列名数据类型长度说明是否为空
会员编号字符型10会员的编号非空
商品编号字符型10商品的编号非空
商品编数量整型10购买商品的数量非空
购物车编号字符型10购物车的编号主键,非空

订单信息表:

列名数据类型长度说明是否为空
会员编号字符型10会员的编号非空
商品编号字符型10商品的编号非空
订单编号字符型10购物时生成的订单主键,非空
订单日期时间型10购买商品的时间非空
最后总价整型6购买商品的总价格非空

管理员信息表:

列名数据类型长度说明是否为空
管理员编号字符型10管理员的编号主键,非空
管理员姓名文本型20管理员的姓名非空
密码字符型20管理员的密码非空
联系电话字符型12管理员的联系电话非空

商品组信息表:

列名数据类型长度说明是否为空
商品组编号字符型10商品组的编号主键,非空
商品组名称文本型20商品组的姓名非空
管理员编号字符型10管理员的编号非空
描述文本型50商品的具体情况

管理员权限信息表:

列名数据类型长度说明是否为空
管理员编号字符型10管理员的编号主键,非空
权限编号字符型10权限的编号非空

权限信息表:

列名数据类型长度说明是否为空
权限编号字符型10权限的编号主键,非空
权限名称文本型20权限的姓名非空
描述文本型80权限的描述非空

四、物理结构设计

4.1 建立一个数据库

建立一个数据库: webshops

4.2 建立八张表

会员注册信息表、商品具体信息表、购物车信息表、订单信息表、管理员信息表、商品组信息表、管理员权限信息表、权限信息表;

4.3 建立表的连接

在每张表之间建立相应的连接,每张表中建立设置相应的主键和外码,并且有些表中可能有相应的字段不能为空。
(1)会员注册信息表:会员编号为主码。
(2)商品具体信息:商品编号为主码。
(3)购物车信息:购物车编号为主码.
(4)订单信息:订单编号为主码.
(5)管理员僧息:管理员编号为主码。
(6)商品组信息:商品组编号为主码。
(7)管理员一权限信息:管理员编号,权限编号均为主码
(8)权限信息:权限编号为主码。

五、系统功能的实现

5.1 数据库建立

创建数据库:

CREATE DATABASE webshops
ON
 ( NAME = webshops,
   FILENAME = 'd:\webshops.mdf',
 SIZE= 10,
 MAXSIZE= 50,
 FILEGROWTH= 5 )
      LOG ON
 ( NAME =webshop ,
 FILENAME = 'd:\webshops.ldf',
 SIZE = 5MB,MAXSIZE = 25MB,
 FILEGROWTH= 5MB)

5.2 创建立数据表

//会员注册信息表
create table 会员注册信息表(
会员编号   char(10)   not null primary key,
姓名      text       not null,
密码      char(20)   not null,
电话      text       null, 
地址      text       null, 
)

//商品信息表
create table 商品信息表(
商品编号     char(10)    not null,
商品组编号   char(10)    not null,
名称        text        not null,
价格        int         null, 
简介        text        null, 
)

//购物车信息表
 create table 购物车信息表(
购物车编号   char(10)  not null primary key,
会员编号     char(10)  not null,
商品编号     char(10)  not null,
商品数量     int       null, 
)

//订单信息表
create table 订单信息表(
订单编号   char (10)      not null  primary key,
会员编号    char (10)     not null,
商品编号     char (10)    not null,
订单日期     datetime     not null,
最后总价     int          not null,
)

//管理员信息表
create table 管理员信息表(
管理员编号   char(10)    not null primary key,
管理员姓名    text       not null,
密码         char(20)   not null,
联系电话     text       null,  
)

// 商品组信息表
create table 商品组信息表(
商品组编号    char(10)       not null primary key,
商品组名称    text           not null,
管理员编号    char(10)       not null,
描述         text           null,
)

// 管理员权限信息表
create table 管理员权限信息表(
管理员编号    char(10)      not null primary key,
权限编号    char(10)        not null,         
)


//权限信息表
create table 权限信息表(
权限编号   char(10)   not null primary key,
权限名称   text       null,
描述       text      not null,
)

5.3 建立表连接

建立各表之间的联系:

alter table 订单信息表
add constraint FK_订单信息表_REFRENCE_会员注册信息表 foreign key (会员编号)
references 会员注册信息表(会员编号)

alter table 订单信息表
add constraint FK_订单信息表_REFRENCE_商品信息表 foreign key (商品编号)
references 商品信息表(商品编号)

alter table 购物车信息表
add constraint FK_购物车信息表_REFRENCE_会员注册信息表 foreign key (会员编号)
references 会员注册信息表 (会员编号)

alter table 购物车信息表
add constraint FK_购物车信息表_REFRENCE_商品信息表 foreign key (商品编号)
references 商品信息表(商品编号)

alter table 商品组信息表
add constraint FK_商品组信息表_REFRENCE_管理员信息表 foreign key (管理员编号)
references 管理员信息表(管理员编号)

alter table 商品信息表
add constraint FK_商品信息表_REFRENCE_商品组信息表 foreign key (商品组编号)
references 商品组信息表(商品组编号)

alter table 管理员权限信息表
add constraint FK_管理员权限信息_REFRENCE_权限信息表 foreign key (权限编号)
references 权限信息表(权限编号)

alter table 管理员权限信息表
add constraint FK_管理员权限信息_REFRENCE_管理员信息表 foreign key (管理员编号)
references 管理员信息表 (管理员编号)


5.4 数据初始

5.4.1 管理員初姶化

添加数据:

insert into 管理员信息表(管理员编号,管理员姓名,密码,联系电话)values ('11001 ' ,'张三','zhangsan ' ,'1212121211')

insert into 管理员信息表(管理员编号,管理员姓名,密码,联系电话)values ('11002','李四','lisi' ,'1212121212')

insert into 管理员信息表(管理员编号,管理员姓名,密码,联系电话)values ('11003' ,'王五','wangwu'  ,'1212121213')

5.4.2添加商品組信息

insert into 商品组信息表(商品组编号,商品组名称,管理员编号,描述) values('001','女装','11001','女性')
insert into 商品组信息表(商品组编号,商品组名称,管理员编号,描述) values('002','男装','11002','男性')
insert into 商品组信息表(商品组编号,商品组名称,管理员编号,描述) values('003','童装','11001','儿童')
insert into 商品组信息表(商品组编号,商品组名称,管理员编号,描述) values('004','零食','11002','美食')
insert into 商品组信息表(商品组编号,商品组名称,管理员编号,描述) values('005','苹果','11002','水果')
insert into 商品组信息表(商品组编号,商品组名称,管理员编号,描述) values('006','数码装','11003','国产')
insert into 商品组信息表(商品组编号,商品组名称,管理员编号,描述) values('007','灯品','11003','装饰')
insert into 商品组信息表(商品组编号,商品组名称,管理员编号,描述) values('008','汉服','11001','古风')
insert into 商品组信息表(商品组编号,商品组名称,管理员编号,描述) values('009','卡地亚','11002','珠宝')
insert into 商品组信息表(商品组编号,商品组名称,管理员编号,描述) values('010','欧米茄','11001','名表')
insert into 商品组信息表(商品组编号,商品组名称,管理员编号,描述) values('011','兰蔻','11002','美妆')
insert into 商品组信息表(商品组编号,商品组名称,管理员编号,描述) values('012','阿迪达斯','11002','球具')
insert into 商品组信息表(商品组编号,商品组名称,管理员编号,描述) values('013','普拉达','11003','眼镜')
insert into 商品组信息表(商品组编号,商品组名称,管理员编号,描述) values('014','帕克','11003','名笔')

5.4.3 在各商品組加入商品

insert into 商品信息表(商品编号,商品组编号,名称,价格,简介)values('01001','004','老干妈','10','来自中国')
insert into 商品信息表(商品编号,商品组编号,名称,价格,简介)values('01002','004','方便面','10','来自中国')
insert into 商品信息表(商品编号,商品组编号,名称,价格,简介)values('02001','006','小米','2999','来自中国')
insert into 商品信息表(商品编号,商品组编号,名称,价格,简介)values('02002','006','华为Pro30','2999','来自中国')
insert into 商品信息表(商品编号,商品组编号,名称,价格,简介)values('02003','002','老干妈','10','来自中国')
insert into 商品信息表(商品编号,商品组编号,名称,价格,简介)values('03001','001','波司登','780','来自外国')
insert into 商品信息表(商品编号,商品组编号,名称,价格,简介)values('03002','001','cercle','1520','来自中国')
insert into 商品信息表(商品编号,商品组编号,名称,价格,简介)values('04001','004','饼干','10','未知')
insert into 商品信息表(商品编号,商品组编号,名称,价格,简介)values('05001','005','牛油果','30','来自墨西哥')
insert into 商品信息表(商品编号,商品组编号,名称,价格,简介)values('05002','005','车厘子','80','来自美国')
insert into 商品信息表(商品编号,商品组编号,名称,价格,简介)values('06001','006','窗帘','998','来自中国')
insert into 商品信息表(商品编号,商品组编号,名称,价格,简介)values('07001','002','海澜之家','798','来自中国')
insert into 商品信息表(商品编号,商品组编号,名称,价格,简介)values('08001','003','儿童之家','589','来自中国')
insert into 商品信息表(商品编号,商品组编号,名称,价格,简介)values('010011','004','麻辣烫','20','来自中国')
insert into 商品信息表(商品编号,商品组编号,名称,价格,简介)values('010021','004','陕西馍','10','来自中国')
insert into 商品信息表(商品编号,商品组编号,名称,价格,简介)values('020011','006','OPPO Reno','2999','来自中国')
insert into 商品信息表(商品编号,商品组编号,名称,价格,简介)values('020021','006','一加','2999','来自中国')
insert into 商品信息表(商品编号,商品组编号,名称,价格,简介)values('020031','002','橄榄菜','10','来自中国')
insert into 商品信息表(商品编号,商品组编号,名称,价格,简介)values('030011','010','欧家','780','来自外国')
insert into 商品信息表(商品编号,商品组编号,名称,价格,简介)values('030021','0010','罗宾尼','1100','来自外国')
insert into 商品信息表(商品编号,商品组编号,名称,价格,简介)values('040011','004','比利时饼干','30','比利时')
insert into 商品信息表(商品编号,商品组编号,名称,价格,简介)values('050011','005','青芒','30','来自越南')
insert into 商品信息表(商品编号,商品组编号,名称,价格,简介)values('050021','005','靑椰','80','来自中国')
insert into 商品信息表(商品编号,商品组编号,名称,价格,简介)values('060011','006','床帘','998','来自中国')

5.4.4添加注册会員信息

insert into 会员注册信息表(会员编号,姓名,密码,电话,地址)values('09002','李刚','223456','13029579891','南京')
insert into 会员注册信息表(会员编号,姓名,密码,电话,地址)values('09003','陈明','323456','13019579891','上海')
insert into 会员注册信息表(会员编号,姓名,密码,电话,地址)values('09004','陈志','423456','13719579891','天津')
insert into 会员注册信息表(会员编号,姓名,密码,电话,地址)values('09005','张力','523456','13729579891','深圳')
insert into 会员注册信息表(会员编号,姓名,密码,电话,地址)values('09006','王华','623456','13569579891','广州')
insert into 会员注册信息表(会员编号,姓名,密码,电话,地址)values('09007','洪溪','723456','13579579891','重庆')
insert into 会员注册信息表(会员编号,姓名,密码,电话,地址)values('09008','邓敏','823456','13589579891','成都')     

5.4.5添加购物车信息

insert into 购物车信息表(购物车编号,会员编号,商品编号,商品数量)values('111001','09001','03001',1)
insert into 购物车信息表(购物车编号,会员编号,商品编号,商品数量)values('111002','09002','05001',3)       
insert into 购物车信息表(购物车编号,会员编号,商品编号,商品数量)values('111003','09004','06001',2)
insert into 购物车信息表(购物车编号,会员编号,商品编号,商品数量)values('111004','09005','07001',1)

5.4.6 添加枚限信息

insert into 权限信息表(权限编号,权限名称,描述)values('989810','普通店小二李子','可以添加删除或者修改自己名下的商品信息')

5.4.7 添加管理员权限信息

insert into 管理员权限信息表(管理员编号,权限编号)values('11001','6859601') 
insert into 管理员权限信息表(管理员编号,权限编号)values('11002','6859602') 
insert into 管理员权限信息表(管理员编号,权限编号)values('11003','6859603') 

5.5 查询

5.5.1 查询本站有哪些种类的商品

//查询所有 商品组的信息
select * from商品组信息表 

//查询所有 商品的信息
select * from商品信息表  

5.5.2 建立商品视图

CREATE VIEW 商品
AS
SELECT 商品编号,商品组编号,名称,价格,简介,描述
FROM 商品组信息表,商品信息表 WHERE a.商品组编号=b.商品组编号

5.5.3 会员注册

某用户可以在系统中注册成为会员,以会员编号“09001”、姓名“李明”、密码“123456”、电话“1382957989”、 地址“北京”为例,注册为会员,在后台需要执行的SQL语句是:

insert into 会员注册信息表(会员编号,姓名,密码,电话,地址)values('09001','李子','123456','135XXXXXXXX','广州')

5.5.4 会员修改信息

在本系统中注册的会员可以修改自己的信息,例如将会员编号为“09001的会员的密码,电话,地址分别修改为“123457”,“13596632356”,“广东省、珠海市”,

update 会员注册信息表 set 密码='123457',电话='135XXXXXXXX',地址='广东省、广州市' where 会员编号='09001'

5.5.5 会员查看购物车信息

在本系统中注册的会员可以查看自己的购物车的信息, 例如会员编号为“09002的会,员查看自己的购物车

select * from 购物车信息表 where 会员编号='09002'

5.5.6 会员查看订单信息

在本系统中注册的会员可以查看自己的订单信息,例如会员编号为“09003”的会员查,看自己订单

select * from 订单信息表 where 会员编号='09003'

5.5.7 添加商品信息

管理员可以根据购物者的需求,添加自己管理的商品信息,以便购物者可以买到自己喜欢的商品,例如管理员添加商品编号“06002”、类型“数码”、名称“台灯”、价格“289”、简介“产于广州,可以根据实际需要调节灯的亮度,是学生的好助手,它有利于保护学生的眼睛”的商品。

insert into 商品信息表(商品编号,商品组编号,名称,价格,简介) 
values('06002','006','智能灯','75','产于美国,大学生智能电灯,可以自动要调节灯的亮度,它有利于学生学习,并且保护学生的眼睛')
select * from 商品  

5.5.7 删除商品信息

管理员可以删除自己没有盈利的商品的信息,如管理员删除商品编号“04001”的商品

delete from 商品信息表 where 商品编号='04001'

5.5.8 搜索商品信息

会员在本系统中可以根据自己的需要,分类搜索自己所需的商品,例如某会员需查看一个服饰类的商品

select * from 商品 where 商品组名称 LIKE '女装'or 商品组名称 LIKE '男装'

5.5.9 生成订单信息

会员在本系统中选购完成之后生成订单时,订单的最后总价等于商品价格加上运费价格,运费统一为15元。
订单信息表

for insert
AS BEGIN
UPDATE订单
set最后总价=价格+15
where订单编号IN (SELECT 订单编号 from INSERTED)
END

1、首先生成订单视图

CREATE VIEW 订单
AS 会员编号,a.商品编号,最后总价,价格,订单日期 SELECT订单编号
FROM 订单信息表a,商品信息表b
WHERE a.商品编号=b.商品编号

2、建立触发器:

CREATE TRIGGER Insert 订单
ON

3、生成订单

insert into 订单信息表(订单编号,会员编号,商品编号,订单日期,最后总价)values('101001','09001','07001','2019-06- 26 23:09:00',0)
 insert into 订单信息表(订单编号,会员编号,商品编号,订单日期,最后总价)values('101002','08001','06001','2019-06-26 :22:00:01',2)

4、查看订单

select * from订单
 

下载地址:

更新链接:https://pan.baidu.com/s/1GypVfSMQCdKxCQaWTWF6Sw
提取码:sB8u

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐