Oracle图书馆管理系统.docx

上传人:b****8 文档编号:12671535 上传时间:2023-06-07 格式:DOCX 页数:14 大小:137.64KB
下载 相关 举报
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页
Oracle图书馆管理系统.docx_第6页
第6页 / 共14页
Oracle图书馆管理系统.docx_第7页
第7页 / 共14页
Oracle图书馆管理系统.docx_第8页
第8页 / 共14页
Oracle图书馆管理系统.docx_第9页
第9页 / 共14页
Oracle图书馆管理系统.docx_第10页
第10页 / 共14页
Oracle图书馆管理系统.docx_第11页
第11页 / 共14页
Oracle图书馆管理系统.docx_第12页
第12页 / 共14页
Oracle图书馆管理系统.docx_第13页
第13页 / 共14页
Oracle图书馆管理系统.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Oracle图书馆管理系统.docx

《Oracle图书馆管理系统.docx》由会员分享,可在线阅读,更多相关《Oracle图书馆管理系统.docx(14页珍藏版)》请在冰点文库上搜索。

Oracle图书馆管理系统.docx

Oracle图书馆管理系统

学号:

实训报告

教学院

计算机学院

课程名称

Oracle数据库系统实训

题目

高校图书馆管理信息系统的数据设计与实现

专业

网络工程

班级

姓名

同组人员

指导教师

 

2014年

6月

24日

一、需求分析

1.背景

随着计算机科学日渐成熟,科学技术的不断提高,图书馆希望设计一个图书管理系统,用于管理读者的登记,图书的购入、借出、归还以及注销等。

并且方便管理人员还查阅某位读者、某本图书的借阅情况。

并可加快对当前借阅情况统计的效率,以全面掌握图书的流通情况、提高工作效率、加快信息反馈,为读者提供满意的借阅环境,减轻图书信息管理人员的劳动强度,提高工作效率和质量,从而使图书和读者的管理更加合理化和科学化。

2.实体与属性

图书:

每本图书的编号、价格、书名、作者、出版时间、采订时间。

图书分类:

类别编号、类别名称、该类总数。

书库:

书库编号、书库名称、位置。

地址:

地区编号、地区名称、父编号。

出版社:

出版社编号、出版社名称。

读者:

读者号、姓名、民族、性别、籍贯、身份证号、注册时间、读书证过期时间、借书数目。

系别:

系别名、系别编号。

专业:

入学时间、专业代码、专业名称、学年制。

借阅记录:

借出时间、归还时间、应还时间。

3.实体之间在联系

图书n:

1出版社

图书n:

1分类

图书n:

1书库

图书n:

1读者

图书1:

n借阅记录

借阅记录n:

1读者

出版社n:

1地址

读者(籍贯)n:

1地址

读者n:

1系别

读者n:

1学历

读者n:

1专业

二、概念结构设计

1.E-R图

根据概念模型设计的E-R图,提供了实体型、属性和联系。

2.数据项清单

Name

Code

Domain

DataType

Length

Precision

专业代码

majorId

Characters(12)

12

专业名称

majorName

Characters(30)

30

书名

bookName

Characters(30)

30

书库位置

storgaeposition

Characters(40)

40

书库名称

storageName

Characters(30)

30

书库编号

storageID

Characters(12)

12

价格

price

Decimal(6,1)

6

1

作者

author

Characters(20)

20

借阅时间

borrowDate

Date

出版时间

publishDate

Date

出版社代码

publishCode

Characters(12)

12

出版社名称

publishName

Characters(20)

20

出版社地址

publishAddress

Characters(40)

40

出生年月

readerBirth

Date

分类号

categoryId1

Characters(12)

12

分类号

categoryId

Characters(12)

12

单位代码

unitId

Characters(12)

12

单位名称

uintName

Characters(30)

30

图书编号

bookID

Characters(12)

12

年级

majorGrade

Characters(20)

20

归还时间

returnTime

Date

归还时间

returnDate

Date

性别

readerSex

Characters

(2)

2

政治面貌

readerPoliticsStatus

Characters(4)

4

民族

readerNationlity

Characters

(2)

2

类型名

categoryName

Characters(30)

30

类编号

bcID

Characters(12)

12

索引号

bookindex

Characters(12)

12

职位信息

officePoistion

Characters(40)

40

职别代码

positionId

Number(10,0)

10

职别名称

positionName

Characters(30)

30

角色

roleid

Integer

读者号

readerID

Characters(12)

12

读者号

readerId2

Integer

读者姓名

readerName

Characters(20)

20

贯籍

readerNative

Characters(20)

20

3.相关表信息

表名

属性

主码

BookInfo

图书信息表

bookID、bcID、storageID、price、bookName、author、publishDate、publishCode1

bookID

BookStorageInfo

书库信息表

storageID、storageName、storgaeposition、

storageID

PublishInfo

出版情况

publishCode、bookID、publishName、publishAddress

publishCode

Category

图书分类

bcID、categoryId、categoryName

bcID

majorInfo

专业

majorId、majorGrade、majorName

majorId

readerInfo

读者

readerId、majorId、readerName、readerSex、readerNative、readerBirth、readerNationlity、majorCode、roleid、officePoistion

readerId

unitInfo

单位

unitId、readerId2、uintName

unitId

三、逻辑、物理结构设计

为减少数据冗余,避免更新异常、插入异常和删除异常,该系统的关系模式被规范到3NF。

系统数据库设计如下图所示。

 

四、数据库实施

1.创建表

createtable"Books"(

"Bno"CHAR(10)notnull,

"Cno"CHAR(10),

"Sno"CHAR(10),

"Pnumber"CHAR(10),

"Bprice"INTEGER,

"Bname"CHAR(20),

"Bauthor"CHAR(20),

"Bptime"DATE,

"Bctime"DATE,

constraintPK_BOOKSprimarykey("Bno")

createtable"Borrowing"(

"Rnumber"CHAR(10)notnull,

"Bno"CHAR(10)notnull,

"BOtime"DATE,

"BOretime"DATE,

"BOshtime"DATE,

"BOfine"CHAR

(2),

"BOyesorno"CHAR

(2),

constraintPK_BORROWINGprimarykey("Rnumber","Bno")

createtable"Major"(

"Mno"CHAR(10)notnull,

"Mname"CHAR(20),

"Myears"CHAR

(1),

constraintPK_MAJORprimarykey("Mno")

createtable"Publisher"(

"Pnumber"CHAR(10)notnull,

"Adminid"CHAR(10),

"Pname"CHAR(20),

constraintPK_PUBLISHERprimarykey("Pnumber")

createtable"Readers"(

"Rnumber"CHAR(10)notnull,

"Dno"CHAR(5),

"Adminid"CHAR(10),

"DEno"CHAR(5),

"Mno"CHAR(10),

"Rname"CHAR(20),

"Rnation"CHAR(20),

"Rsex"CHAR

(2),

"Rprovence"CHAR(10),

"RIDcard"CHAR(18),

"Rretime"DATE,

"Rcount"CHAR

(2),

"Rintime"DATE,

constraintPK_READERSprimarykey("Rnumber")

2.创建索引

createindex"Relationship_1_FK"on"Books"(

"Pnumber"ASC

createindex"Relationship_2_FK"on"Books"(

"Cno"ASC

createindex"Index_readerno"on"Borrowing"(

"Rnumber"ASC

createindex"Index_majorno"on"Readers"(

"Mno"ASC

createindex"Index_readername"on"Readers"(

"Rname"ASC

3.创建视图

createorreplaceview"Rnumber_Department"as

selectReaders.Rnumber,Major.Mname,Department.Department

fromReaders,Major,Department

whereReaders.Mno=Major.MnoandReaders.DEno=Department.DEno;

withreadonly

createorreplaceviewunit_readeras

select

readerInfo.readerName,

readerInfo.readerPoliticsStatus,

readerInfo.officePoistion,

unitInfo.uintName

from

unitInfo,

readerInfo

where

readerInfo.readerId2=unitInfo.readerId2

withreadonly

4.创建储存过程

createorreplaceprocedure"AddBooks"(inout)as

(nameClassification.Cname%TYPE)

as

begin

if(exists(select*fromClassificationwhereCname=name))

updateClassificationsetCcount=Ccount+1whereCname=name;

else

insertintoClassification(Cname)values(name);

updateClassificationsetCcount=Ccount+1whereCname=name;

endif;

endAddBooks;

createorreplaceprocedure"AddorUpdateMajor"(inout)as

(mnoMajor.Mno%TYPE,

mnameMajor.Mname%TYPE,

myearMajor.Myears%TYPE)

as

begin

if(exists(select*fromMajorwhereMno=mno))

updateMajorsetMname=mname,Myears=myearwhereMno=mno;

else

insertintoMajor(Mno,Mname,Myears)values(mno,mname,myear);

endif;

endAddorUpdateMajor;

createorreplaceprocedure"DeleteBook"(inout)as

(noBooks.Bno%TYPE)

as

begin

deletefromBookswhereBno=no;

endDeleteBook;

createorreplaceprocedure"DeleteBorrowing"(inout)as

(rnoBorrowing.Rnumber%TYPE,

bnoBorrowing.Bno%TYPE,

btimeBorrowing.BOtime%TYPE)

as

begin

deleteBorrowingwhereRnumber=rnoandBno=bnoandBOtime=btime;

endDeleteBorrowing;

createorreplaceprocedure"SelectBook"(inout)as

(noBname_Saddress.Bno%TYPE)

as

begin

selectSname,Saddress,Bname,BauthorfromBname_SaddresswhereBno=no;

endSelectBook;

createorreplaceprocedure"SelectBorrowing"(inout)as

(rnoBorrowing.Rnumber%TYPE,

bnoBorrowing.Bno%TYPE)

as

begin

select*fromBorrowingwhereRnumber=rnoandBno=bno;

endSelectBorrowing;

 

五、总结

经过这段时间的Oracle数据库实训,让我学到了很多有用的知识,包括建表,索引,视图,存储过程等。

最重要的是我们有机会用电脑自己进行实践,没接触的时候总是觉得它比较深奥的新型语言,在老师的讲解下我掌握了相关知识。

数据库的实验学习使我对数据库的有了新的进步,以后再看到也就不至于什么也不懂,其实那么多数据库我觉得学好一门就行,只是他们的语言可能不大一样,学好一门后就可去认识其它的,这样应该有事半功倍的效果。

感谢老师教给了我有用的知识,以便我在以后学习或认识更多的内容能有新的方法和思维,也能更加有效和快速的去消化吸收新的东西,让我对数据库有了更深的了解。

希望在今后中,Oracle能给我更多帮助。

 

Oracle数据库系统实训课程设计成绩评定表

1、课程设计答辩或质疑记录

1)

 

2)

 

3)

2、答辩情况

a)未能完全理解题目,答辩情况较差□c)理解题目较清楚,问题回答基本正确□

b)部分理解题目,答辩情况较差□d)理解题目透彻,问题回答流利□

3、课程设计报告

a)内容:

不完整□完整□详细□

b)方案设计:

较差□合理□非常合理□

c)实现:

未实现□部分实现□全部实现□

d)文档格式:

不规范□基本规范□规范□

考勤成绩:

占总成绩比例10%

答辩成绩:

占总成绩比例30%

课程设计论文成绩:

占总成绩比例60%

课程设计总成绩:

4、课程设计评语

 

指导教师签字:

年月日

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2