- 642.00 KB
- 24页
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
'《数据库原理及技术应用》专周——图书管理信息系统实验报告书第2页共30页
Oracle专周实验报告图书管理信息系统目录1专周题目12专周目的和要求12.1目的12.2要求13运行环境13.1硬件环境13.2软件环境14专周时间25专周内容25.1完成的主要功能概述25.2概念模型等设计45.2.1E-R模式图45.2.2所建的表45.3程序的实现95.3.1登陆模块95.3.2管理员主界面模块105.3.3读者主界面模块115.3.4添加图书125.3.5修改出版信息135.3.6修改副本信息155.3.7修改人大码165.3.8图书信息查询185.3.9图书副本信息查询205.3.10用户信息管理模块215专周心得26第22页
Oracle专周实验报告图书管理信息系统1专周题目图书管理信息系统2专周目的和要求2.1目的通过本次专周将这一学年所学关于Oracle的知识系统化,在平时实验课的基础上进一步掌握Oracle相关组建的应用。运用FormsDeveloper工具建立一个简单的数据库应用系统——图书管理信息系统,掌OracleRDBMS的功能,掌握Orcle的Forms、Graphics、SQLReport等开发工具的用法,熟悉Oracle系统下应用系统开发的过程。2.2要求1.熟练掌握数据库的备份、恢复;2.要求用到显示游标、隐式游标、菜单、警告等来完成图书管理信息系统的编写。3运行环境3.1硬件环境CPU:P3同类档次或更高档次以上内存:512MB及其以上内存硬盘空间:40G以上均可显示器:VGA或更高分辨率,建议分辨率为1024x768像素3.2软件环境服务器端操作系统:Windows2000server或Linux客户端操作系统不限数据库:Oracle大型数据库管理系统4专周时间…5专周内容5.1完成的主要功能概述登录界面:此界面包括三个标签(用户名,密码以及界面标题)、两个文本框(用于用户名和密码的输入)、两个按钮(登录、退出)。用户输入用户名和密码,然后点击“登录”按钮,通过到数据库表Users中查找有无相应记录,如果该条记录存在则登录到相应主界面(读者主界面或管理员主界面),如果该条记录不存在则弹出一条提示(用户名或者密码错误,请重新输入!)。“退出”按钮引用了一个警告,提醒用户是否确定要退出系统。管理员主界面:此界面包括七个按钮(用户管理、添加图书、修改出版信息、修改副本信息、修改人大码、退出和返回登录界面)、四个标签。此界面的主要功能是实现管理员的操作权。用户管理界面:此界面的主要功能是添加,修改,删除读者和管理员的基本信息添加图书界面:第22页
Oracle专周实验报告图书管理信息系统此界面的主要功能是录入新书信息(包括ISBN、书名、人大码、人大码目录名、作者名、作者号、出版者、出版者地址、副本编号),根据ISBN判断是否已经存在相应记录,如果存在则提示“该记录已经存在,请重新输入!”,如果暂时没有该记录,则判断各表中是否存在相关记录,若不存在则插入一条相关新纪录。修改出版信息界面:此界面的主要功能是修改出版数据。采用绑定数据库表publishrers,调用出表中信息,管理员可以对该表数据进行修改、添加或者删除的操作。修改副本信息界面:此界面的主要功能是修改副本信息数据。采用绑定数据库表publishrers,调用出表中信息,管理员可以对该表数据进行修改、添加或者删除的操作。修改人大码界面:此界面的主要功能是修改人大码分类目录。采用绑定数据库表Categories,调用出表中信息,管理员可以对该表数据进行修改、添加或者删除的操作。修改副本信息界面:此界面的主要功能是修改副本信息。采用绑定数据库表copies,调用出表中信息,管理员可以对该表数据进行修改、添加或者删除的操作。读者主界面:此界面包括六个按钮(图书信息查询、图书副本信息查询、借书管理、还书管理、退出和返回登录界面)、四个标签。此界面的主要功能是实现读者的操作权。图书信息查询界面:该界面的主要功能是查询图书相关信息。用户通过下拉菜单选择查询方式,根据所选查询方式进行相关信息的查询。图书副本信息查询界面:该界面的主要功能是查询副本信息。用户通过下拉菜单选择查询方式,根据所选查询方式进行相关信息的查询。 附:功能模块图第22页
Oracle专周实验报告图书管理信息系统5.1概念模型等设计5.1.1E-R模式图5.1.2所建的表数据库设计有8张表,分别是:Users表(用户表)Books表(书籍表)、Copies表(副本表)、Authors表(作者表)、Categories表(分类目录表)、Writers表(写书表)、Publishers表(出版社表)、Borrow表(借阅表)。1、Books表字段数据类型数据长度能否为空中文名备注ISBNChar20否国际标准图书编码主码TitleChar50是书名PubnameChar30是出版者名RDCodeNumber是人大码2、Copies表字段数据类型数据长度能否为空中文名备注CopyNoNumber否副本编号主码ISBNChar20是国际标准图书编码3、Authors表字段数据类型数据长度能否为空中文名备注AuthorNoNumber否作者号主码AuthorNameChar20是作者名第22页
Oracle专周实验报告图书管理信息系统4、Categories表字段数据类型数据长度能否为空中文名备注RDCodeNumber否人大码主码CateNameChar20是目录名5、Writers表字段数据类型数据长度能否为空中文名备注ISBNChar20否国际标准图书编码主码AutrerNoNumber否作者号主码6、Publishers字段数据类型数据长度能否为空中文名备注PubNameChar30否出版者名主码AddressChar50是地址7、Users表字段数据类型数据长度能否为空中文名备注UsersNoNumber12否用户编号主码UserNameChar20否用户名UserPwdChar20否用户密码QuanxianChar20否权限EmailNumber30是电子邮箱TelChar20是电话AddressChar20是籍贯建立用户:grantconnect,resourcetolibrarianidentifiedby123456;grantconnecttoreaderidentifiedbyreader;Books表:createtableBooks(copynonumber(10)notnull,isbnchar(20)notnull,titlechar(30),pubnamechar(30),authorchar(30),authornochar(30),rdcodechar(30),第22页
Oracle专周实验报告图书管理信息系统statenumber(4));insertintoBooks(copyno,ISBN,Title,PubName,RDCode,State,author,authorno)values(1001,"A0001","山的那边","yy出版社",1,0,"大卫","1");insertintoBooks(copyno,ISBN,Title,PubName,RDCode,State,author,authorno)values(1002,"A0002","再现山河","xx出版社",2,0,"无敌","2");Authors表:createtableAuthors(authornonumber(10)notnull,authornamechar(20));Categories表:createtableCategories(rdcodechar(20)notnull,catenamechar(20));Writers表:createtableWriters(isbnchar(20)notnull,authornochar(20)notnull);Publishers表:createtablePublishers(pubnamechar(30)notnull,addresschar(50));insertintopublishers(pubname,address)values("yy出版社","浙江");insertintopublishers(pubname,address)values("xx出版社","北京");Copies表:createtablecopies(copynonumber(10)notnull,isbnchar(20));insertintocopies(copyno,isbn)values(1001,"A0001");insertintocopies(copyno,isbn)values(1002,"A0002");Users表:createtableUsers(UserNamechar(20)notnull,UserPwdchar(20)notnull,第22页
Oracle专周实验报告图书管理信息系统UserNonumber(2),Quanxiannumber(20),Emailchar(30),TELchar(20),Addresschar(20));insertintoUsers(UserName,UserPwd,UserNo,QuanXian,Email,TEL,Address)values("杨波","123",1,1,"350357474@qq.com","13550399250","chengdu");insertintoUsers(UserName,UserPwd,UserNo,QuanXian,Email,TEL,Address)values("yangbo","456",2,2,"350357474@qq.com","1355041230","chengdu");授予Reader:grantselectonbookstoreader;grantselectonpublisherstoreader;grantselectonauthorstoreader;grantselectoncopiestoreader;grantselectonwriterstoreader;grantselectoncategoriestoreader;5.1程序的实现5.1.1登陆模块…登陆:declarecursorlogin(tuserUsers.UserName%type,tpwdUsers.UserPwd%type)isselect*fromUserswhereUserName=tuserandUserPwd=tpwd;loginrowlogin%rowtype;beginopenlogin(:login.tuser,:login.tpwd);fetchloginintologinrow;iflogin%foundthengo_block("main");message("登录成功");commit;第22页
Oracle专周实验报告图书管理信息系统:login.tuser:="";:login.tpwd:="";:global.quanxian:=loginrow.quanxian;:global.userno:=loginrow.userno;:global.punish:=0;elsemessage("对不起,用户名或密码错误,请重新输入");commit;:login.tuser:="";:login.tpwd:="";endif;closelogin;end;退出:declarealert_buttonnumber;beginalert_button:=show_alert("exit_form");ifalert_button=ALERT_BUTTON1thenEXIT_FORM;elsebell;endif;end;5.1.1管理员主界面模块第22页
Oracle专周实验报告图书管理信息系统5.1.1读者主界面模块5.1.2添加图书第22页
Oracle专周实验报告图书管理信息系统declarecursora(coBooks.copyno%type)isselect*frombookswherecopyno=co;a1a%rowtype;alert_buttonnumber;beginopena(:booksmana.copyno);fetchaintoa1;ifa%foundthenmessage("对不起,该书已存在");commit;:booksmana.copyno:="";:booksmana.isbn:="";:booksmana.rdcode:="";:booksmana.title:="";:booksmana.pubname:="";:booksmana.author:="";:booksmana.state:="";第22页
Oracle专周实验报告图书管理信息系统:booksmana.authorno:="";elsealert_button:=show_alert("add");ifalert_button=ALERT_BUTTON1theninsertintobooks(copyno,isbn,title,pubname,rdcode,author,state,authorno)values(:booksmana.copyno,:booksmana.isbn,:booksmana.title,:booksmana.pubname,:booksmana.rdcode,:booksmana.author,:booksmana.state,:booksmana.authorno);message("添加成功");commit;elsebell;endif;endif;closea;end;5.1.1修改出版信息第22页
Oracle专周实验报告图书管理信息系统declarecursoru(bnoopublishers.pubname%type)isselect*frompublisherswherepubname=bnoo;u1u%rowtype;alert_buttonnumber;anumber;beginopenu(:publisher.pubname);fetchuintou1;--selectcount(*)intoafrombookswhereISBN=:booksmana.ISBN;ifu%foundthenalert_button:=show_alert("alter");fetchuintou1;ifalert_button=ALERT_BUTTON1thenupdatepublisherssetpubname=:publisher.pubname,address=:publisher.address;message("修改成功");commit;endif;elsemessage("没有此书,无法修改");endif;commit;closeu;end;5.1.1修改副本信息第22页
Oracle专周实验报告图书管理信息系统declarecursoru(bnoocopies.copyno%type)isselect*fromcopieswherecopyno=bnoo;u1u%rowtype;alert_buttonnumber;anumber;beginopenu(:copies.copyno);fetchuintou1;--selectcount(*)intoafrombookswhereISBN=:booksmana.ISBN;ifu%foundthenalert_button:=show_alert("alter");fetchuintou1;ifalert_button=ALERT_BUTTON1thenupdatecopiessetcopyno=:copies.copyno,isbn=:copies.isbn;message("修改成功");commit;第22页
Oracle专周实验报告图书管理信息系统endif;elsemessage("没有此书,无法修改");endif;commit;closeu;end;5.1.1修改人大码declarecursoru(bnoobooks.author%type)isselect*frombookswhereauthor=bnoo;u1u%rowtype;alert_buttonnumber;anumber;beginopenu(:authors.author);fetchuintou1;--selectcount(*)intoafrombookswhereISBN=:booksmana.ISBN;第22页
Oracle专周实验报告图书管理信息系统ifu%foundthenalert_button:=show_alert("alter");fetchuintou1;ifalert_button=ALERT_BUTTON1thenupdatebookssetisbn=:authors.author,rdcode=:authors.rdcode;message("修改成功");commit;endif;elsemessage("没有此书,无法修改");endif;commit;closeu;end;5.1.1图书信息查询declare第22页
Oracle专周实验报告图书管理信息系统cursorb(title1Books.title%type)isselect*frombookswheretitle=title1;b1b%rowtype;cursora(auBooks.author%type)isselect*frombookswhereauthor=au;a1a%rowtype;beginif:search.list1="1"thenopenb(:search.text);fetchbintob1;ifb%foundthen:search.copyno:=b1.copyno;:search.isbn:=b1.isbn;:search.rdcode:=b1.rdcode;:search.title:=b1.title;:search.publish:=b1.pubname;:search.author:=b1.author;:search.state:=b1.state;elsemessage("没有此记录");commit;endif;closeb;endif;if:search.list1="2"thenopena(:search.text);fetchaintoa1;ifa%foundthen:search.copyno:=a1.copyno;:search.isbn:=a1.isbn;:search.rdcode:=a1.rdcode;:search.title:=a1.title;:search.publish:=a1.pubname;:search.author:=a1.author;第22页
Oracle专周实验报告图书管理信息系统:search.state:=a1.state;elsemessage("没有此记录");commit;endif;closea;endif;:global.punish:=0;end;5.1.1图书副本信息查询declarecursorbisselect*fromcopies;bsb%rowtype;v_countbinary_integer;beginselectcount(rowid)intov_countfromcopies;openb;第22页
Oracle专周实验报告图书管理信息系统if(:global.punish=0)thenmessage("已经到达第一页");commit;else:global.punish:=:global.punish-1;foriin0..(:global.punish)loopfetchbintobs;:booksmana.copyno:=bs.copyno;:booksmana.isbn:=bs.isbn;endloop;endif;closeb;end;declarecursorbisselect*fromcopies;bsb%rowtype;v_countbinary_integer;beginselectcount(rowid)intov_countfromcopies;openb;if(:global.punish=v_count)thenmessage("已经到达最后一页");commit;else:global.punish:=:global.punish+1;foriin0..(:global.punish)loopfetchbintobs;:booksmana.copyno:=bs.copyno;:booksmana.isbn:=bs.isbn;endloop;endif;第22页
Oracle专周实验报告图书管理信息系统closeb;end;5.1.1用户信息管理模块…用户信息查看:declarecursoruisselect*fromusers;admrowu%rowtype;v_countbinary_integer;beginselectcount(rowid)intov_countfromusers;openu;if(:global.punish=0)thenmessage("已经到达第一条");commit;else:global.punish:=:global.punish-1;foriin0..(:global.punish)loopfetchuintoadmrow;:adminmana.userno:=admrow.userno;:adminmana.username:=admrow.username;:adminmana.userpwd:=admrow.userpwd;--:adminmana.quanxian:=admrow.quanxian;:adminmana.email:=admrow.email;:adminmana.address:=admrow.address;:adminmana.tel:=admrow.tel;endloop;message(:global.punish);closeu;endif;end;第22页
Oracle专周实验报告图书管理信息系统declarecursoruisselect*fromusers;admrowu%rowtype;v_countbinary_integer;beginselectcount(rowid)intov_countfromusers;openu;if(:global.punish=v_count)thenmessage("已经到达最后一条");commit;else:global.punish:=:global.punish+1;foriin0..(:global.punish)loopfetchuintoadmrow;:adminmana.userno:=admrow.userno;:adminmana.username:=admrow.username;:adminmana.userpwd:=admrow.userpwd;--:adminmana.quanxian:=admrow.quanxian;:adminmana.email:=admrow.email;:adminmana.address:=admrow.address;:adminmana.tel:=admrow.tel;endloop;message(:global.punish);closeu;endif;end;添加用户:declareanumber;alert_buttonnumber;begin第22页
Oracle专周实验报告图书管理信息系统selectcount(*)intoafromuserswhereuserno=:adminmana.userno;ifa!=0thenmessage("该用户已存在.请重新输入注册用户信息");commit;elsealert_button:=show_alert("ZHUCE");ifalert_button=ALERT_BUTTON1theninsertintousers(UserName,UserPwd,UserNo,QuanXian,Email,TEL,Address)values(:adminmana.username,:adminmana.userpwd,:adminmana.userno,2,:adminmana.email,:adminmana.tel,:adminmana.address);message("注册成功");commit;elsebell;endif;endif;end;删除用户:declarepcnumber(8);cursoru(unousers.userno%type)isselect*fromuserswhereuserno=uno;u1u%rowtype;alert_buttonnumber;beginopenu(:adminmana.userno);fetchuintou1;ifu%foundthenalert_button:=show_alert("delete");ifalert_button=ALERT_BUTTON1thenpc:=:adminmana.userno;deletefromuserswhereuserno=pc;第22页
Oracle专周实验报告图书管理信息系统message("删除成功");elsebell;endif;elsemessage("没有此用户");endif;commit;closeu;end;修改用户信息:declarepcnumber(8);cursoru(unousers.userno%type)isselect*fromuserswhereuserno=uno;u1u%rowtype;alert_buttonnumber;anumber;beginopenu(:adminmana.userno);fetchuintou1;selectcount(*)intoafromuserswhereuserno=:adminmana.userno;ifu%foundthenalert_button:=show_alert("alter");fetchuintou1;ifalert_button=ALERT_BUTTON1thenpc:=:adminmana.userno;updateuserssetusername=:adminmana.username,userpwd=:adminmana.userpwd,address=:adminmana.address,tel=:adminmana.tel,email=:adminmana.emailwhereuserno=pc;message("修改成功");第22页
Oracle专周实验报告图书管理信息系统elsebell;endif;elsemessage("修改失败");endif;commit;closeu;end;重置::ADMINMANA.userno:="";:ADMINMANA.username:="";:ADMINMANA.userpwd:="";:ADMINMANA.address:="";:ADMINMANA.email:="";:ADMINMANA.tel:="";1专周心得本次专周题目是图书管理信息系统,目的是将我们这一学年学习的Oracle理论知识用于实践,将分散的知识点有机地统一结合起来尽量开发出一个相对完善的系统。熟练掌握数据库的备份、恢复,掌握游标(包括隐式游标和显示游标)、菜单、警告等的使用,掌握页面布局等所学知识。这次专周不像软件测试专周是团体合作完成,而是要自己一个人完成,所以个人工作量相对大了很多。在专周过程中,遇到了很多问题,对书本知识不熟悉,很多学习过的知识都基本遗忘,所以不得一边专周一边重新温习课本。在温习过程中我发现理论和实践是有很大差别的,有些东西理论上感觉已经掌握但是实际一操作就会有错误出现,对于某些知识不知道该怎样运用在系统中,也不清楚该系统怎样布局,需要用到些什么。不过后来,通过查阅资料,并在同学和实验老师的帮助下基本解决了这些问题。通过这次专周,我把理论知识应用到了实际编程中,熟练掌握了库表的创建,游标、警告、各种布局工具的使用,掌握了数据库的逻辑备份,学会了编写代码实现程序,还学到了很多平时不了解的知识。在此次专周中,我懂得了团队力量的伟大,不知道的知识同学之间可以相互探讨、可以请教实验老师,我们能够从实验老师那里学到很多知识。这次专周为我毕业后适应适应工作打下了基础,了解到团队合作、文档编写、口头与书面表达的重要性。并在专周设计实践中,我提高了自学能力,提高了今后参与开发稍大规模实际软件项目和探索未知领域知识的能力和自信心,学到了很多书本里没有的知识。再次体会到实践对理论知识的提高有不可忽视的作用,并且在实践过程中遇到困难要积极思考、勇于解决,不要轻言放弃!通过这次专周我是受益匪浅,不仅所学知识更加牢固,而且更深刻地了解到了专周对于我们的重要性。第22页'
您可能关注的文档
- 台山养和肾析血液透析有限公司建设项目报告表
- 电梯项目报告 蒋罗娜(1)
- 建设项目报告书审批办事完整版
- 木业有限公司建设项目报告
- 建设项目报告表送审版
- 建设项目报告表送审版
- 台山养和肾析血液透析有限公司建设项目报告表
- 安徽合力股份有限公司轮式装载机一期建设项目报告书
- 中国油脂分离设备企业十二五战略规划咨询项目报告
- 牛羊屠宰厂项目报告
- 安卓项目报告
- 建设项目报告表送审版
- 学生选课系统设计与开发项目报告
- 建设项目报告表审批办事完整版
- 安徽合力股份有限公司轮式装载机一期建设项目报告书
- 绿色生态墓地建设项目报告
- 中国反光器具企业十二五战略规划咨询项目报告
- 安徽合力股份有限公司轮式装载机一期建设项目报告书