《2022年oracle网上购物系统 .pdf》由会员分享,可在线阅读,更多相关《2022年oracle网上购物系统 .pdf(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、湖南工业大学课程设计任务书2014 2015 学年第1 学期计算机与通信学院(系、部)计算机科学与技术专业11 级课程名称:Oracle大型数据库应用完成期限:自2014 年 12 月 1 日至2014 年 12月 7 日共 1 周内容及任务设计一个网上购物系统,实现网上购物的一般流程,可以实现基本的功能。从消费者查看商品,下订单到商家确认,发货,物流进展等功能都可以在这个系统中体现。其中包括消费者子模块,商家子模块,商品信息子模块,商品类别子模块,订单子模块和物流信息子模块等六个系统子模块。进度安排起止日期工作内容2014_12_1 选题,完成可行性分析文档、需求分析文档2014_12_2
2、完成系统的整体结构设计,并进行基本界面设计2014_12_3-12_5 完成系统的详细设计与实现2014_12_6 编码系统测试、学生提交文档完成课程设计说明书2014_12_7 答辩,确定等级,交文档材料( 含电子文档 ) 、源程序主要参考资料1邹俊.基于 Oracle数据库系统性能调整与优化研究D. 江西财经大学 ,2006. 2吕洪敏 .基于 Oracle数据仓库应用技术的研究与实现D. 武汉科技大学 ,2007. 3 魏 亚 楠 , 宋 义 秋 .oracle 数 据 库 应 用 系 统 的 性 能 优 化 J. 制 造 业 自 动化,2010,08:204-206+222. 4姜召凤
3、 .OracleRAC 数据库缓存优化方法研究 D.大连海事大学 ,2009. 5卢方亚 .Oracle数据库软件产品的战略研究与分析D.西南交通大学 ,2007. 6郑阿奇 ,丁有和等 .Oracle 实用教程 M. 北京电子工业出版社 ,2011.1指 导 教 师 (签字):年月日系 ( 教 研 室 ) 主 任 ( 签字):年月日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 15 页 - - - - - - - - - 1 大型数据库课程设计设计说明书网上购物系统的
4、设计与实现起止日期:2014 年 12 月1 日 至2014 年 12 月7 日学生姓名樊 赛班级计 本 1102 班学号11408100220 成绩指 导 教 师 ( 签 字 ) 计算机与通信学院2014 年 12 月 7 日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 15 页 - - - - - - - - - 2 目录1系统需求 . 31.1 需求分析 . 31.2 功能模块图 . 31.3 数据流程图 . 41.4 数据字典 . 42数据库设计 . 72.1
5、数据库的规划 . 72.2 表空间的设计 . 92.3 安全性设置 . 10 2.4 表的设计 . 10 2.5 创建索引 . 122 2.6PL/SQL 完成功能模块 . 错误!未定义书签。 3 3结束语 . 144名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 15 页 - - - - - - - - - 31、系统需求1.1 需求分析该系统主要实现了网上购物的一般流程,可以实现基本的功能。 从消费者查看商品,下订单到商家确认,发货,物流进展等功能都可以在这个系统中体
6、现。其中包括消费者子模块,商家子模块,商品信息子模块,商品类别子模块,订单子模块和物流信息子模块等六个系统子模块。子模块详细信息:1.消费者子模块包括用户名,用户密码,姓名,地址,电子邮件和联系电话等信息;2.商家子模块包括户名,用户密码,姓名和联系电话;3.商品子模块包括商品编号,商品类别,商品名称,销售价格,销售数量和商品详细信息;4.商品类别子模块包括分类编号和分类名称;5.订单子模块包括订单号,商品号,用户名,订购时间,订购数量和销售总价;6.物流子模块包括物流编号,订单号,发货时间,发货地址,收货时间和收货地址。其中用户 (消费者和商家 )可以对各自的部分信息进行修改,如地址,电子邮
7、件和联系电话。其他模块信息一旦确认后就不可再更改,加强系统的安全性。在现在竞争激烈的电子商务中, 系统的安全性和稳定性是首要的选择,其次是提供完善的服务流程。 当然实际上的网上购物系统要比这个复杂得多,在这里我只是做了一个系统的抽象和简单建模,实际上还要包括更多更复杂的子模块和交互性设置来提高系统的可操作性。1.2 功能模块图功能模块图就是将系统的功能进行分解,按功能从属关系表示出来的图表。画出功能模块图主要是为了更加明确的体现内部组织关系,更加清晰的理清内部逻辑关系,做到一目了然规范各自功能部分,使之条理化。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - -
8、 - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 15 页 - - - - - - - - - 4图 1 网上购物系统功能模块图1.3 数据流程图数据流图( Data Flow Diagram) :简称 DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。图 2 数据流程图1.4 数据字典数据流图表达了数据和处理的关系, 数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典中的内容在数据库设计过程
9、中需要不断地修改,充实和完善。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 15 页 - - - - - - - - - 5表 1 customers 表的数据结构表 2 merchants 表的数据结构表 3 goods 表的数据结构表 4 goodstype 表的数据结构表 5 order 表的数据结构表 6 logistics 表的数据结构名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理
10、 - - - - - - - 第 6 页,共 15 页 - - - - - - - - - 62、数据库设计完成了对系统的需求分析之后, 接下去就是数据库的设计阶段。 这个阶段包括数据库的规划,表空间的设计,安全性设置,表的设计,索引和存储过程的建立。可以看做是实现数据库的具体设计和对之前分析结果的细化。2.1 数据库的规划首先是对数据库的规划,包括概念模型设计即E-R 图的设计和逻辑模型的设计即将 E-R 图转换为相应的关系模型。2.1.1 概念模型设计先画出局部E-R 图,即各子模块的实体联系模型,再整理,增加联系,删除冗余后汇总成全局E-R 图。1. 局部 E-R 图图 3 custom
11、ers E-R 图图 4 merchant E-R 图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 15 页 - - - - - - - - - 7图 5 goods E-R 图图 6 goodstype E-R 图图 7 order E-R 图图 8 logistics E-R 图2 全局 E-R 图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共
12、 15 页 - - - - - - - - - 8图 9 全局 E-R 图2.1.2 逻辑模型设计这一过程就是将前面设计好地E-R 图转化成关系模型。消费者(用户名,密码,姓名,地址,电邮,电话);商家(用户名,密码,姓名,电话) ;商品(商品编号,类别,价格,数量,详细信息);商品类别(分类编号,分类名称) ;订单(订单号,商品编号,用户名,订购时间,订购数量,销售总价);物流(物流号,订单号,发货时间,发货地址,收货时间,收货地址);确认(消费者用户名,商家用户名,买家确认,商家确认);销售(用户名,商品编号,销售总量,销售总价);下单(用户名,商品编号,订单号) ;跟踪(物流号,订单号,
13、到达时间,到达地点)。其中加下划线的是主键,加波浪线的是外键。2.2 表空间的设计ORACLE 数据库被划分成称作为表空间的逻辑区域形成ORACLE 数据库的逻辑结构。 一个 ORACLE 数据库能够有一个或多个表空间,而一个表空间则名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 15 页 - - - - - - - - - 9对应着一个或多个物理的数据库文件。表空间是ORACLE 数据库恢复的最小单位,容纳着许多数据库实体 ,如表、视图、索引、聚簇、回退段和临时段等。a
14、) 新建一个用户表空间MYTBS ,要求大小为 500M。MYTBS 表空间下有两个数据文件 MYTBS1.DBF 和 MyTBS2.DBF ,文件分别放在 E 和 F两个不同的磁盘分区。 . create tablespace MYTBS datafile E:pengwenxinMYTBS1.dbf size 250M, E:pengwenxinMYTBS2.dbf size 250M; b) 在 Oracle 环境下创建一个新帐号,帐号名为本人姓名的拼音首字母,密码为学号。create user pwx identified by 1215135242 default tablespac
15、e MYTBS; c) 创建用户配置文件,要求密码的生存周期为30 天,允许输入错误的密码不得超过 5 次,超过 5 次密码锁 2 天。create profile lock_count limit password_life_time 30 failed_login_attempts 5 password_lock_time 2; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 15 页 - - - - - - - - - 10d) 为新帐号分配适当的权限、设置默认表
16、空间为MYTBS 。系统所有对象必须建立在该帐号下,所有对象必须存储在MYTBS 表空间中。create user pwx identified by 1215135242 default tablespace MYTBS; grant connect,resource to pwx; 2.3 安全性设置1创建用户create user pwx identified by 1215135242 Default tablespace MYTBS Temporary tablespace MYTBS; 2. 设置系统权限grant connect,resource to pwx; 3.创建消费者用
17、户和商家用户并授予相应权限Create user cus identified by cus123; Grant all on table customers to cus; Create user mer identified by mer123; Grant all on table merchants to mer; 2.4 表的设计名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 15 页 - - - - - - - - - 11创建 customers表Crea
18、te table customers( Userid varchar2(10) primary key, Password varchar2(10) not null, Name varchar2(10) not null, Address varchar2(20) , Email varchar2(20), Telephone varchar(10); 创建 merchants表Create table merchants( Muserid varchar2(10) primary key, Mpassword varchar2(10) not null, Mname varchar2(10
19、) not null, Mtelephone varchar2(10); 创建 goods表Create table goods( Goodid varchar2(10) primary key, Typeid varchar2(10) not null, Goodname varchar2(10) foreign key, Saleprice number not null, Salecount number, Detail varchar2(100); 创建 goodstype表Create table goodstype( Typeid varchar2(10) primary key,
20、 Typename varchar2(10) not null); 创建 order表Create table order( Ordered varchar2(10) primary key, Goodid varchar2(10) foreign key, Userid varchar2(10) foreign key, Ordertime date not null, Ordercount number not null, Totalprice number); 创建 logistics 表Create table logistics( Logisticsid varchar2(10) p
21、rimary key, Ordered varchar2(10) foreign key, Dispatchtime date not null, 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 15 页 - - - - - - - - - 12Dispatchaddress varchar2(20) not null, Receivetime date, Receiveaddress varchar2(20); 创建 confirm 表Create table con
22、firm( Userid varchar2(10) foreign key, Muserid varchar2(10) foreign key, Uconfirm number check(uconfirm =0 or uconfirm=1), Mconfirm number check(mconfirm=0 or mconfirm=1) ,Constraint confirm_pk primary key(userid,muserid); 创建 sale表Create table sale( Muserid varchar2(10) foreign key, Goodid varchar2(
23、10) foreign key, Salecount number, Totalprice number, Constraint sale_pk primary key(muserid,goodid); 创建 ordering 表Create table ordering( Userid varchar2(10) foreign key, Goodid varchar2(10) foreign key, Ordered varchar2(10) foreign key, Constraint ordering_pk primary key( userid,goodid,ordered); 创建
24、 track 表Create table track( Logisticsid varchar2(10) foreign key, Ordered varchar2(10) foreign key, Arrivetime date, Arriveaddress varchar2(10), Constraint track_pk primary key(logisticsid,ordered); 2.5 创建索引索引提供指针以指向存储在表中指定列的数据值,然后根据指定的排序次序排列这些指针, 数据库使用索引的方式与使用书的目录很相似:通过搜索索引找到特定的值, 然后随着指针到达包含该值的行。用户
25、可以利用索引快速访问数据库表中的特定的值。1.如在 customers表中的 address列建立唯一索引:Create unique index index_address on customers(address); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 15 页 - - - - - - - - - 132.使 goods表的 salecount列按降序排列:Create index index_desc on goods(salecount desc);
26、 2.6 pL/SQL 完成功能模块1添加商品信息的存储过程goods SQL create or replace procedure goods 2 (Goodid in char,Typeid in char,Goodname in char, 3 Saleprice in char,Salecount in char,Detail in char) 4 as 5 begin 6 insert into goods 7 values(Goodid,Typeid,Goodname,Saleprice,Salecount,Detail); 8 end good;/ 2、函数的定义所有商品的数量
27、SQL create or replace function count 2 (goodname in char) 3 return number 4 as 5 cnt number; 6 begin 7 select count(goodname) into cnt 8 from goods; 9 return(cnt); 10 end count; 3、触发器定义删除 goods商品信息表的一条记录,删除记录goodid 的字段值在 good 副本信息表中对应的记录SQL create or replace trigger GoodDelete 2 after delete on good
28、s for each row 3 begin 4 delete from good 5 where goodid=:OLD.goodid; 6 end GoodDelete; 7 / 4、登录模块的建立:declare cursor login (tuser Users.UserName%type,tpwd Users.UserPwd%type) is select * from Users where UserName=pwx and UserPwd=1215135242; loginrow login%rowtype; begin open login(:login.tuser,:logi
29、n.tpwd); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 15 页 - - - - - - - - - 14fetch login into loginrow; if login%found then go_block(main); message( 登录成功! );commit; :login.tuser:=; :login.tpwd:=; :global.quanxian:=loginrow.quanxian; :global.userno:=loginro
30、w.userno; :global.punish:=0; else message(对不起,用户名或密码错误,请重新输入!);commit; :login.tuser:=;:login.tpwd:=; end if; close login; end; 退出:declare alert_button number; begin alert_button:=show_alert(exit_form); if alert_button=ALERT_BUTTON1 then EXIT_FORM; else bell; end if end 3结束语终于把基于 oracle的网上购物系统做好, 做得很
31、简单, 算是把基本模型给做出来了吧。 在做的过程中, 不但是在复习之前所学过的知识,同时也是学习新知识的过程。做的时候才发现自己不懂的东西很多,需要从网上和教材上找资料,边做边学。 这里简单总结一下做这个系统的流程。首先是对系统需求的分析, 罗列出系统涉及的子模块, 再做出相应的流程图和数据字典。其次是进行模块的概念设计和逻辑设计,画出E-R 图和关系模型。最后是对系统的具体设计,包括数据库的规划,表空间,安全性,表,索引和存储过程的设计,基本的设计流程就是这样。通过完成oracle 课程的课程报告,发现和之前学习的sql server在代码的编写上非常相似,所以写代码花费的时间较少,同时也对sql 有了更深入的理解。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 15 页 - - - - - - - - -