图书管理系统Oracle文档格式.docx
- 文档编号:16976249
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:7
- 大小:23.56KB
图书管理系统Oracle文档格式.docx
《图书管理系统Oracle文档格式.docx》由会员分享,可在线阅读,更多相关《图书管理系统Oracle文档格式.docx(7页珍藏版)》请在冰豆网上搜索。
(6)从安全的角度出发,规划系统的角色、用户、权限,并通过相关的SQL实现。
(7)预计每个表的大致容量和增长速度,指定备份的方案,写出相关的备份命令。
2.3设计环境
(1)WINDOWSXP系统
(2)Oracle数据库管理系统
2.4开发语言
PL/SQL语言
3分析和设计
为了实现图书管理系统数据库的设计,其主要思路是根据其任务书而来的。
首先是根据资料和其任务书中要实现的主要功能对其进行分析并设计出系统的E-R图。
其次根据E-R图创建主要的表。
然后根据具体的需要创建相应的视图,存储过程和触发器,最后是用户、角色、权限设计和数据的备份方案。
其全部功能的详细创建和实现过程。
后面将会具体的给出。
3.1系统E-R模型
3.2表空间及表的设计
createtablebook
(bnovarchar(10)primarykey,
bnamevarchar(40)notnull,
writervarchar(30)notnull,
btypevarchar(8),
pricefloat,
storenumint,
pubvarchar(50),
pubdayvarchar(15)
);
createtablereader
(rnovarchar(10)primarykey,
rnamevarchar(20)notnull,
sexvarchar
(2)check(sex='
男'
orsex='
女'
),
typevarchar(8)notnull,
bwnumintnotnull,
departvarchar(20),
phonevarchar(15)notnull)
createtableb_borrow
(bnovarchar(10),
rnovarchar(10),
primarykey(bno,rno),
bwdayvarchar(10)notnull,
bkdayvarchar(10)notnull,
foreignkey(bno)referencesbook(bno),
foreignkey(rno)referencesreader(rno)
createtablebmanager
(mnovarchar(10)primarykey,
mnamevarchar(20)notnull,
msexvarchar
(2)check(msex='
ormsex='
mphonevarchar(15)notnull,
addressvarchar(20)notnull
createtableb_manage
(mnovarchar(10),
bnovarchar(10),
primarykey(mno,bno),
tnumintnotnull,
addtimevarchar(10),
bwtimesvarchar(8)notnull,
foreignkey(mno)referencesbmanager(mno),
foreignkey(bno)referencesbook(bno)
createtabler_manage
rnovarchar(10),
primarykey(mno,rno),
rnamevarchar(20),
backvarchar
(2)check(back='
是'
orback='
否'
createtablem_rule
rtypevarchar(10)check(rtype='
丢失赔款'
orrtype=’损坏赔偿’orrtype='
逾期罚款'
)notnull,
cashnumvarchar(10)notnull,
3.3视图设计
createviewbookview
asselect*frombookwherebtype='
计算机'
withcheckoption;
createviewreaderview
asselect*fromreader
wheresex='
createview
borrowinfo(bno,bname,storenum,btype,tnum,bwtimes)
asselectb.bno,bname,storenum,btype,tnum,bwtimes
frombookb,b_managem
whereb.bno=m.bno
3.4存储过程、函数的设计
createorreplaceprocedureshow_reader(p_rnoreader.rno%type)
as
v_bwnumreader.bwnum%type;
begin
selectavg(bwnum)intov_bwnumfromreaderwhererno=p_rno;
dbms_output.put_line(p_rno||'
'
||'
平均借书数是多少:
'
||v_bwnum);
forv_readerin(selectrno,rname,typefromreaderwhererno=p_rnoandbwnum>
v_bwnum)
loop
dbms_output.put_line(v_reader.rno||'
||v_reader.rname||'
||v_reader.type);
endloop;
exception
whenno_data_foundthen
dbms_output.put_line('
不存在最高借书数的读者!
endshow_reader;
过程已创建。
executeshow_reader(5);
PL/SQL过程已成功完成。
3.5触发器设计
触发器
createorreplacetriggertrig_view
insteadofinsertonborrowinfo
foreachrow
declare
v_bnob_manage.bno%type;
selectbnointov_bnofromb_managewheretnum=:
new.tnumandbwtimes=:
new.bwtimes;
insertintobook(bno,bname,storenum,btype)
values(:
new.bno,:
new.bname,:
new.storenum,:
new.btype);
endtrig_view;
触发器已创建。
3.7备份方案设计
4课程设计总
通过本次课程设计,加深了我对软件设计流程的进一步的深入理解,同时熟悉和巩固了自己在数据库上的一些不熟甚至是陌生的知识。
相对于以前的课程设计,这次的课程设计最大的难度是在软件的使用上,在课程设计开始的时候,对于软件oracle10g,本人对其是一窍不通,甚至连对oracle最基本的安装和进入都不知道。
在设计中,很多地方也是因不知道怎么使用oracle而引起的,如数据的备份。
其次是对知识的不熟,在设计中对于数据的插入,过程、函数和触发器的创建,以及用户、角色、权限的授予都有遇到这样或那样的问题,如数据插入的数据与所定义的数据类型不同,过程创建的语法错误和权限授予不成功等。
当然了,也有对设计报告编写的问题,如不知道要怎样排版。
不过这些问题在设计过程中或最后都得以解决,同时也从中吸取了不少的经验教训。
最后,在这次设计中,让我感触最深的一句话是“实践出真知”,只有自己亲自去动手了,才能找到问题,解决问题。
这让我对自己不管是学习上还是生活上都会有很大的帮助。
参考文献
致谢
这次的课程设计能在这么快的时间里完成,一个重要原因是身边人的
倾囊相助。
首先,要感谢编写数据库教材和资料的老师,让我有机会接触和熟悉数据库设计和软件开发过程及其中应注意的问题,为以后开发积累了宝贵的经验。
其次,要感谢指导教师陈智老师,没有陈老师的耐心指导,我能完成这次课程设计可能还要十几二十天。
最后,要感谢我身边的同学,正是有了他们的帮助,我在课程设计中的许多问题才能很快很好的得以解决。
在此过程中我真切地体会到集体和团队的力量的强大。
在课程设计结束之际,真心的对帮助过我的老师和同学说声谢谢,谢谢大家了!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 Oracle