1、湖南理工学院计算机学院课程设计报告课 程 Oracle数据库题 目 网上购物系统 学 号 姓 名 罗 前 班 级 计科1404 指引 教师 白天 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 实现.12心得20第一章 引言1.1项目背景进入21世纪以来,电子商
2、务随着着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 发展,顾客对于网络、WINDOWS 等环境 下软件使用比较熟悉,对于新鲜事物,顾客体现出极大兴趣和热情。(2) 经济可行性分析网络在线商城系统给人们带来了以便
5、,成为一种全新商务模式。 因而,不用出门就可以在家购物新潮流已经到来,构建一种网络在线商城系统在经济上是完全可行。2.2系统任务描述系统模块设计遵循整个系统总体设计思路,基于web应用程序开发与数据库设计。2.3体系架构从功能构成角度出发划分系统职能层次,按照从底层到顶层,服务到应用划分办法,网上购物系统基本上可以划分为四个某些:应用运营集成环境层、系统支撑软件架构、功能组件支撑和系统业务模块。其基本构成图如下:(一) 应用运营集成环境层 涉及本系统布置环境平台操作系统(本系统对操作系统无特殊规定,系统可以无缝迁移到Windows/Linux/Unix等常用平台之上)、系统使用数据库管理系统(
6、默认使用Oracle,系统内部数据库访问操作采用灵活数据库方言机制,可以灵活支持系统数据持久层迁移)以及本项目运营应用服务器(Tomcat)(二) 系统支撑软件架构涉及操作系统中TCP/IP合同栈、JRE运营环境,J2EE引擎以及访问数据持久层JDBC API。(三) 功能组件支撑本系统需要不同客户端界面之间实时性响应,需要在基本资源管理层和业务模块之间实现业务间实时通讯功能组件,该组件必要可以兼容当前最成熟,运用范畴最广HTML5/HTTP1.1原则。(四) 功能组件支撑涉及网络在线商城系统运营业务功能模块,如商品管理,顾客浏览查询商品、结算购物车,管理员解决订单、管理商品有关信息。2.4系
7、统设计与功能分析 网上购物系统,可用于某些自由职业者打发时间,热爱网购学生来进行网购平台,它使用以便,易用性强,图形界面清晰明了。该系统页面使用HTML+CSS+JavaScript编写,运用某些Jquery库和bootstrap框架,用Oracle 10g数据库作为后台数据库进行信息存储,用SQL语句完毕商品信息添加,查询,修改,删除操作以及订单修改,删除等,同步这些都可以通过后台管理员页面来实现。此外咱们用JDBC驱动实现前台与后台数据库连接。该系统实现大体功能:(1) 顾客登陆界面。ID号和密码输入对的即可登录。顾客:1. 顾客注册2. 顾客登录3. 查看顾客本人详细信息,涉及顾客名、邮
8、箱地址、上次登录时间等4. 顾客信息修改,涉及邮箱地址与密码等5. 浏览商品详细信息6. 将商品加入购物车7. 删除商品8. 提交订单并支付9. 查看购买记录10. 查看在线人数与当前时间(2) 管理员界面。提供了对车辆信息查询,添加,修改,删除。修改密码等功能。拥有最高权限。容许添加普通顾客信息。管理员:1. 管理员登录2. 查看本人详细信息,涉及顾客名,邮箱地址、上次登录时间等。3. 管理员信息修改,涉及邮箱地址和密码。4. 浏览商品详细信息。5. 商品上架。6. 订单解决图2.1 系统用例图第三章 总体设计通过对系统需求分析,网上购物系统重要划分为两个大某些:消费者子模块和后台子模块。如
9、图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逻辑
10、构造设立4.2.1数据对象构造图用构造图形式全局描述数据库设计:阐明各个数据表之间关系,数据库表核心字和字段等。图4.2 数据对象构造图4.2.2代码表描述表4.2.2四个表阐明序号表名表描述1users存储顾客登录信息2goods存储商品信息3alreadybuy存储顾客已经下单订单信息4shoppingcat购物车内商品信息4.3详细设计-数据字典设计4.3.1顾客表 表4.3.1 数据库-顾客表顾客表:users字段名称数据类型能否空默认值阐明usidnumber(11,0)否无顾客编号,主键,自动增长unamevarchar2(20)否无顾客登录时使用账号名称userpassvarch
11、ar2(20)否无顾客登录时使用密码emailvarchar2(50)否无顾客邮箱lastlogindate 否无顾客上次登录时间 4.3.2购物车表4.3.2 购物车表购物车表:shoppingcard字段名称数据类型能否空默认值阐明sidnumber(11,0)否无主键,角色编号,自动增长usidnumber(11,0)否无顾客角色id,外键gidnumber(11,0)否无商品id,外键gnumbernumber(11,0)否无购买数量4.3.3商品信息表表4.3.3 商品信息表商品信息表:goods字段名称数据类型能否空默认值阐明gidnumber(11,0)否无商品编号,主键gnam
12、evarchar2(100)否无商品名称gnumbernumber (11,0)否无商品库存数量gphotovarchar2(100)是无商品图片文献名称typesvarchar2(100)否无商品类型producervarchar2(50)否无商品生产商pricenumber(11,0)否无商品单价carriagenumber(11,0)否无商品运费pdatedate否无商品上架日期paddressvarchar2(100)否无发货地址describedvarchar2(100)是无商品详细描述4.3.4已购买信息表4.3.4 已购买信息表已购买信息:alreadybuy字段名称数据类型能否
13、空默认值阐明aidnumber(11,0)否无已购买编号,主键,自动增长gidnumber(11,0)否无购买商品编号usidnumber(11,0)否无购买顾客编号gnumbernumber(11,0)否无购买数量buytimedate否无购买时间statementvarchar2(11)否无状态描述4.4.实现4.4.1创立表空间为网上购物系统创立数据库永久性表空间CARSYS,采用区自动扩展,段采用自动管理方式,存储该系统中数据表。用CREATE TABLESPACE语句创立表空间,详细表空间创立如下图4.4.1所示: 图4.4.1 表空间创立4.4.2创立数据库并插入记录为网路购物系统
14、创立数据表,一共共四张表,运用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在数据表上建立索引在
15、四个表中都建立索引,以便于迅速查询,通过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.
16、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表创立一种关于已经放入购物车商品信息视图,
17、用于顾客可以实时看到购物车信息,如图: 图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 al
18、readybuy表存储过程 在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权限以保证在解锁顾客后可以登
19、录数据库。图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学习,后来日子,我会更加努力学习技术来提高自己。