Oracle课程设计网上购物系统.docx
《Oracle课程设计网上购物系统.docx》由会员分享,可在线阅读,更多相关《Oracle课程设计网上购物系统.docx(22页珍藏版)》请在冰豆网上搜索。
Oracle课程设计网上购物系统
湖南理工学院
计算机学院
课程设计报告
课程Oracle数据库
题目网上购物系统
学号
姓名罗前
班级计科1404
指导教师白天
2017年6月19日
目录2
第一章引言3
项目背景3
设计目的3
开发工具的选择3
开发环境3
第二章需求分析………………………………………………………………………………….4
可行性分析4
系统任务描述4
体系架构4
系统设计和功能分析4
第三章总体设计.............................................................................................................................7
消费者子模块75
后台子模块5
第四章数据库设计.......................................................................................................................9
概念结构设计....................................................................................................................9
逻辑结构设计………......................................................................................................10
具体设计………...............................................................................................................11
实现...................................................................................................................................12
心得…………………………………………………………………………………………………………………………………………20
第一章引言
项目背景
进入21世纪以来,电子商务伴随着IT的成熟,逐渐发展壮大,成为网络经济的核心。
在电子商务的发展过程中,网络在人群中的使用率不断提高,人们逐渐意识到在线购物的无地域界限、安全、方便快捷及其价格优势,在线购物的队伍也随之扩大。
如今网上购物的人群不断增加,为了满足用户的更高体验我深入分析了本系统各个模块之间的协调能力以满足客户需求。
该系统的主要目的是:
满足用户网上购物需求,方便快捷,足不出户就可以优惠的价格买到最称心如意的商品。
设计目的
此课程设计的主要目的是使自己能熟练掌握基于Oracle数据库的应用系统的开发,所以也是基于Oracle的一些基本操作的应用。
同样选择这个选题也是因为日益流行的网络购物所展现出来的优势,所以我才设计出这个系统来方便用户来购买实惠的商品。
开发工具选择
本系统后台数据库采用Oracle10g数据库,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大,效率高;前台采用Myeclipse作为主要开发工具,通过JDBC数据库驱动可与Oracle数据库链接。
开发环境
系统开发平台:
Myeclipse
系统开发语言:
java
数据库管理软件:
Oracle10g
第二章需求分析
可行性研究
可行性研究阶段的主要任务是在系统初步调查的基础上,对新系统是否能够实现和值得实现等问题做出判断,避免在花费了大量的人力和物力之后才发现系统不能实现或新系统投入使用后没有任何实际意义而引起的浪费,对新系统可行性的分析,要求用最小的代价在尽量短的时间内确定系统是否可行。
(1)技术可行性分析
网络在线商城系统的开发是一项复杂的系统工程。
为了保证系统开发成功,必须采用工程化的系统开发方法,并研究出一些符合工程化标准的开发方法。
这些方法旨在指导开发者进行工程化的系统开发,从而加快系统开发的速度,保证质量以及降低开发成本。
工程化的系统开发方法确实在开发实践中取得了一定的效果。
(2)运行可行性分析
随着计算机知识的普及和推广,越来越多的人掌握了计算机的基本使用方法和技能。
随着Internet的发展,用户对于网络、WINDOWS等环境下的软件使用比较熟悉,对于新鲜事物,用户表现出极大的兴趣和热情。
(2)经济可行性分析
网络在线商城系统给人们带来了方便,成为一种全新的商务模式。
因此,不用出门就可以在家购物的新时尚已经到来,构建一个网络在线商城系统在经济上是完全可行的。
系统任务描述
系统模块的设计遵循整个系统总体设计思路,基于web的应用程序开发与数据库设计。
体系架构
从功能构成的角度出发划分系统的职能层次,按照从底层到顶层,服务到应用的划分方法,网上购物系统基本上可以划分为四个部分:
应用运行集成环境层、系统支撑软件架构、功能组件支撑和系统业务模块。
其基本组成图如下:
(一)应用运行集成环境层
包括本系统部署环境平台操作系统(本系统对操作系统无特殊要求,系统可以无缝迁移到Windows/Linux/Unix等常见平台之上)、系统使用的数据库管理系统(默认使用Oracle,系统内部数据库访问操作采用灵活的数据库方言机制,能够灵活的支持系统数据持久层迁移)以及本项目运行的应用服务器(Tomcat)
(二)系统支撑软件架构
包括操作系统中的TCP/IP协议栈、JRE运行环境,J2EE引擎以及访问数据持久层的JDBCAPI。
(三)功能组件支撑
本系统需要不同客户端界面之间的实时性响应,需要在基础资源管理层和业务模块之间实现业务间实时通讯的功能组件,该组件必须能够兼容目前最成熟,运用范围最广的HTML5/标准。
(四)功能组件支撑
包括网络在线商城系统的运营业务功能模块,如商品管理,用户浏览查询商品、结算购物车,管理员处理订单、管理商品相关信息。
系统设计与功能分析
网上购物系统,可用于一些自由职业者打发时间,热爱网购的学生来进行网购的平台,它使用方便,易用性强,图形界面清晰明了。
该系统页面使用HTML+CSS+JavaScript编写,运用一些Jquery库和bootstrap框架,用Oracle10g数据库作为后台的数据库进行信息的存储,用SQL语句完成商品信息的添加,查询,修改,删除的操作以及订单的修改,删除等,同时这些都可以通过后台管理员的页面来实现。
另外我们用JDBC驱动实现前台与后台数据库的连接。
该系统实现的大致功能:
(1)用户登陆界面。
ID号和密码输入正确即可登录。
用户:
1.用户注册
2.用户登录
3.查看用户本人详细信息,包括用户名、邮箱地址、上次登录时间等
4.用户信息修改,包括邮箱地址与密码等
5.浏览商品详细信息
6.将商品加入购物车
7.删除商品
8.提交订单并支付
9.查看购买记录
10.查看在线人数与当前时间
(2)管理员界面。
提供了对车辆信息的查询,添加,修改,删除。
修改密码等功能。
拥有最高的权限。
允许添加普通用户信息。
管理员:
1.管理员登录
2.查看本人详细信息,包括用户名,邮箱地址、上次登录时间等。
3.管理员信息修改,包括邮箱地址和密码。
4.浏览商品的详细信息。
5.商品的上架。
6.订单的处理
图系统用例图
第三章总体设计
经过对系统的需求分析,网上购物系统主要划分为两个大的部分:
消费者子模块和后台子模块。
如图系统的总体结构。
图系统的总体结构
消费者子模块
前台用户登录后可以进行商品信息的查看,然后看到满意的商品添加到购物车,选好商品后进行结账下单,但后订单信息中可以看到订单状态,同时在收到货后也可以在订单页面进行收货确认,如图是前台消费者模块结构。
图.1前台消费者模块结构
后台子模块
后台管理员页面主要可以进行商品的查看,然后可以上架商品,就是添加商品,或者对商品的信息进行修改,同时也可以进行订单状态的更改,比如说发货。
如图信息查询模块结构。
图后台管理模块结构
第四章数据库的设计
概念结构设计
数据实体关系图
图实体关系图
逻辑结构设置
数据对象结构图
用结构图形式全局的描述数据库的设计:
说明各个数据表之间的关系,数据库表的关键字和字段等。
图数据对象结构图
代码表描述
表四个表说明
序号
表名
表描述
1
users
存储用户的登录信息
2
goods
存储商品信息
3
alreadybuy
存储用户已经下单的订单信息
4
shoppingcat
购物车内商品的信息
具体设计-数据字典设计
用户表
表数据库-用户表
用户表:
users
字段名称
数据类型
能否空
默认值
说明
usid
number(11,0)
否
无
用户编号,主键,自动增长
uname
varchar2(20)
否
无
用户登录时使用的账号名称
userpass
varchar2(20)
否
无
用户登录时使用的密码
email
varchar2(50)
否
无
用户的邮箱
lastlogin
date
否
无
用户上次登录的时间
购物车
表购物车表
购物车表:
shoppingcard
字段名称
数据类型
能否空
默认值
说明
sid
number(11,0)
否
无
主键,角色编号,自动增长
usid
number(11,0)
否
无
用户角色id,外键
gid
number(11,0)
否
无
商品id,外键
gnumber
number(11,0)
否
无
购买的数量
商品信息表
表商品信息表
商品信息表:
goods
字段名称
数据类型
能否空
默认值
说明
gid
number(11,0)
否
无
商品编号,主键
gname
varchar2(100)
否
无
商品名称
gnumber
number(11,0)
否
无
商品的库存数量
gphoto
varchar2(100)
是
无
商品图片文件名称
types
varchar2(100)
否
无
商品的类型
producer
varchar2(50)
否
无
商品的生产商
price
number(11,0)
否
无
商品的单价
carriage
number(11,0)
否
无
商品的运费
pdate
date
否
无
商品的上架日期
paddress
varchar2(100)
否
无
发货地址
described
varchar2(100)
是
无
商品的详细描述
已购买信息
表已购买信息表
已购买信息:
alreadybuy
字段名称
数据类型
能否空
默认值
说明
aid
number(11,0)
否
无
已购买编号,主键,自动增长
gid
number(11,0)
否
无
购买的商品编号
usid
number(11,0)
否
无
购买用户的编号
gnumber
number(11,0)
否
无
购买的数量
buytime
date
否
无
购买的时间
statement
varchar2(11)
否
无
状态的描述
.实现
创建表空间
为网上购物系统创建数据库的永久性表空间CARSYS,采用区自动扩展,段采用自动管理方式,存储该系统中的数据表。
用CREATETABLESPACE语句创建表空间,具体的表空间创建如下图所示:
图表空间创建
创建数据库并插入记录
为网路购物系统创建数据表,一共共四张表,利用createtable语句创建数据表并在创建的同时确定每张表的约束,具体如下图所示:
用户表users的创建:
图users表创建
购物车表shoppingcard的创建:
图shoppingcard表创建
商品表goods的创建:
图good表创建
订单详细表alreadybuy的创建:
图alreadybuy表创建
开启事务和使用for循环向shoppingcart中插入10000条数据:
图插入10000条记录
然后查询shopppingcart表:
图查询插入结果
在数据表上建立索引
在四个表中都建立索引,以便于快速查询,通过CREATEINDEX语句创建索引。
在users表的name列上创建一个非唯一性索引,如图所示:
图users表的非唯一性索引
在users表的ename列创建唯一性索引,如图所示:
图users表的唯一性索引
在shoppingcart表的gid列创建唯一性索引,如图所示:
图shoppingcart表的唯一性索引
在goods表的gnumber列创建函数索引,如图所示:
图goods表的函数索引
在shoppingcart表的gid列创建位图索引,如图所示:
图alreadybuy表的位图索引
建立完整性约束
针对数据库中各表的列属性建立完整性约束,包括唯一性约束和检查约束
在users表的ename列添加唯一性约束,如图所示:
图users表的唯一性约束
在users表的passwd列添加检查约束,约束密码的位数必须大于6位:
图usrs表的检查约束
在goods表中添加检查约束,商品的价格必须大于0:
图goods表的检查约束
视图、存储过程和触发器的创建
在users创建一个包含用户基本信息的视图,用于方便快捷地查询到用户地基本信息,如图:
图users表视图
在shoppingcart表创建一个关于已经放入购物车商品信息的视图,用于用户可以实时看到购物车的信息,如图:
图shoppingcart表视图
在users表创建存储过程,以用户的usid为参数,返回用户密码,以方便快速查询用户的密码,如图:
图users表的存储过程
测试调用时,因存储过程中用到了,所以需要先用命令setserveroutputon开启输出服务,这样在调用存储过程时才能看到其输出的值,如图所示:
图存储过程测试
在alreadybuy表创建一个存储过程,以输入用户的ID为参数统计该用户所购买的商品,用于快速的查询已经购买的商品,如下图所示:
图alreadybuy表的存储过程
在users表中创建触发器,当你密码输错的时候,不能登录购买商品。
触发器创建如下图所示:
图users表的触发器
创建用户
用createuseruser_name来创建用户,设置一个身份认证密码,默认表空间为CRASYS,在该表空间的配额为20M,用户的状态设置为锁定状态,在需要开启该用户来管理数据库时再解锁该用户,用户创建如下图所示:
图用户创建
对admin用户授权,将该数据库中的4个表的所有操作权限授予admin用户,如图所示:
图用户授权
对admin用户授予connect和resource的权限以保证在解锁用户后能够登录数据库。
图用户授权
逻辑备份
对数据库进行逻辑备份,备份用户数据,以防系统在运行时出现各种情况下的出现数据丢失,逻辑备份如下所示,使用EXP导出数据:
命令格式为:
expuserid=username/passwordtables=(tablenameorfile=PATH(路径).dmp,导出方式为导出表。
图导出操作
图导出的数据文件
心得
本学期的Oracle课程快要结束了,通过这从课程设计,重新系统的又回顾了我们这学期所学的课程内容,在这次课程设计中,也遇到了很多不能解决的问题,在老师和同学的帮助下,我基本完成了数据库系统的设计。
按照课程设计的要求,从需求分析,系统总体设计,数据库设计各个步骤,有序地分步完成系统的各项任务,基本完成了系统中的数据库设计与搭建。
从这次课程设计,我也发现了自己的不足,依旧是对于数据库的操作的熟练度不是很好,还有就是编程能力也有待提高,结束这门课程不代表就结束了对Oracle的学习,以后的日子,我会更加努力的学习技术来提升自己。