当前位置:文档之家› Oracle课程设计-网上购物系统

Oracle课程设计-网上购物系统

(一)应用运行集成环境层
包括本系统部署环境平台操作系统(本系统对操作系统无特殊要求,系统可以无缝迁移到Windows/Linux/Unix等常见平台之上)、系统使用的数据库管理系统(默认使用Oracle,系统内部数据库访问操作采用灵活的数据库方言机制,能够灵活的支持系统数据持久层迁移)以及本项目运行的应用服务器(Tomcat)
(二)系统支撑软件架构
包括操作系统中的TCP/IP协议栈、JRE运行环境,J2EE引擎以及访问数据持久层的JDBC API。

(三)功能组件支撑
本系统需要不同客户端界面之间的实时性响应,需要在基础资源管理层和业务模块之间实现业务间实时通讯的功能组件,该组件必须能够兼容目前最成熟,运用范围最广的HTML5/HTTP1.1标准。

(四)功能组件支撑
包括网络在线商城系统的运营业务功能模块,如商品管理,用户浏览查询商品、结算购物车,管理员处理订单、管理商品相关信息。

2.4系统设计与功能分析
网上购物系统,可用于一些自由职业者打发时间,热爱网购的学生来进行网购的平台,它使用方便,易用性强,图形界面清晰明了。

该系统页面使用HTML+CSS+JavaScript 编写,运用一些Jquery库和bootstrap框架,用Oracle 10g数据库作为后台的数据库进行
图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四个表说明序号表名表描述
1users存储用户的登录信息
2goods存储商品信息
3alreadybuy存储用户已经下单的订单信息4shoppingcat购物车内商品的信息
4.3具体设计-数据字典设计
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 导出的数据文件
.
整理版。

相关主题