资源描述
湖南理工学院
计算机学院
课程设计报告
课 程 Oracle数据库
题 目 网上购物系统
学 号
姓 名 罗 前
班 级 计科1404
指引 教师 白天
6 月19 日
目 录
目 录 2
第一章 引言 3
1.1 项目背景 3
1.2 设计目 3
1.3 开发工具选取 3
1.4 开发环境 3
第二章 需求分析………………………………………………………………………………….4
2.1可行性分析 4
2.2系统任务描述 4
2.3体系架构 4
2.4系统设计和功能分析 4
第三章 总体设计.............................................................................................................................7
3.1消费者子模块 75
3.2后台子模块 5
第四章 数据库设计....................................................................................................................... 9
4.1 概念构造设计.................................................................................................................... 9
4.2 逻辑构造设计………...................................................................................................... 10
4.3 详细设计………...............................................................................................................11
4.4 实现...................................................................................................................................12
心得…………………………………………………………………………………………………………………………………………20
第一章 引言
1.1项目背景
进入21世纪以来,电子商务随着着IT成熟,逐渐发展壮大,成为网络经济核心。在电子商务发展过程中,网络在人群中使用率不断提高,人们逐渐意识到在线购物无地区界限、安全、以便快捷及其价格优势,在线购物队伍也随之扩大。如今网上购物人群不断增长,为了满足顾客更高体验我进一步分析了本系统各个模块之间协调能力以满足客户需求。该系统重要目是:满足顾客网上购物需求,以便快捷,足不出户就可以优惠价格买到最称心如意商品。
1.2 设计目
此课程设计重要目是使自己能纯熟掌握基于Oracle数据库应用系统开发,因此也是基于Oracle某些基本操作应用。同样选取这个选题也是由于日益流行网络购物所呈现出来优势,因此我才设计出这个系统来以便顾客来购买实惠商品。
1.3 开发工具选取
本系统后台数据库采用Oracle 10g数据库,该数据库系统在安全性、精确性和运营速度方面有绝对优势,并且解决数据量大,效率高;前台采用Myeclipse作为重要开发工具,通过JDBC数据库驱动可与Oracle数据库链接。
1.4 开发环境
系统开发平台:Myeclipse
系统开发语言:java
数据库管理软件:Oracle 10g
第二章 需求分析
2.1可行性研究
可行性研究阶段重要任务是在系统初步调查基本上,对新系统与否可以实现和值得实现等问题做出判断,避免在耗费了大量人力和物力之后才发现系统不能实现或新系统投入使用后没有任何实际意义而引起挥霍,对新系统可行性分析,规定用最小代价在尽量短时间内拟定系统与否可行。
(1) 技术可行性分析
网络在线商城系统开发是一项复杂系统工程。为了保证系统开发成 功,必要采用工程化系统开发办法,并研究出某些符合工程化原则开发办法。这些办法旨在指引开发者进行工程化系统开发,从而加快系统开发速度,保证质量以及减少开发成本。工程化系统开发办法的确在开发实践中获得了一定效果。
(2)运营可行性分析
随着计算机知识普及和推广,越来越多人掌握了计算机基本 用法和技能。随着Internet 发展,顾客对于网络、WINDOWS 等环境 下软件使用比较熟悉,对于新鲜事物,顾客体现出极大兴趣和热情。
(2) 经济可行性分析
网络在线商城系统给人们带来了以便,成为一种全新商务模式。 因而,不用出门就可以在家购物新潮流已经到来,构建一种网络在线商城系统在经济上是完全可行。
2.2系统任务描述
系统模块设计遵循整个系统总体设计思路,基于web应用程序开发与数据库设计。
2.3体系架构
从功能构成角度出发划分系统职能层次,按照从底层到顶层,服务到应用划分办法,网上购物系统基本上可以划分为四个某些:应用运营集成环境层、系统支撑软件架构、功能组件支撑和系统业务模块。其基本构成图如下:
(一) 应用运营集成环境层
涉及本系统布置环境平台操作系统(本系统对操作系统无特殊规定,系统可以无缝迁移到Windows/Linux/Unix等常用平台之上)、系统使用数据库管理系统(默认使用Oracle,系统内部数据库访问操作采用灵活数据库方言机制,可以灵活支持系统数据持久层迁移)以及本项目运营应用服务器(Tomcat)
(二) 系统支撑软件架构
涉及操作系统中TCP/IP合同栈、JRE运营环境,J2EE引擎以及访问数据持久层JDBC API。
(三) 功能组件支撑
本系统需要不同客户端界面之间实时性响应,需要在基本资源管理层和业务模块之间实现业务间实时通讯功能组件,该组件必要可以兼容当前最成熟,运用范畴最广HTML5/HTTP1.1原则。
(四) 功能组件支撑
涉及网络在线商城系统运营业务功能模块,如商品管理,顾客浏览查询商品、结算购物车,管理员解决订单、管理商品有关信息。
2.4系统设计与功能分析
网上购物系统,可用于某些自由职业者打发时间,热爱网购学生来进行网购平台,它使用以便,易用性强,图形界面清晰明了。该系统页面使用HTML+CSS+JavaScript编写,运用某些Jquery库和bootstrap框架,用Oracle 10g数据库作为后台数据库进行信息存储,用SQL语句完毕商品信息添加,查询,修改,删除操作以及订单修改,删除等,同步这些都可以通过后台管理员页面来实现。此外咱们用JDBC驱动实现前台与后台数据库连接。
该系统实现大体功能:
(1) 顾客登陆界面。ID号和密码输入对的即可登录。
顾客:
1. 顾客注册
2. 顾客登录
3. 查看顾客本人详细信息,涉及顾客名、邮箱地址、上次登录时间等
4. 顾客信息修改,涉及邮箱地址与密码等
5. 浏览商品详细信息
6. 将商品加入购物车
7. 删除商品
8. 提交订单并支付
9. 查看购买记录
10. 查看在线人数与当前时间
(2) 管理员界面。提供了对车辆信息查询,添加,修改,删除。修改密码等功能。拥有最高权限。容许添加普通顾客信息。
管理员:
1. 管理员登录
2. 查看本人详细信息,涉及顾客名,邮箱地址、上次登录时间等。
3. 管理员信息修改,涉及邮箱地址和密码。
4. 浏览商品详细信息。
5. 商品上架。
6. 订单解决
图2.1 系统用例图
第三章 总体设计
通过对系统需求分析,网上购物系统重要划分为两个大某些:消费者子模块和后台子模块。如图3.1 系统总体构造。
图3.1 系统总体构造
3.1消费者子模块
前台顾客登录后可以进行商品信息查看,然后看到满意商品添加到购物车,选好商品后进行结账下单,但后订单信息中可以看到订单状态,同步在收到货后也可以在订单页面进行收货确认,如图3.1.1是前台消费者模块构造。
图3.1 .1前台消费者模块构造
3.2后台子模块
后台管理员页面重要可以进行商品查看,然后可以上架商品,就是添加商品,或者对商品信息进行修改,同步也可以进行订单状态更改,例如说发货。如图3.2信息查询模块构造。
图3.2 后台管理模块构造
第四章 数据库设计
4.1概念构造设计
4.1.1数据实体关系图
图4.1 实体关系图
4.2逻辑构造设立
4.2.1数据对象构造图
用构造图形式全局描述数据库设计:阐明各个数据表之间关系,数据库表核心字和字段等。
图4.2 数据对象构造图
4.2.2代码表描述
表4.2.2四个表阐明
序号
表名
表描述
1
users
存储顾客登录信息
2
goods
存储商品信息
3
alreadybuy
存储顾客已经下单订单信息
4
shoppingcat
购物车内商品信息
4.3详细设计-数据字典设计
4.3.1顾客表
表4.3.1 数据库-顾客表
顾客表:users
字段名称
数据类型
能否空
默认值
阐明
usid
number(11,0)
否
无
顾客编号,主键,自动增长
uname
varchar2(20)
否
无
顾客登录时使用账号名称
userpass
varchar2(20)
否
无
顾客登录时使用密码
email
varchar2(50)
否
无
顾客邮箱
lastlogin
date
否
无
顾客上次登录时间
4.3.2购物车
表4.3.2 购物车表
购物车表:shoppingcard
字段名称
数据类型
能否空
默认值
阐明
sid
number(11,0)
否
无
主键,角色编号,自动增长
usid
number(11,0)
否
无
顾客角色id,外键
gid
number(11,0)
否
无
商品id,外键
gnumber
number(11,0)
否
无
购买数量
4.3.3商品信息表
表4.3.3 商品信息表
商品信息表: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)
是
无
商品详细描述
4.3.4已购买信息
表4.3.4 已购买信息表
已购买信息:alreadybuy
字段名称
数据类型
能否空
默认值
阐明
aid
number(11,0)
否
无
已购买编号,主键,自动增长
gid
number(11,0)
否
无
购买商品编号
usid
number(11,0)
否
无
购买顾客编号
gnumber
number(11,0)
否
无
购买数量
buytime
date
否
无
购买时间
statement
varchar2(11)
否
无
状态描述
4.4.实现
4.4.1创立表空间
为网上购物系统创立数据库永久性表空间CARSYS,采用区自动扩展,段采用自动管理方式,存储该系统中数据表。用CREATE TABLESPACE语句创立表空间,详细表空间创立如下图4.4.1所示:
图4.4.1 表空间创立
4.4.2创立数据库并插入记录
为网路购物系统创立数据表,一共共四张表,运用create table语句创立数据表并在创立同步拟定每张表约束,详细如下图所示:
顾客表users创立:
图4.4.2.1 users表创立
购物车表shoppingcard创立:
图4.4.2.2shoppingcard表创立
商品表goods创立:
图4.4.2.3 good表创立
订单详细表alreadybuy创立:
图4.4.2.4 alreadybuy表创立
启动事务和使用for循环向shoppingcart中插入10000条数据:
图4.4.2.5 插入10000条记录
然后查询shopppingcart表:
图4.4.2.6 查询插入成果
4.4.3在数据表上建立索引
在四个表中都建立索引,以便于迅速查询,通过CREATE INDEX语句创立索引。
在users表name列上创立一种非唯一性索引,如图所示:
图4.4.3.1 users表非唯一性索引
在users表ename列创立唯一性索引,如图所示:
图4.4.3.2 users表唯一性索引
在shoppingcart表gid列创立唯一性索引,如图所示:
图4.4.3.3 shoppingcart表唯一性索引
在goods表gnumber列创立函数索引,如图所示:
图4.4.3.4 goods表函数索引
在shoppingcart表gid列创立位图索引,如图所示:
图4.4.3.5 alreadybuy表位图索引
4.4.4建立完整性约束
针对数据库中各表列属性建立完整性约束,涉及唯一性约束和检查约束
在users表ename列添加唯一性约束,如图所示:
图4.4.4.1 users表唯一性约束
在users表passwd列添加检查约束,约束密码位数必要不不大于6位:
图4.4.4.2 usrs表检查约束
在goods表中添加检查约束,商品价格必要不不大于0:
图4.4.4.3 goods表检查约束
4.4.5视图、存储过程和触发器创立
在users创立一种包括顾客基本信息视图,用于以便快捷地查询到顾客地基本信息,如图:
图4.4.5.1 users表视图
在shoppingcart表创立一种关于已经放入购物车商品信息视图,用于顾客可以实时看到购物车信息,如图:
图4.4.5.2 shoppingcart表视图
在users表创立存储过程,以顾客usid为参数,返回顾客密码,以以便迅速查询顾客密码,如图:
图4.4.5.3 users表存储过程
测试调用时,因存储过程中用到了DBMS_OUTPUT.PUT_LINE,因此需要先用命令set serveroutput on启动输出服务,这样在调用存储过程时才干看到其输出值,如图4.4.5.4所示:
图4.4.5.4 存储过程测试
在alreadybuy表创立一种存储过程,以输入顾客ID为参数记录该顾客所购买商品,用于迅速查询已经购买商品,如下图所示:
图4.4.5.5 alreadybuy表存储过程
在users表中创立触发器,当你密码输错时候,不能登录购买商品。触发器创立如下图所示:
图4.4.5.6 users表触发器
4.4.6创立顾客
用create user user_name 来创立顾客,设立一种身份认证密码,默认表空间为CRASYS,在该表空间配额为20M,顾客状态设立为锁定状态,在需要启动该顾客来管理数据库时再解锁该顾客,顾客创立如下图所示:
图4.4.6.1 顾客创立
对admin顾客授权,将该数据库中4个表所有操作权限授予admin顾客,如图所示:
图4.4.6.2 顾客授权
对admin顾客授予connect和resource权限以保证在解锁顾客后可以登录数据库。
图4.4.6.3 顾客授权
4.4.7.逻辑备份
对数据库进行逻辑备份,备份顾客数据,以防系统在运营时浮现各种状况下浮现数据丢失,逻辑备份如下所示,使用EXP导出数据:命令格式为:exp userid=username/password tables=(tablename or username.tablename) file=PATH(途径).dmp,导出方式为导出表。
图4.4.7.1 导出操作
图4.4.7.2 导出数据文献
心得
本学期Oracle课程将近结束了,通过这从课程设计,重新系统又回顾了咱们这学期所学课程内容,在这次课程设计中,也遇到了诸多不能解决问题,在教师和同窗协助下,我基本完毕了数据库系统设计。按照课程设计规定,从需求分析,系统总体设计,数据库设计各个环节,有序地分步完毕系统各项任务,基本完毕了系统中数据库设计与搭建。
从这次课程设计,我也发现了自己局限性,仍旧是对于数据库操作纯熟度不是较好,尚有就是编程能力也有待提高,结束这门课程不代表就结束了对Oracle学习,后来日子,我会更加努力学习技术来提高自己。
展开阅读全文