您好,欢迎来到纷纭教育。
搜索
您的当前位置:首页数据库课程设计-网络商理系统

数据库课程设计-网络商理系统

来源:纷纭教育
70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

数据库技术与应用 课程设计报告

学 部: 计算机学部 专业名称: 计算机科学与技术

班 级: 计科0901 设计题目: 网络商理系统 学生姓名: 彭果 李井军

指导教师: 李军 时 间: 2011-12-21

分 数:

1

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

摘 要

随着IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,网络化的迅速普及以及它的强大功能,在广阔的Internet网络中有各种各样的电子商城,它可以让我们足不出户借助网络轻轻的点击鼠标即可以实现购物、查询商品以及相关信息。网上购物也已经成为一种主流。

网上商城不需要商店的租赁费,新的商品可以以最快的速度吸引到顾客的眼球。网上商城为商家节约了大量的运输费用,场地租赁费等额外成本,同时也为顾客带来了无穷的方便性,因为顾客不再需要出门便可以购买到自己想要的商品。廉价的网络资源成本使得网络商城成本低廉,庞大的互联网络带来了无限的市场,给商家和买家带来了庞大的利益和无限的需求。

本文采用自上而下地总体规划,自下而上地应用开发的策略开发一个网络购物商城的过程。通过后台的管理能够更加方便地管理整个商城的运转,省去了一大笔人力以及物力。文中详细介绍了整个商理系统的开发流程,包括可行性分析、需求分析、概念设计、逻辑结构设计、物理设计以及后期的运行与维护等等。系统采用MVC设计模式,使用当前最流行的Struts2+Spring3+Hibernate框架进行开发,在前台用JSP页面进行开发和管理用户界面,利用轻巧的JavaScript库-jQuery处理页面的JavaScript脚本,使开发更加的高效、提示信息更加的完善、界面更加友好,并且有较强的亲和力。

关键词:购物;网络商城;商品;数据库

1

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

目 录

摘 要 .................................................................................................................... 1 第一章 可行性分析 ........................................................................................... 1 1.1引言 .............................................................................................................. 1

1.1.1编写目的 .......................................................................................................... 1 1.1.2项目背景 .......................................................................................................... 1

1.2 可行性研究的前提 ..................................................................................... 2

1.2.1条件假定和 ...................................................................................................... 2

1.3 技术可行性分析 ................................................................................................ 2

1.3.1技术的支持能力 ...................................................................................................... 2 1.3.2技术的优势 .............................................................................................................. 2 1.3.3技术的难点 ............................................................................................................ 3

1.4 经济可行性分析 ................................................................................................. 3

1.4.1投资 ........................................................................................................................ 3 1.4.2效益 .......................................................................................................................... 3

1.5 社会可行性分析 ................................................................................................. 4

1.5.1法律因素 .................................................................................................................. 4 1.5.2用户可行性 .............................................................................................................. 4

1.6 结论意见 ............................................................................................................ 4 第二章 需求分析........................................................................................................ 5 2.1 概述 ..................................................................................................................... 5

2.1.1 编写目的 ................................................................................................................. 5 2.1.2 项目范围 ................................................................................................................. 5 2.1.3 运行环境 ................................................................................................................. 5

2.2 需求分析 ............................................................................................................. 5

2.2.1 功能划分 ................................................................................................................. 5 2.2.2 功能需求 ................................................................................................................. 6

2.3 数据流图 ............................................................................................................. 6

2.3.1 系统顶层图 ............................................................................................................. 6

1

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

2.3.2 一层分解图 ............................................................................................................. 7 2.3.3 二层分解图 ............................................................................................................. 8

2.4 数据字典 ........................................................................................................... 10

2.4.1数据流条目 ............................................................................................................ 10 2.4.2 数据项条目 ......................................................................................................... 12 2.4.3 加工条目 ............................................................................................................... 13

第三章 概念设计...................................................................................................... 15 3.1实体之间的联系 ................................................................................................ 15 3.2 E-R图.................................................................................................................. 15

3.2.1 局部E-R图 ............................................................................................................ 15 3.2.2 系统全局E-R图 .................................................................................................... 17

第四章 逻辑结构设计.............................................................................................. 18 4.1 关系模型的设计依据 ....................................................................................... 18 4.1 实体间联系转化的关系模式 ........................................................................... 18 4.2 关系模型的优化 ............................................................................................. 20

4.2.1 确定范式级别 ....................................................................................................... 20 4.2.2 实施规范化处理 ................................................................................................... 20

第五章 物理结构设计.............................................................................................. 21 5.1 创建数据库及数据表 ....................................................................................... 21 5.2 数据的存放位置设计 ..................................................................................... 23 第六章 运行与维护.................................................................................................. 24 6.1 项目运行界面 ................................................................................................. 24 6.2 数据库初始化代码 ......................................................................................... 31 6.3 项目架构图示 ................................................................................................. 39 总 结.......................................................................................................................... 40 参 考 文 献................................................................................................................ 41

2

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

第一章 可行性分析

1.1引言

1.1.1编写目的

可行性研究的目的是用最小的代价在尽可能短的时间内确定该数据库系统

是否可能开发,是否值得开发,是否可以开发。

经过对此项目进行详细的调查研究,初拟系统现实报告,对软件开发只不过将要面临的问题及其解决方案进行初步设计及合理安排。明确开发风险及其所带来的经济效益。 1.1.2项目背景

本项目作为《数据库设计与应用》课程的实习项目提出,希望通过网上商城信息系统的分析与设计,切实领会系统分析、系统设计和实施各个阶段的要点;掌握基本的信息系统的开发方法以及体会基于B/S结构的信息管理系统设计。 ● 所建议开发项目的名称 : 网络商城。

● 所建议开发项目的任务提出者: 计算机科学与技术学院李军老师 ● 所建议开发项目的开发者:

计算机科学与技术学院09级0901班李井军、彭果 ● 所建议开发项目的开发、测试及使用平台: WINDOWS 7。

● 所建议开发项目的开发软件:

MyEclipse 8.6企业版,Tomcat7.0,SQL Server2005企业版,JDK1.6。 ● 所建议开发项目的建模工具:PowerDesinger 15。

1

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

1.2 可行性研究的前提

1.2.1条件假定和 建议软件寿命:未知。 经费来源:无。

硬件条件:Intel Pentium 4、2G内存同等性能及以上的硬件条件。 运行环境:Window 2003/XP。 数据库:Microsoft SQL server2005。 投入运行最迟时间:2012年1月2日。

1.3 技术可行性分析

1.3.1技术的支持能力

本系统采用MVC设计模式,使用当前最流行的Struts2+Spring3+Hibernate框架进行开发,在前台用JSP页面进行开发和管理用户界面,利用轻巧的JavaScript库-jQuery处理页面的JavaScript脚本,使开发更加的高效、提示信息更加的完善、界面更加友好,并且有较强的亲和力。后台采用微软的SQLServer2005数据库。本系统采用的技术和开发环境在实际中应用非常广泛,充分说明本系统在技术方面的可行性。

此前,我们已使用相同技术开发过类似软件系统,具有一定开发经验。此外,从开发人员的水平考虑,本系统的2名开发人员,具有较强软件开发能力,且之前开发参加过类似软件系统的开发,经验丰富。 1.3.2技术的优势

1.B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。 2.J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用

2

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

性、高可靠性以及可扩展性的应用的需求。 3.开发效率、代码重用率高。 4.跨平台,编写一次,随处运行。 1.3.3技术的难点

1.考虑系统的高并发问题。 2.系统安全性问题。

1.4 经济可行性分析

1.4.1投资

1.基础投资

计算机 10台总记8万,服务器 4台 总记20万,数据通讯设备5万元,安全与保密设备1万元,操作系统,应用软件和数据库管理软件0.4万元。所以总基建投资需要 34.4万元。 2.经常性支出

对服务器定期更新和维护,1000元一个月,宽带网络1万元一年, 2个管理员每月2000元/个,公司人员如果需要进行自己维护,员工维护培训费用。 1.4.2效益 1.经常性收益

(1)提高商理效率的时间收益。

(2)因网上购物替代传统购物模式,而减少通讯等的经费损失 5万/年。 总结:收益/投资比:按5年算,140万/.4万,收益远远大于投资。

3

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

1.5 社会可行性分析

1.5.1法律因素

1.所有软件都选用正版。 2.所有技术资料都由提出方保管。 3.合同制定确定违约责任。 1.5.2用户可行性

使用本系统人员要求有一定计算机基础的人员,系统管理员要求有计算机的专业知识,所有人员都要经过一定的指导.管理人员也需经一般培训.经过培训人员将会熟练使用本系统。

系统管理员将进行专业培训,他们将熟练管理本系统。

1.6 结论意见

由于投资效益比远大于支出, 技术、经济、操作都有可行性,可以马上进行开发。

4

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

第二章 需求分析

2.1 概述

2.1.1 编写目的

本文档由彭果、李井军小组共同编写。本需求分析目的在于明确说明本系统需求,界定系统实现功能的范围,指导系统设计以及编码。并且下阶段的设计、开发提供依据,为项目组成员对需求的详尽理解,以及在开发开发过程中的协同工作提供强有力的保证。

本文档的读者为项目组的全体开发人员。 2.1.2 项目范围

本商城系统包括:商品管理、会员管理、购物管理、订单管理等模块。 2.1.3 运行环境

系统所需运行环境如下:

表2-1 软件环境

操作系统 数据库平台 运行平台 名称 Windows SQL Server Tomcat 版本 7 2005 6.0 语种 简体中文 简体中文 简体中文 2.2 需求分析

2.2.1 功能划分 1.前台展示模块: 商品分类检索

5

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

用户登录与注册 购物车 订单生成 订单查询 2.后台管理模块: 管理员管理 商品类别管理 商品管理 会员管理 处理订单 2.2.2 功能需求

后台管理员分为系统管理员、货物管理员两种。

1.系统管理员:系统管理员可以对所有管理员进行管理,可以添加删除管理员资料,赋予权限等等。

2.货物管理员:货物管理员能够对所有的商品信息、商品类别进行增删改。

2.3 数据流图

2.3.1 系统顶层图

管理员输入帐号密码后进入管理系统,系统对管理员身份进行判断后会显示相应权限的模块,系统会根据要求进行数据读取。数据包括商品信息,商品类别信息,订单信息等等。具体流程如下图所示:

6

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

图2.1 系统顶层图

2.3.2 一层分解图

根据管理员不同的权限可以控制相应权限的模块,响应的模块会产生相应的

数据流在模块与数据库之间进行交互。具体流程如下图所示:

图2.2 系统一层分解图

7

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

2.3.3 二层分解图

1.管理员信息管理

系统管理员可以查询与新增管理员,查询到管理员后可以进行信息的修改,新增和修改后的管理员信息会更新管理员信息库。具体流程如下图所示:

图2.3 管理员信息管理分解图

2.用户信息管理

系统管理员可以先从用户信息库按照相应条件读取用户的信息,然后在模块中对用户信息进行修改,然后再更新用户信息库。具体流程如下图所示:

图2.4 用户信息管理分解

8

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

3.商品管理

管理员先可以从商品类别库或者商品信息库中按照相应条件读取到商品的类别信息和商品信息,然后再在相应模块中对类别或者商品进行增加、修改和删除,最后再提交并且更新商品类别信息库或者商品信息库。具体流程如下图所示:

图2.5 商品管理分解图

4.订单管理

管理员先从订单信息库中按照相应条件读取到订单信息,然后在订单管理模块中对订单进行修改,修改后更新订单信息库。具体流程如下图所示:

图2.6 订单管理分解图

9

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

2.4 数据字典

2.4.1数据流条目 主要的数据流条目如下:

表2.1 管理员登录信息数据流

编号 简述 去向 组成

F1 数据流名称 管理员登陆信息 管理员在登陆时输入的账号、密码和验证码 登陆管理 用户名+密码+验证码 表2.2 管理员登录错误信息数据流

编号 简述 去向 组成 F2 数据流名称 登陆错误信息 用户名或密码错误后返回给用户的信息 管理员 错误信息 表2.3 管理员信息数据流

编号 简述 去向 组成

F3 数据流名称 管理员信息 管理员信息库发出的管理员信息 登陆管理 管理员信息 表2.4 修改后的管理员信息数据流

编号 简述 去向 组成

F4 数据流名称 修改后的管理员信息 管理员修改后的管理员信息 管理员信息库 管理员信息 10

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

表2.5 判断身份后的管理员信息数据流

编号 简述 去向 组成

F5 数据流名称 判断身份后的管理员信息 登陆管理对管理员身份判断后的信息 后台管理系统 管理员权限+管理员信息 表2.6 商品信息数据流

编号 简述 去向 组成

F6 数据流名称 商品信息管理 对商品进行增加、修改、删除后的信息 商品信息库 商品信息 表2.7 类别信息数据流

编号 简述 去向 组成

F7 数据流名称 类别信息管理 对商品类别进行增加、修改、删除后的信息 商品类别信息库 商品类别信息 表2.8 订单信息数据流

编号 简述 去向 组成

F8 数据流名称 订单信息管理 对订单进行修改后的信息 订单信息库 订单信息 11

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

2.4.2 数据项条目 1.数据项名称:用户ID 简述:商城注册用户的编号 类型:整形 长度:6

取值范围及含义:从000001开始自动增长

2.数据项名称:用户名 简述:商城注册用户用户名 类型:可变长度字符串 长度:50

取值范围及含义:从“A-Z”、“0-9”中由用户自行定义,用于用户登录商城时输入的用户名

3.数据项名称:用户密码 简述:商城注册用户的密码 类型:可变长度字符串

长度:50

取值范围及含义:从“A-Z”、“0-9”中由用户自行定义,用于用户登录商城

时输入的用户密码

4.数据项名称:管理员ID 简述:管理员的编号 类型:整形 长度:4

取值范围及含义:从0001开始自动增长

5.数据项名称:管理员用户名 简述:管理员的登录帐号

12

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

类型:可变长度字符串 长度:50

取值范围及含义:无,自定义

6. 数据项名称:管理员密码 简述:管理员登录的密码 类型:可变长度字符串 长度:50

取值范围及含义:每个字位度可以在”A”-”Z”或”0”-“9”中取,用于用户信息的保密。

7.数据项名称:商品编号 简述:每个商品的编号 类型:整形 长度:无

取值范围及含义:从1开始由系统自动增长

8.数据项名称:商品名称 简述:每个商品的名称 类型:可变长度字符串 长度:50

取值范围及含义:取值范围不限,表示该件商品的名称

2.4.3 加工条目

1.加工名:管理员登陆 激发条件:收到到登陆请求时 优先级:高

输入:有效的用户名,密码

13

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

输出:管理员身份信息,登陆错误信息

加工逻辑:根据管理员的登陆申请查询管理员信息表。

if 用户名存在,密码正确; Then 输出身份信息;

Else 输出“用户名或密码错误”; Endif

2.加工名:商品类别查询

激发条件:收到管理员身份信息后 优先级:高

输入:要查询的商品类别信息 输出:商品类别信息

加工逻辑:根据管理员的操作输出商品类别信息

if 商品类别信息正确; Then 输出商品类别信息; Else 输出“没有此商品类别”; Endif

3.加工名:商品信息管理

激发条件:收到管理员身份信息后 优先级:高

输入:要查询的商品信息 输出:商品信息

加工逻辑:根据管理员的操作输出商品信息

if 商品信息正确; Then 输出商品信息; Else 输出“没有此商品”; Endif

14

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

第三章 概念设计

3.1实体之间的联系

1.一个用户可以查看或购买多件商品,一件商品可由多个用户购买。 2.一个用户可以有多个订单,一个订单只属于一个用户。 3.一件商品有多张图片,一张图片只属于一个商品。 4.一件商品只属于一个类别,一个类别可以有多件商品。

5.一个管理员可以修改多件商品,一件商品可以被多个管理员修改。 6.一个管理员可以修改多个订单,一个订单可以被多个管理员修改。 7.一个管理员可以修改多个商品类别,一个商品类别可以被多个管理员修改。

3.2 E-R图

3.2.1 局部E-R图 1.用户购买商品E-R图

图3.1 用户购买商品E-R图

2.用户查看或生成订单E-R图

图3.2 用户查看或生成订单E-R图

15

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

3.商品图片E-R图

图3.3 商品图片E-R图

4.商品类别E-R图

图3.4 商品类别E-R图

5.订单管理E-R

图3.5 订单管理E-R图

6. 商品管理E-R图

图3.6 商品管理E-R图

7. 商品类别管理E-R图

图3.7 商品类别管理E-R图

16

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

3.2.2 系统全局E-R图

图3.8 网络商理系统全局E-R图

17

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

第四章 逻辑结构设计

4.1 关系模型的设计依据

根据需求分析中的E-R图,可以很清晰的看出各个实体的属性和实体之间的联系,通过对实体的属性和之间的联系的分析,我们将其由概念模型向关系模型转化,并且根据范式化理论进行优化。

对于实体间的联系我们分不同的情况讨论:

若实体间的联系是1:1,可以在两个实体转换成的两个关系中任意一个关系的属性中加入另一个关系的码。

若实体间联系为1:n,则在n端实体转换成的关系中加入1端实体转换成的关系码。

若实体间联系为n:m,则将联系转换为关系,关系的属性为诸个实体的码加上联系具有的属性,而关系的码则为诸实体的码的组合。

4.1 实体间联系转化的关系模式

根据以上的关系模型设计依据信息,我们可以对实体进行关系模型的转化。 1.用户购买商品概念模型向关系模型的转化:

用户信息表(用户ID,用户名,用户密码,真实姓名,地址,电子邮件,电话号码)

商品信息表(商品ID,商品名称,商品描述,创建时间,采购价格,市场价格,销售价格,款式,是否推荐,浏览量,销售量,商品类别ID,商品图片ID)

订单项表(订单ID,商品ID,商品名称,商品价格,商品数量,订单信息ID)

2.管理员后台管理概念模型向关系模型的转化: 管理员信息表(管理员ID,用户名,密码)

订单信息表(订单信息ID,订单名称,送货地址,电话,采购价格,创建时18

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

间,支付方式,用户ID)

商品信息表(商品ID,商品名称,商品描述,创建时间,采购价格,市场价格,销售价格,款式,是否推荐,浏览量,销售量,商品类别ID,商品图片ID)

商品类别信息表(商品类别ID,类别名称,类别级别,父节点) 商品图片表(商品图片ID,路径) 3.数据依赖 (1)用户信息

F1=(用户ID→用户名,用户ID→用户密码,用户ID→真实姓名,用户ID→

地址,用户ID→电子邮件,用户ID→电话号码)

(2)商品信息

F2=(商品ID→商品名称,商品ID→商品描述,商品ID→创建时间,商品ID

→采购价格,商品ID→市场价格,商品ID→销售价格,商品ID→款式,商品ID→是否推荐,商品ID→浏览量,商品ID→销售量,商品ID→商品类别ID,商品ID→商品图片ID)

(3)订单项

F3=(订单ID→商品ID,商品ID→商品名称,商品ID→商品价格,商品ID

→商品数量,订单ID→订单信息ID)

(4)管理员信息

F4=(管理员ID→用户名,管理员ID→密码) (5)订单信息

F5=(订单信息ID→订单名称,订单信息ID→送货地址,订单信息ID→电话,

订单信息ID→采购价格,订单信息ID→创建时间,订单信息ID→支付方式,订单信息ID→用户ID) 点)

(7)商品图片

F7=(商品图片ID→路径) (6)商品类别信息

F6=(商品类别ID→类别名称,商品类别ID→类别级别,商品类别ID→父节

19

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

4.2 关系模型的优化

4.2.1 确定范式级别

根据上述分析所归结出来的数据依赖的种类和在本系统实际的开发过程中,需要涉及多表的查询及表的修改和删除,且存在多值依赖的实际情况下,其关系模式应达到BCNF。 4.2.2 实施规范化处理

根据以上信息,我们发现订单项表中存在传递依赖,因此我们要对此关系进行优化。

优化后的关系模型如下:

用户信息表(用户ID,用户名,用户密码,真实姓名,地址,电子邮件,电话号码)

商品信息表(商品ID,商品名称,商品描述,创建时间,采购价格,市场价格,销售价格,款式,是否推荐,浏览量,销售量,商品类别ID,商品图片ID)

订单项表(订单ID,商品ID,订单信息ID)

管理员信息表(管理员ID,用户名,密码)

订单信息表(订单信息ID,订单名称,送货地址,电话,采购价格,创建时间,支付方式,用户ID)

商品类别信息表(商品类别ID,类别名称,类别级别,父节点) 商品图片表(商品图片ID,路径)

20

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

第五章 物理结构设计

5.1 创建数据库及数据表

本系统采用SQLServer2005数据库,创建的数据库名称为shop。 表的结构设计如下:

1. tb_customer(用户信息表)

表5.1 用户信息表

字段名 Cid Username Password Realname Address Email Mobile

数据类型 INT Varchar(50) Varchar(50) Varchar(50) Varchar(250) Varchar(50) Varchar(11) 是否为空 否 否 否 是 是 是 是 是否为主键 是 否 否 否 否 否 否 说明 系统自动编号 用户名 用户密码 真实姓名 地址 电子邮件 电话号码 2. tb_orderitem(订单项表)

表5.2 订单项表

字段名 OrderItem_id productID orderID

数据类型 INT INT Varchar(30) 是否为空 否 否 否 是否为主键 是 否 否 说明 系统自动编号 商品编号 订单编号 21

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

3. tb_productInfo(商品信息表)

表5.3 商品信息表

字段名 id Name Description createTime baseProce marketPrice sellPrice sexRequest Commend clickCount sellCount categoryId uploadFile

数据类型 INT Varchar(100) TEXT DATETIME FLOAT FLOAT FLOAT Varchar(5) BIT INT INT INT INT 是否为空 否 否 是 是 是 是 是 是 是 是 是 是 是 是否为主键 是 否 否 否 否 否 否 否 否 否 否 否 否 说明 系统自动编号 商品名称 商品描述 创建时间 采购价格 市场价格 销售价格 所属款式类别(男款、女款) 是否推荐 浏览量 销售量 商品类别ID 上传文件ID 4. tb_productcategory(商品类别信息表)

表5.4 商品类别信息表

字段名 id Name Level Pid

数据类型 INT Varchar(100) INT INT 是否为空 否 否 是 是 是否为主键 是 否 否 否 说明 系统自动编号 类别名称 类别级别 父节点 22

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

5. tb_order(订单信息表)

表5.5 订单信息表

字段名 Order_id Name Address Mobile totalPrice CreateTime paymentWay cutomerId 数据类型 INT Varchar(50) Varchar(50) Varchar(11) FLOAT DateTime Varchar(15) INT 是否为空 否 否 否 否 是 是 是 是 是否为主键 是 否 否 否 否 否 否 否 说明 系统自动编号 订单名称 送货地址 电话 采购价格 创建时间 支付方式 用户ID 6. tb_uploadfile上传文件表

表5.6 上传文件表

字段名 id path 数据类型 INT Varchar(255) 是否为空 否 否 是否为主键 是 否 说明 系统自动编号 文件上传路径 7. tb_user管理员表

表5.7 管理员表

字段名 id username Password 数据类型 INT Varchar(50) Varchar(50) 是否为空 否 否 否 是否为主键 是 否 否 说明 系统自动编号 管理员名称 登陆密码 5.2 数据的存放位置设计

由系统应用情况特设计如下存储方式,所有的表由于信息量大且使用频繁将其存储在高速存储器(硬盘)上。将表存储在不同的磁盘上以便提高查询效率,同时这样可以提高物理I/O读写效率。数据库备份文件和日志文件等文件因为使用频率小而且数据量非常大,存放在低速存储设备上。

23

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

第六章 运行与维护

6.1 项目运行界面

1.主界面

将SQL Server 2005主服务打开,再将项目打包的war包放到tomcat下的

workapp下,然后点击开始菜单→运行→输入cmd回车→输入startup回车,便可运行tomcat。再打开浏览器输入http://localhost:8080/Shop/网址便可进入主界面。

图6.1 主界面

24

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

2.会员登录界面

主界面点击登录便会出现会员登录界面。输入正确的用户名和密码后便可登

录自己的账户。

图6.2 登录界面

3.用户登录后购买东西

用户选择一个商品后可以查看商品的信息,如价格和详细介绍。

图6.3 购买界面

25

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

4.购买后产生订单

查看商品后点击购买便会进入此页面,用户可以选择商品的数量、返回继续

购买商品或者结账。

图6.4 订单界面

5.订单确认

点击结账后会出现订单确认页面,上面显示了用户购买的商品信息以及应付

款总额,用户确认信息后便可点击付款。

图6.5 订单确认界面

26

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

6.付款后产生订单

用户付款后便会产生一个订单,用户在自己的订单查看界面可以查看到此订

单以及订单当前的状态。

图6.6 查看订单界面

7.管理员登录

在浏览器中键入http://localhost:8080/Shop/admin/ 便会出现商城的后台管理

登录界面。管理员输入帐号密码后便可以登录到后台管理系统对政哥商城进行管理。

图6.7 管理员登录界

27

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

8.添加商品

管理员登录后台管理系统后,点击左边界面的添加商品,便会出现添加商品

的界面,可以按照界面内容提示输入商品信息,最后点击提交后便会出现成功或者失败信息。

图6.8 添加商品界面

9.订单查询模块

管理员登录后台管理系统后,点击左边界面的查看订单,便会出现订单查询

界面,输入相应的查询信息后点击提交按钮,便会查询出所需要查询的订单内容。

图6.9 管理员订单查询界面

28

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

10.查看订单

查询订单后出现的订单信息界面,可以查看到订单的编号、所属用户、创建

时间和状态等等。

图6.10 管理员订单查看界面

11.更改订单状态

找到需要更改状态的订单,点击更改订单状态按钮,便会进入更改订单状态

界面,可以选择订单是否已发货,点击确认进行修改。

图6.11 鞥该订单状态界面

29

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

12.查看商品类别

管理员登录后台管理系统后,点击左边界面的查看商品类别,便会出现所有

的商品类别信息,可以对其中的商品类别进行添加类别,添加子类别和删除管理。

图6.12 商品类别修改界面

30

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

6.2 数据库初始化代码

--数据库 创建,初始化开始

if exists(select name from sysdatabases where name='shop') drop database shop;

--创建shop数据库 Create database shop on (

name='shop_mdf', filename='E:\\db\\shop.mdf', size=5,

maxsize=500,

filegrowth=5

)

log on (

name='shop_ldf', filename='E:\\db\\shop.ldf', size=1,

maxsize=50,

filegrowth=2

)

--使用shop数据库 use shop;

31

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

--创建tb_customer,如果存在则删除。

if exists(select * from sysobjects where name ='tb_customer') drop table tb_customer;

--创建tb_customer

CREATE TABLE tb_customer (

id int NOT NULL identity(1,1), --系统自动增加编号 username varchar(50) NOT NULL, --用户名 password varchar(50) NOT NULL, --登陆密码 realname varchar(20) DEFAULT NULL,--真实姓名 address varchar(200) DEFAULT NULL,--地址 email varchar(50) DEFAULT NULL,

--电子邮件

mobile varchar(11) DEFAULT NULL, --电话号码 PRIMARY KEY (id) );

--由于设置了自动增长,不能插入显式的值,所以必须先设置identity_insert 为on 进行初始化

set IDENTITY_INSERT tb_customer ON --给tb_customer表插入初始化值

INSERT INTO tb_customer (id,username,password,realname,address,email,mobile) VALUES

(1,'admin123','admin123',NULL,'cs','xwzl860@gmail.com','186xxxx2318');

--如果存在订单表,则删除

if exists(select * from sysobjects where name ='tb_order') drop table tb_order;

--创建订单表

CREATE TABLE tb_order (

32

--设ID为主键

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

orderId int identity(1,1) NOT NULL, name varchar(50) NOT NULL,

--订单编号

--收货人姓名 --收货地址

--收货电话号码

address varchar(200) NOT NULL, mobile varchar(11) NOT NULL,

totalPrice float DEFAULT NULL, --总价格

--订单创建时间

createTime datetime DEFAULT NULL,

paymentWay varchar(15) DEFAULT NULL, --支付方式 orderState varchar(10) DEFAULT NULL, customerId int DEFAULT NULL, PRIMARY KEY (orderId),

--订单状态 --会员编号

--设置订单编号为主键

CONSTRAINT FKFA98EE3DD0EDC05E FOREIGN KEY (customerId) REFERENCES tb_customer (id) --将外键customerId引用tb_customer主键 );

set identity_insert tb_customer off set identity_insert tb_order on

--初始化订单表,使用select 表值 +union all 进行多值插入 INSERT INTO tb_order

(orderId,name,address,mobile,totalPrice,createTime,paymentWay,orderState,customerId)

select 20112,'hunaneu','cs','186xxxx2318',120,'2011-12-20 13:52:40','POSTOFFICE_PAY','DELIVERED',1 union all select 20113,'hunaneu','cs','186xxxx2318',120,'2011-12-22 09:44:58','POSTOFFICE_PAY','DELIVERED',1 union all select 20114,'hunaneu','cs','186xxxx2318',0,'2011-12-22 09:57:52','POSTOFFICE_PAY','DELIVERED',1

--如果存在订单项表,则删除

if exists(select * from sysobjects where name ='tb_orderitem')

33

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

drop table tb_orderitem;

--创建订单项表

CREATE TABLE tb_orderitem ( id int NOT NULL identity(1,1), productId int NOT NULL,

--订单项编号(系统自动编号)

--产品编号

orderId int DEFAULT NULL, PRIMARY KEY (id),

--订单编号

--设订单项编号为主键

FOREIGN KEY (orderId) REFERENCES tb_order (orderId) --外键引用订单表的主键 );

--将tb_customer自动增加插入关闭,才能将下一表的自动增长显式值插入进行初始化

set identity_insert tb_order off set identity_insert tb_orderitem on

--多列插入,初始化 INSERT INTO tb_orderitem

(id,productId,productName,productPrice,amount,orderId) select 1,1,'Object-c',120,1,20112 union all select 2,1,'coco2d',120,1,20113

--存在产品类表,则删除

if exists(select * from sysobjects where name ='tb_productcategory') drop table tb_productcategory;

--创建产品类表

CREATE TABLE tb_productcategory (

34

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

id int NOT NULL identity(1,1), name varchar(50) NOT NULL, level int DEFAULT NULL, pid int DEFAULT NULL, PRIMARY KEY (id),

--产品类别编号(系统自动增长)

--产品类别名称 --类别级别

--父节点

--设产品类别编号为主键

CONSTRAINT FKB405573CFB37BC9D FOREIGN KEY (pid) REFERENCES tb_productcategory (id) --使用自表外键 );

--将上一个表的identity_insert,打开本表的identity_insert。 set identity_insert tb_orderitem off set identity_insert tb_productcategory on

--初始化类别 使用select 在列值 + union all 进行多值插入 INSERT INTO tb_productcategory ( id,name,level,pid) select 1,'服装',1,NULL union all select 2,'品质男装',2,1 union all select 3,'衬衫',3,2 union all select 4,'男鞋',3,2 union all select 5,'男裤',3,2 union all select 6,'西服',3,2 union all select 7,'女鞋',2,1 union all select 8,'帆布',3,7 union all select 9,'高帮',3,7 union all select 10,'单鞋',3,7 union all ..................此处省略某些数据 select 349,'园艺',3,344

35

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

--如果存在上传文件表,则删除

if exists(select * from sysobjects where name ='tb_uploadfile') drop table tb_uploadfile;

--创建上传文件表

CREATE TABLE tb_uploadfile ( id int NOT NULL identity(1,1), --文件编号(系统自动增加) path varchar(255) NOT NULL, --文件路径 PRIMARY KEY (id)

--设置文件编号为主键

);

--将上一个表的identity_insert,打开本表的identity_insert。 set identity_insert tb_productcategory off set identity_insert tb_uploadfile on

--文件表初始化

INSERT INTO tb_uploadfile (id,path) select 1,'ios.jpg' union all select 2,'coco2d.jpg'

--如果存在产品信息表,则删除

if exists(select * from sysobjects where name ='tb_productinfo') drop table tb_productinfo;

--创建产品信息表

CREATE TABLE tb_productinfo ( id int NOT NULL identity(1,1), --产品编号(系统自动增长) name varchar(100) NOT NULL,

--产品名称

description text,

--产品描述

36

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

createTime datetime DEFAULT NULL, baseprice float DEFAULT NULL, marketprice float DEFAULT NULL, sellprice float DEFAULT NULL,

--创建时间 --采购价格

--市场价格

--销售价格

sexrequest varchar(5) DEFAULT NULL, --款式(男款或女款) commend bit DEFAULT NULL, clickcount int DEFAULT NULL, sellCount int DEFAULT NULL, categoryId int DEFAULT NULL,

--是否推荐

--浏览量

--销售量

--类别编号

uploadFile int DEFAULT NULL unique, --文件编号(图片) PRIMARY KEY (id),

--设产品编号为主键

CONSTRAINT FK28A6CDEC3E1DFEF5 FOREIGN KEY (uploadFile) REFERENCES tb_uploadfile (id),

--外键引用文件表主键

CONSTRAINT FK28A6CDEC487D8DAB FOREIGN KEY (categoryId) REFERENCES tb_productcategory (id) );

--将上一个表的identity_insert,打开本表的identity_insert。 set identity_insert tb_uploadfile off set identity_insert tb_productinfo on

--表初始化

INSERT INTO tb_productinfo

(id,name,description,createTime,baseprice,marketprice,sellprice,sexrequest,commend,clickcount,sellCount,categoryId,uploadFile)values

(1,'Object-c','Object-c','2011-12-20 13:40:25',98,150,120,'BOY',1,17369,2,330,1);

--如果存在管理员表,则删除

if exists(select * from sysobjects where name ='tb_user')

37

--外键引用产品类别主键

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

drop table tb_user;

--创建管理员表

CREATE TABLE tb_user (

id int NOT NULL identity(1,1), --管理员编号(系统自动增长) username varchar(50) NOT NULL, --管理员名称 password varchar(50) NOT NULL, --管理员密码 PRIMARY KEY (id)

--设置管理员编号为主键

);

--将上一个表的identity_insert,打开本表的identity_insert。 set identity_insert tb_productinfo off set identity_insert tb_user on

--管理员表初始化

INSERT INTO tb_user (id,username,password) VALUES (1,'admin','admin');

set identity_insert tb_user off

38

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

项目架构图示

在开发工具eclipse中的此项目的代码结构:

图6.12 商品类别修改界面

396.3

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

总 结

做这次课程设计学到了很多东西,不像以前一样只需考虑好大概有几张表就开始动手做项目。那样显得不是很规范,虽然那样效率会相对来说比较高,成果会比较快。但是假如遇到复杂的数据库系统,考虑的不周全很有可能会对数据库进行重构,这样会很致命的。

所以必须从最根本的可行性分析开始一步步踏实的做起,再到项目的需求分析,做好项目大致需求的概述,然后进行概念和逻辑设计,基本就知道大概有多少张表。初步规划好之后进行物理设计,才开始着手项目的开发。

项目使用了SSH(Spring3+Struts2+Hibernate3)的敏捷开发技术。运用了MVC的多层架构,结构清晰。考虑到系统的安全性,所有的页面都放在了项目的WEB-INF下。这样就算你知道具体的页面地址,你在地址栏上输入也无法进入。其次使用了struts2进行前端的控制和权限的拦截也增加了系统的安全性。系统的事物与日志等交由Spring处理,代码中使用注解的方式将业务交由Spring托管,减少了Spring配置文件的代码量。由于系统较小Hibernate配置文件中没有加入数据库连接池的管理。减少了系统的复杂性。

综上所述,做好一个项目必须有良好的数据库设计及文档设计,让项目更规范,更安全,更高效率。

40

70+120+120+70m连续梁桥 及80+140+140+80m连续刚构桥施工方案

参 考 文 献

[1] 陆琳,刘桂林.数据库技术与应用-SQL Server 2005[M].长沙:中南大学出版社,2010

[2] 何旭洪,余建英.PowerBuilder数据库开发实例导航[M].北京:人民邮电出版社,2003

[3] 王小玲,刘卫国.数据库应用基础教程[M].北京:中国铁道出版社,2008 [4] 施伯乐,丁宝康,汪卫.数据库系统教程[M].第3版.北京:高等教育出版社,2008

[5] 程云志,张帆,崔翔.数据库原理与SQL Server2005应用教程 [M].北京:机械工业出版社,2006

[6] 苗雪兰,刘瑞新,宋会群.数据库技术与应用[M].北京:机械工业出版社,2006 [7] 李春葆,曾平.数据库原理与应用:基于SQL Server200[M].北京:清华大学出版社,2006

[8] 宁洪,赵文涛,贾丽丽.数据库系统原理[M].北京:北京邮电大学出版社,2005 [9] 何玉洁.数据库基础及应用技术[M].第二版.北京:清华大学出版社,2004 [10] Patrick O’Neil,Elizabeth O’Neil. 数据库原理、编程与性能[M].第二版.美国:Morgan Kaufmann,2001 青年人首先要树雄心,立大志,其次就要决心作一个有用的人

41

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- fenyunshixun.cn 版权所有 湘ICP备2023022495号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务