oracle网上购物系统_第1页
oracle网上购物系统_第2页
oracle网上购物系统_第3页
oracle网上购物系统_第4页
oracle网上购物系统_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、湖南工业大学课程设计任务书2014 2015学年第 1 学期 计算机与通信 学院(系、部) 计算机科学与技术 专业 11 级课程名称: Oracle大型数据库应用 完成期限:自 2014 年 12月 1日至 2014 年 12月 7日共 1 周内容及任务设计一个网上购物系统,实现网上购物的一般流程,可以实现基本的功能。从消费者查看商品,下订单到商家确认,发货,物流进展等功能都可以在这个系统中体现。其中包括消费者子模块,商家子模块,商品信息子模块,商品类别子模块,订单子模块和物流信息子模块等六个系统子模块。进度安排起止日期工作内容2014_12_1选题,完成可行性分析文档、需求分析文档2014_

2、12_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姜召凤.OracleRAC数据库缓存优化方法研究D.大连海事大学,2009.5卢方

3、亚.Oracle数据库软件产品的战略研究与分析D.西南交通大学,2007.6郑阿奇,丁有和等.Oracle实用教程M.北京电子工业出版社,2011.1指导教师(签字): 年 月 日系(教研室)主任(签字): 年 月 日大型数据库课程设计设计说明书网上购物系统的设计与实现起止日期: 2014 年 12 月 1 日 至 2014 年 12 月 7 日学生姓名樊赛班级计本1102班学号11408100220成绩指导教师(签字)计算机与通信学院2014 年12 月 7 日目 录1系统需求31.1 需求分析31.2 功能模块图31.3数据流程图41.4 数据字典42数据库设计72.1数据库的规划72.2

4、 表空间的设计92.3 安全性设置102.4 表的设计102.5 创建索引122.6PL/SQL完成功能模块133结束语1421、系统需求1.1 需求分析该系统主要实现了网上购物的一般流程,可以实现基本的功能。从消费者查看商品,下订单到商家确认,发货,物流进展等功能都可以在这个系统中体现。其中包括消费者子模块,商家子模块,商品信息子模块,商品类别子模块,订单子模块和物流信息子模块等六个系统子模块。子模块详细信息:1. 消费者子模块包括用户名,用户密码,姓名,地址,电子邮件和联系电话等信息;2. 商家子模块包括户名,用户密码,姓名和联系电话;3. 商品子模块包括商品编号,商品类别,商品名称,销售

5、价格,销售数量和商品详细信息;4. 商品类别子模块包括分类编号和分类名称;5. 订单子模块包括订单号,商品号,用户名,订购时间,订购数量和销售总价;6. 物流子模块包括物流编号,订单号,发货时间,发货地址,收货时间和收货地址。其中用户(消费者和商家)可以对各自的部分信息进行修改,如地址,电子邮件和联系电话。其他模块信息一旦确认后就不可再更改,加强系统的安全性。在现在竞争激烈的电子商务中,系统的安全性和稳定性是首要的选择,其次是提供完善的服务流程。当然实际上的网上购物系统要比这个复杂得多,在这里我只是做了一个系统的抽象和简单建模,实际上还要包括更多更复杂的子模块和交互性设置来提高系统的可操作性。

6、1.2 功能模块图功能模块图就是将系统的功能进行分解,按功能从属关系表示出来的图表。画出功能模块图主要是为了更加明确的体现内部组织关系,更加清晰的理清内部逻辑关系,做到一目了然规范各自功能部分,使之条理化。图1 网上购物系统功能模块图1.3数据流程图数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。图2 数据流程图1.4 数据字典数据流图表达了数据和处理的关系,数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数

7、据分析所获得的主要成果。数据字典中的内容在数据库设计过程中需要不断地修改,充实和完善。表1 customers表的数据结构表2 merchants表的数据结构表3 goods表的数据结构表4 goodstype表的数据结构表5 order表的数据结构表6 logistics表的数据结构2、数据库设计完成了对系统的需求分析之后,接下去就是数据库的设计阶段。这个阶段包括数据库的规划,表空间的设计,安全性设置,表的设计,索引和存储过程的建立。可以看做是实现数据库的具体设计和对之前分析结果的细化。2.1数据库的规划首先是对数据库的规划,包括概念模型设计即E-R图的设计和逻辑模型的设计即将E-R图转换为

8、相应的关系模型。2.1.1 概念模型设计先画出局部E-R图,即各子模块的实体联系模型,再整理,增加联系,删除冗余后汇总成全局E-R图。1. 局部E-R图图3 customers E-R图图4 merchant E-R图图5 goods E-R图图6 goodstype E-R图图7 order E-R图图8 logistics E-R图2 全局E-R图图9 全局E-R图2.1.2 逻辑模型设计这一过程就是将前面设计好地E-R图转化成关系模型。消费者(用户名,密码,姓名,地址,电邮,电话);商家(用户名,密码,姓名,电话);商品(商品编号,类别,价格,数量,详细信息);商品类别(分类编号,分类名

9、称);订单(订单号,商品编号,用户名,订购时间,订购数量,销售总价);物流(物流号,订单号,发货时间,发货地址,收货时间,收货地址);确认(消费者用户名,商家用户名,买家确认,商家确认);销售(用户名,商品编号,销售总量,销售总价);下单(用户名,商品编号,订单号);跟踪(物流号,订单号,到达时间,到达地点)。其中加下划线的是主键,加波浪线的是外键。2.2表空间的设计ORACLE数据库被划分成称作为表空间的逻辑区域形成ORACLE数据库的逻辑结构。一个ORACLE数据库能够有一个或多个表空间,而一个表空间则对应着一个或多个物理的数据库文件。表空间是ORACLE数据库恢复的最小单位,容纳着许多数

10、据库实体,如表、视图、索引、聚簇、回退段和临时段等。a) 新建一个用户表空间MYTBS,要求大小为500M。MYTBS表空间下有两个数据文件MYTBS1.DBF和MyTBS2.DBF,文件分别放在E和F两个不同的磁盘分区。.create tablespace MYTBSdatafile E:pengwenxinMYTBS1.dbf size 250M,E:pengwenxinMYTBS2.dbf size 250M; b) 在Oracle环境下创建一个新帐号,帐号名为本人姓名的拼音首字母,密码为学号。create user pwx identified by 1215135242default

11、 tablespace MYTBS; c) 创建用户配置文件,要求密码的生存周期为30天,允许输入错误的密码不得超过5次,超过5次密码锁2天。create profile lock_count limitpassword_life_time 30failed_login_attempts 5password_lock_time 2;d) 为新帐号分配适当的权限、设置默认表空间为MYTBS。系统所有对象必须建立在该帐号下,所有对象必须存储在MYTBS表空间中。create user pwx identified by 1215135242default tablespace MYTBS;gran

12、t connect,resource to pwx;2.3 安全性设置1创建用户create user pwx identified by 1215135242Default tablespace MYTBSTemporary tablespace MYTBS;2. 设置系统权限grant connect,resource to pwx;3.创建消费者用户和商家用户并授予相应权限Create user cus identified by cus123;Grant all on table customers to cus;Create user mer identified by mer123

13、;Grant all on table merchants to mer;2.4 表的设计创建customers表Create 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

14、,Mpassword varchar2(10) not null,Mname varchar2(10) 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 good

15、stype(Typeid varchar2(10) primary key,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(L

16、ogisticsid varchar2(10) primary key,Ordered varchar2(10) foreign key,Dispatchtime date not null,Dispatchaddress varchar2(20) not null,Receivetime date,Receiveaddress varchar2(20);创建confirm表Create table confirm(Userid varchar2(10) foreign key,Muserid varchar2(10) foreign key,Uconfirm number check(uco

17、nfirm =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(10) foreign key,Salecount number,Totalprice number,Constraint sale_pk primary key(muserid,goodid);创建orde

18、ring表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);创建track表Create table track(Logisticsid varchar2(10) foreign key,Ordered varchar2(10) foreign key,Arrivetime date,Arri

19、veaddress varchar2(10),Constraint track_pk primary key(logisticsid,ordered);2.5 创建索引索引提供指针以指向存储在表中指定列的数据值,然后根据指定的排序次序排列这些指针,数据库使用索引的方式与使用书的目录很相似:通过搜索索引找到特定的值,然后随着指针到达包含该值的行。用户可以利用索引快速访问数据库表中的特定的值。1.如在customers表中的address列建立唯一索引:Create unique index index_address on customers(address);2.使goods表的salecou

20、nt列按降序排列:Create index index_desc on goods(salecount desc);2.6 pL/SQL完成功能模块1添加商品信息的存储过程goodsSQL> 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,Goodna

21、me,Saleprice,Salecount,Detail); 8 end good;/2、函数的定义所有商品的数量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>

22、; create or replace trigger GoodDelete 2 after delete on goods for each row 3 begin 4 delete from good 5 where goodid=:OLD.goodid; 6 end GoodDelete; 7 /4、登录模块的建立:declarecursor 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,:login.tpwd); fetch login into loginrow; if login%found then go_block('main'); message('登录成功!');commit

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论