oracle课程设计报告.docx

上传人:小飞机 文档编号:4887089 上传时间:2023-05-21 格式:DOCX 页数:14 大小:293.25KB
返回 下载 相关 举报
oracle课程设计报告.docx_第1页
第1页 / 共14页
oracle课程设计报告.docx_第2页
第2页 / 共14页
oracle课程设计报告.docx_第3页
第3页 / 共14页
oracle课程设计报告.docx_第4页
第4页 / 共14页
oracle课程设计报告.docx_第5页
第5页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《oracle课程设计报告.docx》由会员分享,可在线阅读,更多相关《oracle课程设计报告.docx(14页珍藏版)》请在三一办公上搜索。

1、靠而儡n八字代nnyng Institute of 7echnolagyOracle课程设计题目:网上购物系统学院(部):软件学院专业:软件工程(移动应用开发)名:学号:师:评阅教师:杨 晶完成日期:2014年6月13日星期五一. 系统需求错误!未定义书签。1.1需求分析11.2功能模块图11.3数据流程图21.4数据字典2二. 数据库设计42.1数据库的规划42.2表空间的设计62.3安全性设置72.4表的设计82.5创建索引102.6PL/SQL完成功能模块错误!未定义书签。三. 结束语12系统需求2.1需求分析该系统主要实现了网上购物的一般流程,可以实现基本的功能。从消费者查 看商品,下

2、订单到商家确认,发货,物流进展等功能都可以在这个系统中体现。 其中包括消费者子模块,商家子模块,商品信息子模块,商品类别子模块,订单 子模块和物流信息子模块等六个系统子模块。子模块详细信息:1. 消费者子模块包括用户名,用户密码,姓名,地址,电子邮件和联 系电话等信息;2. 商家子模块包括户名,用户密码,姓名和联系电话;3. 商品子模块包括商品编号,商品类别,商品名称,销售价格,销售数量和商品详细信息;4. 商品类别子模块包括分类编号和分类名称;5. 订单子模块包括订单号,商品号,用户名,订购时间,订购数量和 销售总价;6. 物流子模块包括物流编号,订单号,发货时间,发货地址,收货时 间和收货

3、地址。其中用户(消费者和商家)可以对各自的部分信息进行修改,如地址,电子邮 件和联系电话。其他模块信息一旦确认后就不可再更改,加强系统的安全性。在现在竞争激烈的电子商务中,系统的安全性和稳定性是首要的选择,其次 是提供完善的服务流程。当然实际上的网上购物系统要比这个复杂得多,在这里 我只是做了一个系统的抽象和简单建模,实际上还要包括更多更复杂的子模块和 交互性设置来提高系统的可操作性。2.2功能模块图功能模块图就是将系统的功能进行分解,按功能从属关系表示出来的图表。画出功能模块图主要是为了更加明确的体现内部组织关系,更加清晰的理 清内部逻辑关系,做到一目了然规范各自功能部分,使之条理化。图1网

4、上购物系统功能模块图2.3数据流程图数据流图(Data Flow Diagram:简称DFD,它从数据传递和加工角度,以 图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程, 是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。图2数据流程图2.4数据字典数据流图表达了数据和处理的关系,数据字典则是系统中各类数据描述的集 合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典中的内容在 数据库设计过程中需要不断地修改,充实和完善。表1 customers表的数据结构列名 数据类型 长度是否允许为空值说明useridvarchar210X用户名 用户密码p

5、asswordvarcharS10Xnairevarchar210X姓名addressvarchar220地址emailvarchar220电子邮件 联系电话telephonevarchar210表2 merchants表的数据结构数据类型壬度是否允许为空值说明innseridvarchar210X用户名1inpass wordvarchar210X用户密码mnamevarchar210X姓名mtelephonevarchar210联系电话表3 goods表的数据结构数据类型长度是否允许为空值说明goodidvarchar210X商品编号typeidvarchar210X商品类别goodnam

6、evaxchar210X商品名称salepri cenumberX销售价格salecountnuinb 已 rw销售数量detailvarchar2100商品消息信息表4 goodstype表的数据结构列名 数据类型长度否允许为径说明typeidvarchar210X分类编号typenamevarchar210X分类名称表5 order表的数据结构数据类型长度百允许为宅说明ord 己ri dvarchar210X订单号goodi dvarcharS10X商品号useridvarchar210X用户名1ordert imedateX订购时间ordercountnumberX订购薮量totalpr

7、ienumberw销售总价表6 logistics表的数据结构列名 数据类型长度否允许为笠说明legisticsidvarchar210X物流编号or deridvarchar210X订单号dispatchtimedateX发贷时间di spat chaddr巳日mvax,chaz,220X发货弛址received imedate低货时间receiveaddressvarchar220收货地址三.数据库设计完成了对系统的需求分析之后,接下去就是数据库的设计阶段。这个阶段包 括数据库的规划,表空间的设计,安全性设置,表的设计,索引和存储过程的建 立。可以看做是实现数据库的具体设计和对之前分析结果

8、的细化。3.1数据库的规划首先是对数据库的规划,包括概念模型设计即E-R图的设计和逻辑模型的设计即将E-R图转换为相应的关系模型。3.1.1概念模型设计先画出局部E-R图,即各子模块的实体联系模型,再整理,增加联系,删 除冗余后汇总成全局E-R图。1.局部E-R图图 4 merchant E-R 图图 6 goodstype E-R 图图 8 logistics E-R 图2全局E-R图密码电话商家确认5U5U用尸名商品总价地址分美各称下单价格订单号编F名称=MM S.Frllnnr订茧导信息田户客专傍时间收专地1收佶时间图9全局E-R图订单类另商品瑚物流专傍郴.扯3.1.2逻辑模型设计这一过

9、程就是将前面设计好地E-R图转化成关系模型。消费者(用户名,密码,姓名,地址,电邮,电话);商家(用户名,密码,姓名,电话);商品(商品编号,类别,价格,数量,详细信息);商品类别(分类编号,分类名称);订单(订单号,商品编号,用户名,订购时间,订购数量,销售总价); 物流(物流号,订单号,发货时间,发货地址,收货时间,收货地址); 确认(消费者用户名,商家用户名,买家确认,商家确认);销售(用户名,商品编号,销售总量,销售总价);下单(用户名,商品编号,订单号);跟踪(物流号,订单号,到达时间,到达地点)。其中加下划线的是主键,加波浪线的是外键。3.2表空间的设计ORACLE数据库被划分成称

10、作为表空间的逻辑区域形成ORACLE数据库的逻辑结构。一个ORACLE数据库能够有一个或多个表空间,而一个表空间则 对应着一个或多个物理的数据库文件。表空间是ORACLE数据库恢复的最小单 位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时段等。a)新建一个用户表空间MYTBS,要求大小为500M。MYTBS表空间下有 两个数据文件MYTBS1.DBF和MyTBS2.DBF,文件分别放在E和F 两个不同的磁盘分区。.create tablespace MYTBSdatafile E:pengwenxinMYTBS1.dbf9 size 250M, E:pengwenxinMYTBS

11、2.dbf9 size 250M;SQL create tahlBspacG MVTBG2 11b f E s penicfviGrixin. dbf f g isc 2GBM,3 1 E: SpcngnjcnMinWVTBG2 -dhfJ size 250N;表至间已创建:SQL半;b)在Oracle环境下创建一个新帐号,帐号名为本人姓名的拼音首字母,密 码为学号。create user pwx identified by 1215135242default tablespace MYTBS;create uiser puK identif led by 1215135242 , defau

12、lt tablespace nVIBS;用户已创建QL .半;_c)创建用户配置文件,要求密码的生存周期为30天,允许输入错误的密码不 得超过5次,超过5次密码锁2天。create profile lock_count limitpassword_life_time 30failed_login_attempts 5password_lock_time 2;create profile loc)c_coiint Unit2 password_lie_t ine 303 failed_lQgin_attempts 54 password_locli_t irne 2 ;官置文件已创建SdLd)为

13、新帐号分配适当的权限、设置默认表空间为MYTBS。系统所有对象必 须建立在该帐号下,所有对象必须存储在MYTBS表空间中。create user pwx identified by 1215135242default tablespace MYTBS;grant connect,resource to pwx;create uiser puK identif led by 1215135242 , default tablespace nVIBS;B户已创建QL . 半;GQL ffv-ant connect,resource to pux;k权成功0SQL3.3安全性设置1. 创建用户cre

14、ate 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;Grant all on table merchants to mer;3.4表的

15、设计 仓0建 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, Mpassword varchar2(10) not null

16、, 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);仓0建 goodstype 表Create table goodstype(Typeid varchar2(

17、10) primary key, Typename varchar2(10) not null);仓0建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);仓0建 logistics 表Create table logistics(Logisticsid v

18、archar2(10) primary key, Ordered varchar2(10) foreign key, Dispatchtime date not null,Dispatchaddress varchar2(20) not null,Receivetime date,Receiveaddress varchar2(20);仓0建 confirm 表Create table confirm(Userid varchar2(10) foreign key,Muserid varchar2(10) foreign key,Uconfirm number check(uconfirm =

19、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);仓0建 ordering

20、 表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,Arrivea

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

22、t列按降序排列:Create index index_desc on goods(salecount desc);2.6 pL/SQL完成功能模块1 .添加商品信息的存储过程goodsSQL create or replace procedure goods2 (Goodid in char,Typeid in char,Goodname in char,3 Saleprice in char,Salecount in char,Detail in char)4 as5 begin6 insert into goods7 values(Goodid,Typeid,Goodname,Salepr

23、ice,Salecount,Detail);8 end good;/2、函数的定义所有商品的数量SQL create or replace function count2 (goodname in char)3 return number4 as5 cnt number;6 begin7 select count(goodname) into cnt8 from goods;9 return(cnt);10 end count;3、触发器定义删除goods商品信息表的一条记录,删除记录goodid的字段值在good副本信息 表中对应的记录SQL create or replace trigge

24、r GoodDelete2 after delete on goods for each row3 begin4 delete from good5 where goodid=:OLDgoodid;6 end GoodDelete;7 /4、登录模块的建立:declarecursor login (tuser Users.UserName%type,tpwd UsersUserPwd%type)isselect * from Userswhere UserName=pwx and UserPwd=1215135242;loginrow login%rowtype;beginopen login

25、(:login.tuser,:login.tpwd);fetch login into loginrow;if login%found thengo_block(*main*);message(登录成功! );commit;:login.tuser:=,;:login.tpwd:=;:global.quanxian:=loginrow.quanxian;:global.userno:=loginrow.userno;:global.punish:=0;elsemessage(对不起,用户名或密码错误,请重新输入! );commit;:login.tuser:=;:login.tpwd:=;en

26、d if;close login;end;退出:declarealert_button number;beginalert_button:=show_alert(*exit_fbrm);if alert_button=ALERT_BUTTON1 thenEXIT FORM;elsebell;end if end三结束语终于把基于oracle的网上购物系统做好,做得很简单,算是把基本模型给做 出来了吧。在做的过程中,不但是在复习之前所学过的知识,同时也是学习新知 识的过程。做的时候才发现自己不懂的东西很多,需要从网上和教材上找资料, 边做边学。这里简单总结一下做这个系统的流程。首先是对系统需求的分析,罗 列出系统涉及的子模块,再做出相应的流程图和数据字典。其次是进行模块的概 念设计和逻辑设计,画出E-R图和关系模型。最后是对系统的具体设计,包括 数据库的规划,表空间,安全性,表,索引和存储过程的设计,基本的设计流程 就是这样。通过完成oracle课程的课程报告,发现和之前学习的sql server在代 码的编写上非常相似,所以写代码花费的时间较少,同时也对sql有了更好地理 解

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号