您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > oracle数据库大作业
2013-2014学年第二学期《大型数据库技术》考查报告课题名称:图书管理系统系统班级:11软工java2班学号:1115115020姓名:戴春奇成绩:2014年5月1.课题概述1.1课题简介随着社会的发展,人们对知识的需求也不断的增长。在这种形式下,人们就要不断的学习,不断的给自己充电,而图书馆就自然而然地在人们的生活中占据了一定的位置,如何科学的管理图书馆不但关系到读者求知的方便程度,也关系到图书馆的发展。图书馆作为一种信息资源的集散地,用户借阅资料繁多,包含很多的信息数据的管理。现今,有很多的图书馆都是初步开始使用,有些甚至尚未使用计算机进行信息管理。数据信息处理工作量大,容易出错;用于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出。因此一个好的图书馆管理系统是非常重要的。1.2功能描述1.登录模块用户登录:用户在登陆页面登陆,登陆成功进入系统。管理员登陆:用于管理员的登陆,在后台登陆页面登陆,登陆成功进入系统。图书管理员与系统管理员后台功能不一样。查询用户表,对应用户名、密码正确则进入系统,对应用户名密码不正确则显示相应信息。2.图书管理模块对图书进行添加、查询、修改、删除、添加。将输入的图书信息添加到数据库图书表中,以方便进行各种查询及更新操作,根据输入的图书名称或作者,查询数据库图书表中的相应记录并显示相应图书信息,更新数据库图书表中对应记录并显示更新后的图书信息,删除数据库图书表中对应记录。3.副本信息模块对图书的副本信息进行添加、修改、删除。将输入的图书副本信息添加到副本表中,并分配一个独立的中南码根据输入的中南码或国际标准图书编码,查询图书副本表,显示副本信息更新副本表的数据库、删除副本表中所对应的图书信息、修改副本表中错误的信息并更新数据库。4.用户管理模块对用户进行添加、删除、修改。将输入的用户信息添加到用户表中,并分配一个独立的用户号根据输入的用户名的姓名或生日,查询用户表,显示用户信息更新用户表的数据库、删除用户表中所对应的、修改用户中错误的信息并更新数据库。2、数据库设计及实现2.1数据库表清单1、图书信息-----Books表编号字段数据类型数据长度能否为空中文名备注1ISBNChar20否国际标准图书编码主码2TitleChar30是书名3PubnameChar30是出版者名4AuthorChar30是作者名5AuthornoNumber30是作者号6ZNCodeNumber30是中南码2、副本-----Copies表编号字段数据类型数据长度能否为空中文名备注1CopyNoNumber10否副本编号主码2ISBNChar20是国际标准图书编码3、作者信息-----Authors表编号字段数据类型数据长度能否为空中文名备注1AuthorNoNumber10否作者号主码2AuthorNameChar20是作者名4、类别-----Categories表编号字段数据类型数据长度能否为空中文名备注1ZNCodeNumber20否中南码主码2CateNameChar20是目录名5、作家-----Writers表编号字段数据类型数据长度能否为空中文名备注1ISBNChar20否国际标准图书编码主码2AuthorNoNumber20否作者号主码6、出版社-----Publishers表编号字段数据类型数据长度能否为空中文名备注1PubnameChar30否出版者名主码2AddressChar50是地址7、用户-----Users表编号字段数据类型数据长度能否为空中文名备注1UsersNoNumber12否用户编号主码2UserNameChar20否用户名3UserPwdChar20否用户密码4QuanxiaNumber20否权限5BirthdayDate否用户生日6EmailChar30是用户的邮箱7TelChar20是用户的联系电话8AddressChar20是籍贯2.2创建表空间//创建数据表空间SQLcreatetablespaceMYTBS2datafile'e:\oracle\MYTBS\MYTBS1.dbf'size500m;表空间已创建。SQLaltertablespaceMYTBSadddatafile'f:\oracle\MYTBS\MYTBS2.dbf'size500m;表空间已更改。2.3创建用户配置文件SQLCreateprofilelock_timelimit2password_life_time303failed_login_attempts54password_lock_time7;配置文件已创建2.4创建用户及分配权限SQLcreateuserDCQidentifiedby1115115020defaulttablespaceMYTBS;用户已创建。SQLgrantconnect,resource,createviewtoDCQ;授权成功。SQLcommit;提交完成。SQLconnectDCQ/1115115020;已连接。2.5基本表实现2.5.1图书管理系统表的实现(1)表的功能概述。表的存储空间的分配为books表和users表分配1M,其他的表都分配256k具体表的数据列、数据类型、主键、外键、是否为空都在数据库表清单中详细描述.(2)表的实现代码1、图书信息-----Books表SQLrun1createtableBooks2(isbnchar(20)notnullprimarykey,titlechar(30),pubnamechar(30),3authorchar(30),authornonumber(30),zncodenumber(30))4tablespaceMYTBS5*storage(initial1M)表已创建。2、副本-----Copies表SQLcreatetablecopies2(copynonumber(10)notnullprimarykey,3isbnchar(20))4tablespaceMYTBS5storage(initial256k);表已创建。3、作者信息-----Authors表SQLcreatetableAuthors2(zncodenumber(20)notnullprimarykey,catenamechar(20))3tablespaceMYTBS4storage(initial256k);表已创建。4、类别-----Categories表SQLcreatetableCategories2(zncodenumber(20)notnullprimarykey,3catenamechar(20))4tablespaceMYTBS5storage(initial256k);表已创建。5、作家-----Writers表SQLcreatetableWriters2(isbnchar(20)notnull,3authornonumber(20)notnull,4constraintpk_writersprimarykey(isbn,authorno))5tablespaceMYTBS6storage(initial256k);表已创建。6、出版社-----Publishers表SQLcreatetablePublishers2(pubnamechar(30)notnullprimarykey,addresschar(50))3tablespaceMYTBS4storage(initial256k);表已创建。7、用户-----Users表SQLcreatetableUsers2(UserNamechar(20)notnull,3UserPwdchar(20)notnull,4UserNonumber(12)primarykey,5Birthdatenotnull,6Quanxiannumber(20),7Emailchar(30),8TELchar(20),9Addresschar(20))10tablespaceMYTBS11storage(initial1M);表已创建。分配权限:grantselectonbookstoreader;grantselectonpublisherstoreader;grantselectonauthorstoreader;grantselectoncopiestoreader;grantselectonwriterstoreader;grantselectoncategoriestoreader;2.6索引表的实现2.6图书管理系统表的实现索引的创建代码(1)在Books表中的书名创建索引SQLcreateindexBooks_title_idxonBooks(title)2pctfree203tablespaceMYTBS;索引已创建。(2)为Users表的姓名创建索引SQLcreateindexUsers_username_idxonUsers(username)2pctfree203tablespaceMYTBS;索引已创建。(3)为copies表copyNo列添加外键约束,一本书对应只能有一个人借出去,不可能有同时有很多人借同一本书。SQLaltertablecopiesaddconstraintfk_copyforeignkey(copyno)references2Users(UserNo);表已更改。SQLcommit;提交完成。2.7分区表的实现创建一个Books副本books2表,并为其创建分区,使用Hash列分区(分区列authorno),要求创建的两个分区由系统自动生成分区名,并放置在表空间MYTBS1和MyTBS2中实现代码:SQLcreatetablebooks22asselect*fromBooks3Partitionbyhash(authorno)4Partitions25Storein(MYTBS1,MYTBS2);3.功能实现3.1系统登录(1)功能简介用户登录验证,可以创建一个存储过程,输入参数是用户帐号、用户密码,输出参数是整型值。-1表示登录失败,0表示没有此用户,1表示登录成功。(2)实现代码setserveroutputon;createorreplaceprocedurecheck_users(v_nameinusers.UserName%type,v_pwdusers.UserPwd%type,flagoutnumber)IScountsnumber;pcountsnumber;BEGINselectcount(*)intocountsfromuserswhereUserName=v_name;IFcounts0THENselectcount(*)intopcountsfromuserswhereUserPwd=v_pwd;IFpcounts0THENflag:=1;dbms_output.put_line('登录成功!');ENDIF;ELSEflag:=0;dbms_output.put_line('没有此用户!');ENDIF;exceptionwhenno_data_foundthenflag:=-1;dbms_output.put_line('登录失败!');ENDCHECK_USERS;-----调用用户登录验证SETserveroutputON;DECLAREV_NAMEVARCHAR2(25);V_PASSWORDVARCHAR2(25);V_RETURNNUMBER(5);BEGINV_NAME:='admin';V_PASSWORD:='admin';CHECK_USERS(v_name=V_NAME,v_pwd=V_PASSWORD,flag=V_RETURN);DBMS_OUTPUT.PUT_LINE('V_NAME='||V_NAME);DBMS_OUTPU
本文标题:oracle数据库大作业
链接地址:https://www.777doc.com/doc-6449134 .html