《Oracle课程设计-网上购物系统(12页).doc》由会员分享,可在线阅读,更多相关《Oracle课程设计-网上购物系统(12页).doc(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-Oracle课程设计-网上购物系统-第 12 页湖南理工学院计算机学院课程设计报告课 程 Oracle数据库题 目 网上购物系统 学 号 姓 名 罗 前 班 级 计科1404 指导 教师 白天 2017年 6 月19 日目 录目 录2第一章 引言31.1 项目背景31.2 设计目的31.3 开发工具的选择31.4 开发环境3第二章 需求分析.42.1可行性分析42.2系统任务描述42.3体系架构42.4系统设计和功能分析4第三章 总体设计.7 3.1消费者子模块753.2后台子模块5第四章 数据库设计. 94.1 概念结构设计. 94.2 逻辑结构设计. 104.3 具体设计.114.4 实
2、现.12心得20第一章 引言1.1项目背景进入21世纪以来,电子商务伴随着IT的成熟,逐渐发展壮大,成为网络经济的核心。在电子商务的发展过程中,网络在人群中的使用率不断提高,人们逐渐意识到在线购物的无地域界限、安全、方便快捷及其价格优势,在线购物的队伍也随之扩大。如今网上购物的人群不断增加,为了满足用户的更高体验我深入分析了本系统各个模块之间的协调能力以满足客户需求。该系统的主要目的是:满足用户网上购物需求,方便快捷,足不出户就可以优惠的价格买到最称心如意的商品。1.2 设计目的此课程设计的主要目的是使自己能熟练掌握基于Oracle数据库的应用系统的开发,所以也是基于Oracle的一些基本操作
3、的应用。同样选择这个选题也是因为日益流行的网络购物所展现出来的优势,所以我才设计出这个系统来方便用户来购买实惠的商品。1.3 开发工具选择本系统后台数据库采用Oracle 10g数据库,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大,效率高;前台采用Myeclipse作为主要开发工具,通过JDBC数据库驱动可与Oracle数据库链接。1.4 开发环境系统开发平台:Myeclipse系统开发语言:java数据库管理软件:Oracle 10g第二章 需求分析2.1可行性研究可行性研究阶段的主要任务是在系统初步调查的基础上,对新系统是否能够实现和值得实现等问题做出判断,避免
4、在花费了大量的人力和物力之后才发现系统不能实现或新系统投入使用后没有任何实际意义而引起的浪费,对新系统可行性的分析,要求用最小的代价在尽量短的时间内确定系统是否可行。(1) 技术可行性分析 网络在线商城系统的开发是一项复杂的系统工程。为了保证系统开发成 功,必须采用工程化的系统开发方法,并研究出一些符合工程化标准的开发方法。这些方法旨在指导开发者进行工程化的系统开发,从而加快系统开发的速度,保证质量以及降低开发成本。工程化的系统开发方法确实在开发实践中取得了一定的效果。 (2)运行可行性分析随着计算机知识的普及和推广,越来越多的人掌握了计算机的基本 使用方法和技能。随着Internet 的发展
5、,用户对于网络、WINDOWS 等环境 下的软件使用比较熟悉,对于新鲜事物,用户表现出极大的兴趣和热情。(2) 经济可行性分析网络在线商城系统给人们带来了方便,成为一种全新的商务模式。 因此,不用出门就可以在家购物的新时尚已经到来,构建一个网络在线商城系统在经济上是完全可行的。2.2系统任务描述系统模块的设计遵循整个系统总体设计思路,基于web的应用程序开发与数据库设计。2.3体系架构从功能构成的角度出发划分系统的职能层次,按照从底层到顶层,服务到应用的划分方法,网上购物系统基本上可以划分为四个部分:应用运行集成环境层、系统支撑软件架构、功能组件支撑和系统业务模块。其基本组成图如下:(一) 应
6、用运行集成环境层 包括本系统部署环境平台操作系统(本系统对操作系统无特殊要求,系统可以无缝迁移到Windows/Linux/Unix等常见平台之上)、系统使用的数据库管理系统(默认使用Oracle,系统内部数据库访问操作采用灵活的数据库方言机制,能够灵活的支持系统数据持久层迁移)以及本项目运行的应用服务器(Tomcat)(二) 系统支撑软件架构包括操作系统中的TCP/IP协议栈、JRE运行环境,J2EE引擎以及访问数据持久层的JDBC API。(三) 功能组件支撑本系统需要不同客户端界面之间的实时性响应,需要在基础资源管理层和业务模块之间实现业务间实时通讯的功能组件,该组件必须能够兼容目前最成
7、熟,运用范围最广的HTML5/HTTP1.1标准。(四) 功能组件支撑包括网络在线商城系统的运营业务功能模块,如商品管理,用户浏览查询商品、结算购物车,管理员处理订单、管理商品相关信息。2.4系统设计与功能分析 网上购物系统,可用于一些自由职业者打发时间,热爱网购的学生来进行网购的平台,它使用方便,易用性强,图形界面清晰明了。该系统页面使用HTML+CSS+JavaScript编写,运用一些Jquery库和bootstrap框架,用Oracle 10g数据库作为后台的数据库进行信息的存储,用SQL语句完成商品信息的添加,查询,修改,删除的操作以及订单的修改,删除等,同时这些都可以通过后台管理员
8、的页面来实现。另外我们用JDBC驱动实现前台与后台数据库的连接。该系统实现的大致功能:(1) 用户登陆界面。ID号和密码输入正确即可登录。用户:1. 用户注册2. 用户登录3. 查看用户本人详细信息,包括用户名、邮箱地址、上次登录时间等4. 用户信息修改,包括邮箱地址与密码等5. 浏览商品详细信息6. 将商品加入购物车7. 删除商品8. 提交订单并支付9. 查看购买记录10. 查看在线人数与当前时间(2) 管理员界面。提供了对车辆信息的查询,添加,修改,删除。修改密码等功能。拥有最高的权限。允许添加普通用户信息。管理员:1. 管理员登录2. 查看本人详细信息,包括用户名,邮箱地址、上次登录时间
9、等。3. 管理员信息修改,包括邮箱地址和密码。4. 浏览商品的详细信息。5. 商品的上架。6. 订单的处理图2.1 系统用例图第三章 总体设计经过对系统的需求分析,网上购物系统主要划分为两个大的部分:消费者子模块和后台子模块。如图3.1 系统的总体结构。 图3.1 系统的总体结构3.1消费者子模块前台用户登录后可以进行商品信息的查看,然后看到满意的商品添加到购物车,选好商品后进行结账下单,但后订单信息中可以看到订单状态,同时在收到货后也可以在订单页面进行收货确认,如图3.1.1是前台消费者模块结构。 图3.1 .1前台消费者模块结构3.2后台子模块后台管理员页面主要可以进行商品的查看,然后可以
10、上架商品,就是添加商品,或者对商品的信息进行修改,同时也可以进行订单状态的更改,比如说发货。如图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具体设计
11、-数据字典设计4.3.1用户表 表4.3.1 数据库-用户表用户表:users字段名称数据类型能否空默认值说明usidnumber(11,0)否无用户编号,主键,自动增长unamevarchar2(20)否无用户登录时使用的账号名称userpassvarchar2(20)否无用户登录时使用的密码emailvarchar2(50)否无用户的邮箱lastlogindate 否无用户上次登录的时间4.3.2购物车表4.3.2 购物车表购物车表:shoppingcard字段名称数据类型能否空默认值说明sidnumber(11,0)否无主键,角色编号,自动增长usidnumber(11,0)否无用户角色
12、id,外键gidnumber(11,0)否无商品id,外键gnumbernumber(11,0)否无购买的数量4.3.3商品信息表表4.3.3 商品信息表商品信息表:goods字段名称数据类型能否空默认值说明gidnumber(11,0)否无商品编号,主键gnamevarchar2(100)否无商品名称gnumbernumber (11,0)否无商品的库存数量gphotovarchar2(100)是无商品图片文件名称typesvarchar2(100)否无商品的类型producervarchar2(50)否无商品的生产商pricenumber(11,0)否无商品的单价carriagenumbe
13、r(11,0)否无商品的运费pdatedate否无商品的上架日期paddressvarchar2(100)否无发货地址describedvarchar2(100)是无商品的详细描述4.3.4已购买信息表4.3.4 已购买信息表已购买信息:alreadybuy字段名称数据类型能否空默认值说明aidnumber(11,0)否无已购买编号,主键,自动增长gidnumber(11,0)否无购买的商品编号usidnumber(11,0)否无购买用户的编号gnumbernumber(11,0)否无购买的数量buytimedate否无购买的时间statementvarchar2(11)否无状态的描述4.4.
14、实现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 g
15、ood表创建订单详细表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表的唯一性索引在shoppi
16、ngcart表的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 us
17、rs表的检查约束在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表的存储过程测试调用时,因存储过程中用到了D
18、BMS_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 来创建用户,设置一个身份认
19、证密码,默认表空间为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/p
20、assword tables=(tablename or username.tablename) file=PATH(路径).dmp,导出方式为导出表。图4.4.7.1 导出操作图4.4.7.2 导出的数据文件心得本学期的Oracle课程快要结束了,通过这从课程设计,重新系统的又回顾了我们这学期所学的课程内容,在这次课程设计中,也遇到了很多不能解决的问题,在老师和同学的帮助下,我基本完成了数据库系统的设计。按照课程设计的要求,从需求分析,系统总体设计,数据库设计各个步骤,有序地分步完成系统的各项任务,基本完成了系统中的数据库设计与搭建。从这次课程设计,我也发现了自己的不足,依旧是对于数据库的操作的熟练度不是很好,还有就是编程能力也有待提高,结束这门课程不代表就结束了对Oracle的学习,以后的日子,我会更加努力的学习技术来提升自己。