Oracle数据库设计 图书管理系统.docx
《Oracle数据库设计 图书管理系统.docx》由会员分享,可在线阅读,更多相关《Oracle数据库设计 图书管理系统.docx(14页珍藏版)》请在冰豆网上搜索。
![Oracle数据库设计 图书管理系统.docx](https://file1.bdocx.com/fileroot1/2023-3/30/bcea5182-2666-4a8a-8c9d-88a87e0bba00/bcea5182-2666-4a8a-8c9d-88a87e0bba001.gif)
Oracle数据库设计图书管理系统
天津职业技术师范大学
《数据库原理及应用》课程设计报告
课程名称:
数据库原理及应用
姓名:
学号:
专业:
网络工程
班级:
一、需求分析
1、背景分析
随着图书馆规模得不断扩大,图书数量也相应得增加,有关图书得各种信息量也成倍增加,面对着庞大得信息量,传统得人工方式管理会导致图书馆管理上得混乱,人力与物力过多浪费,图书馆管理费用得增加,从而使图书馆得负担过重,影响整个图书馆得运作与控制管理,因此,必须制定一套合理、有效,规范与实用得图书管理系统,对图书资料进行集中统一得管理。
另一方面,IT产业与Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理得革命,实现了信息得自动化处理,提高了处理得及时性与正确性。
提高图书管理工作效率,作到信息得规范管理,科学统计与快速查询,让图书馆更好得为学校,社会服务.
2、数据结构需求分析
图书馆管理信息系统需要完成功能主要有:
(1)读者基本信息得输入,包括借书证编号、读者姓名、读者性别.
(2)读者基本信息得查询、修改,包括读者借书证编号、读者姓名、读者性别等。
(3)书籍类别标准得制定、类别信息得输入,包括类别编号、类别名称.
(4)书籍类别信息得查询、修改,包括类别编号、类别名称.
(5)书籍库存信息得输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日期。
(6)书籍库存信息得查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期登记日期等.
(7)借书信息得输入,包括读者借书证编号、书籍编号、借书日期。
(8)借书信息得查询、修改,包括借书证编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期等。
(9)还书信息得输入,包括借书证编号、书籍编号、还书日期。
(10)还书信息得查询与修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。
(11)超期还书罚款输入,还书超出期限包括超出期限还书得读者借书证号,书籍编号,罚款金额。
(12)超期还书罚款查询,删除,包括读者借书证编号、读者姓名、书籍编号、书籍名称,罚款金额等
3、事务处理需求分析
(1)在读者信息管理部分,要求:
a、可以查询读者信息。
b、可以对读者信息进行添加及删除得操作.
(2)在书籍信息管理部分,要求:
a、可以浏览书籍信息,要求:
b、可以对书籍信息进行维护,包括添加及删除得操作。
(3)在借阅信息管理部分,要求:
。
a、可以浏览借阅信息。
b、可以对借阅信息进行维护操作.
(4)在归还信息管理部分,要求:
a、可以浏览归还信息
b、对归还信息可修改维护操作
(5)在管理者信息管理部分,要求:
a、显示当前数据库中管理者情况.
b、对管理者信息维护操作。
(6)在罚款信息管理部分,要求:
a、可以浏览罚款信息
b、对罚款信息可以更新
4、关系模式
(1)书籍类别(种类编号,种类名称)
(2)读者(借书证编号,读者姓名,读者性别,读者种类,登记时期)
(3)书籍(书籍编号,书籍名称,书籍类别,书记作者,出版社名称,出版日期,登记日期)
(4)借阅(借书证编号,书籍编号,读者借书时间)
(5)还书(借书证编号,书籍编号,读者还书时间)
(6)罚款(借书证编号,读者姓名,借书证编号,书籍编号,读者借书时间)
以上通过关系代数方法得进行运算得到所需要得结果,在实验结果中可以瞧到。
二、方案图表设计
根据所要实现得功能设计,可能建立它们之间得关系,进而实现逻辑结构功能.
图书管理信息系统可以划分得实体有:
书籍类别信息实体、读者信息实体、书籍信息实体、借阅记录信息实体,归还记录信息实体。
用E-R图一一描述这些实体。
总体E-R图:
总体E-R图
1、图书类别实体E—R图
书籍类别实体
读者姓名
类别名称
图2—1类别实体E-R图
2、读者信息实体E—R图:
读者信息实体
读者借书证编号
读者姓名
读者性别
读者种类e
登记时间
图2-2读者信息实体E-R图
3、信息实体E—R图:
书籍信息实体
书籍编号
书籍名称
书籍类别编号
书籍作者
出版时间
收录时间
就是否被借
出版社
图2-3信息实体E—R图
4、记录信息实体E-R图:
读者借书证编号
书籍类别编号
借阅时间隔
借阅记录信息实体实体
图2-4记录信息实体E—R图
5、记录信息实体E—R图:
归还记录信息实体实体
读者借书证编号
书籍类别编号
归还时间隔
图2-5记录信息实体E-R图
6、罚款信息实体E-R图:
罚款信息实体实体
书籍类别编号
罚款金额
读者姓名
读者借书证编号
书籍名称
借阅时间隔
图2-6罚款信息实体E—R图
7、总得信息实体E-R图:
信息登记
读者实体
书籍实体
书类别实体
归还
借阅
罚款
罚款信息实体
还书信息实体
借阅信息实体
实体
图2—7总得信息实体E—R图
8、数据字典
表2-1 book_sytle书籍类别信息表
表中列名
数据类型
可否为空
说明
bookstyleno
varchar
notnull(主键)
种类编号
bookstyle
Varchar
notnull
种类名称
表2-2 system_readers读者信息表格
表中列名
数据类型
可否为空
说明
readerid
varchar
notnull(主键)
读者借书证号
readername
varchar
notnull
读者姓名
readersex
varchar
notnull
读者性别
readertype
varchar
null
读者种类
regdate
date
null
登记日期
表2-3 system_book书籍信息表
表中列名
数据类型
可否为空
说明
bookid
Varchar
Notnull(主键)
书籍编号
bookname
Varchar
Notnull
书籍名称
bookstyle
Varchar
Notnull
书籍类别
bookauthor
Varchar
Notnull
书籍作者
bookpub
Varchar
Null
出版社名称
bookpubdate
Date
Null
出版日期
bookindate
Date
Null
登记日期
isborrowed
Varchar
NotNull
就是否被借出
表2—4 borrow_record借阅记录信息表
表中列名
数据类型
可否为空
说明
readerid
Varchar
Notnull(外主键)
读者借阅证编号
bookid
Varchar
Notnull(外主键)
书籍编号
borrowdate
Varchar
Notnull
读者借书时间
表2—5 return_record借阅记录信息表
表中列名
数据类型
可否为空
说明
readername
Varchar
Notnull(外主键)
读者借阅证编号
readerid
Varchar
Notnull(外主键)
书籍编号
returndate
Date
Notnull
读者还书时间
表2-6 reader_fee罚款记录信息表
readerid
varchar
Notnull
读者借书证编号
readername
varchar
Notnull
读者姓名
bookid
varchar
Notnull(外主键)
书籍编号
bookname
varchar
Notnull
书籍名称
bookfee
varchar
NotNull
罚款金额
borrowdate
Date
NotNull
借阅时间
三、数据库各表实现
1、创建表空间与用户赋权
createtemporarytablespaceTSGL_TEMP
tempfile’/opt/TSGL/TSGL_TEMP、dbf'
size50m
autoextendon
next50mmaxsize20480m
extentmanagementlocal;
createtablespaceTSGL_DATA
logging
datafile'/opt/TSGL/TSGL_DATA、dbf'
size50m
autoextendon
next50mmaxsize20480m
extentmanagementlocal;
createuserTSGLidentifiedby123456
defaulttablespaceTSGL_DATA
temporarytablespaceTSGL_TEMP;
grantconnect,resource,dbatoTSGL;
2、书本类别表建立
createtablebook_style
(
bookstylenovarchar(30)primarykey,
bookstylevarchar(30)
);
3、创建书库表
createtablesystem_books
(
bookidvarchar(20)primarykey,
booknamevarchar(30)Notnull,
bookstylenovarchar(30)Notnull,
bookauthorvarchar(30),
bookpubvarchar(30),
bookpubdatedatetime,
bookindatedatetime,
isborrowedvarchar
(2),
foreignkey(bookstyleno)referencesbook_style(bookstyleno)
);
4、借书证表建立
createtablesystem_readers
(readeridvarchar(9)primarykey,
readernamevarchar(9)notnull,
readersexvarchar
(2)notnull,
readertypevarchar(10),
regdatedatetime
);
5、借书记录表建立
createtableborrow_record
(bookidvarchar(20)primarykey,
readeridvarchar(9),
borrowdatedatetime,
foreignkey(bookid)referencessystem_books(bookid),
foreignkey(readerid)referencessystem_readers(readerid)
);
6、还书记录表建立
createtablereturn_record
(bookidvarchar(20)primarykey,
readeridvarchar(9),
returndatedatetime,
foreignkey(bookid)referencessystem_books(bookid),
foreignkey(readerid)referencessystem_readers(readerid)
);
7、罚款单表建立
createtablereader_fee
(readeridvarchar(9)notnull,
readernamevarchar(9)notnull,
bookidvarchar(20)primarykey,
booknamevarchar(30)Notnull,
bookfeevarchar(30),
borrowdatedatetime,
foreignkey(bookid)referencessystem_books(bookid),
foreignkey(readerid)referencessystem_readers(readerid)
);
四、数据库实施
1、将书籍类别加入表book_style中
INSERTINTO”TSGL”、”BOOK_STYLE”VALUES(’1','人文艺术类’);
INSERTINTO”TSGL"、"BOOK_STYLE”VALUES('2',’自然科学类');
INSERTINTO”TSGL”、"BOOK_STYLE”VALUES(’3’,'社会科学类’);
INSERTINTO”TSGL"、"BOOK_STYLE”VALUES('4',’图片艺术类');
INSERTINTO"TSGL"、”BOOK_STYLE"VALUES('5’,’政治经济类');
INSERTINTO"TSGL"、"BOOK_STYLE”VALUES('6','工程技术类’);
INSERTINTO"TSGL”、"BOOK_STYLE”VALUES(’7’,'语言技能类’);
2、将已有得图书加入system_books表中
INSERTINTO"TSGL"、"SYSTEM_BOOKS"VALUES(’','计算机组成原理’,’6','王爱英',’清华大学出版社’,TO_DATE(’2001—01-0300:
00:
00’,’YYYY-MM-DDHH24:
MI:
SS’),TO_DATE(’2003-11-1500:
00:
00',’YYYY—MM—DDHH24:
MI:
SS’),'0’);
INSERTINTO”TSGL”、”SYSTEM_BOOKS”VALUES(’00456456’,’数据库原理’,'6’,'萨师煊’,'高等教育出版社',TO_DATE(’2001—01-0300:
00:
00’,'YYYY—MM-DDHH24:
MI:
SS’),TO_DATE(’2003-11-1500:
00:
00’,'YYYY-MM-DDHH24:
MI:
SS'),’1');
INSERTINTO”TSGL"、”SYSTEM_BOOKS”VALUES(’12215121’,'C程序设计',’6','谭浩强','清华大学出版社’,TO_DATE(’2001—01—0300:
00:
00','YYYY-MM—DDHH24:
MI:
SS’),TO_DATE(’2003—11—1500:
00:
00',’YYYY-MM-DDHH24:
MI:
SS’),’1');
INSERTINTO”TSGL"、"SYSTEM_BOOKS”VALUES(’9787308020558’,’计算机体系结构’,’6’,’石教英','浙江大学出版社’,TO_DATE(’2001-01-0300:
00:
00’,'YYYY—MM—DDHH24:
MI:
SS’),TO_DATE(’2003—11-1500:
00:
00',’YYYY-MM-DDHH24:
MI:
SS’),’1’);
INSERTINTO"TSGL”、"SYSTEM_BOOKS”VALUES(’45456141414’,'数据结构(C语言版)’,’6’,'吴伟民,严蔚敏’,’清华大学出版社',TO_DATE(’2001-01-0300:
00:
00',’YYYY—MM-DDHH24:
MI:
SS’),TO_DATE('2003—11—1500:
00:
00',’YYYY—MM-DDHH24:
MI:
SS'),’1');
INSERTINTO"TSGL"、"SYSTEM_BOOKS”VALUES('5455515’,’中华历史5000年',’1','吴强','北京大学出版社’,TO_DATE('2001-01-0300:
00:
00','YYYY-MM—DDHH24:
MI:
SS'),TO_DATE(’2003-11—1500:
00:
00’,'YYYY-MM-DDHH24:
MI:
SS'),'0');
INSERTINTO”TSGL”、”SYSTEM_BOOKS”VALUES('015115’,’古代埃及’,’3’,’赵文华’,’北京大学出版社’,TO_DATE(’2001-01—0300:
00:
00’,'YYYY—MM-DDHH24:
MI:
SS’),TO_DATE(’2003—11—1500:
00:
00',’YYYY—MM—DDHH24:
MI:
SS’),’0’);
INSERTINTO"TSGL"、”SYSTEM_BOOKS”VALUES('1514514’,’日本文化',’1',’吴小鹏’,’北京大学出版社’,TO_DATE(’2001-01—0300:
00:
00','YYYY-MM—DDHH24:
MI:
SS'),TO_DATE('2003-11-1500:
00:
00’,’YYYY-MM-DDHH24:
MI:
SS’),'1’);
INSERTINTO"TSGL”、”SYSTEM_BOOKS”VALUES(’15154656’,'微观经济学’,'5',’李小刚’,’北京大学出版社',TO_DATE('2001-01-0300:
00:
00',’YYYY-MM-DDHH24:
MI:
SS’),TO_DATE('2003—11—1500:
00:
00’,'YYYY—MM—DDHH24:
MI:
SS’),’0');
INSERTINTO”TSGL”、”SYSTEM_BOOKS"VALUES(’5658’,'影视文学',’4’,'苏庆东’,’北京大学出版社’,TO_DATE('2001-01—0300:
00:
00’,'YYYY—MM—DDHH24:
MI:
SS'),TO_DATE('2003—11-1500:
00:
00',’YYYY-MM-DDHH24:
MI:
SS’),'1’);
INSERTINTO”TSGL”、”SYSTEM_BOOKS"VALUES('565800020’,'探索宇宙奥秘’,'2','苏庆东','北京大学出版社',TO_DATE(’2001—01—0300:
00:
00’,'YYYY—MM—DDHH24:
MI:
SS’),TO_DATE('2003—11-1500:
00:
00’,’YYYY-MM—DDHH24:
MI:
SS'),’0’);
INSERTINTO"TSGL”、”SYSTEM_BOOKS”VALUES(’','计算机组成原理’,'6’,'王爱英’,'清华大学出版社',TO_DATE('2001—01—0300:
00:
00',’YYYY-MM-DDHH24:
MI:
SS'),TO_DATE(’2003—11—1500:
00:
00',’YYYY—MM—DDHH24:
MI:
SS’),'0');
3、将已有图书证得读者加入system_readers表中
INSERTINTO"TSGL"、”SYSTEM_READERS”VALUES(’X05620206’,’陈特’,'男’,'学生’,TO_DATE(’2003-11-1500:
00:
00',’YYYY-MM—DDHH24:
MI:
SS'));
INSERTINTO"TSGL"、”SYSTEM_READERS”VALUES('X05620207','陈远鹏’,'男’,’学生',TO_DATE('2005—09—2300:
00:
00',’YYYY—MM-DDHH24:
MI:
SS’));
INSERTINTO"TSGL"、"SYSTEM_READERS"VALUES(’X05620204','赵铭静’,’女’,'学生',TO_DATE('2005—09—2300:
00:
00’,’YYYY—MM—DDHH24:
MI:
SS’));
INSERTINTO"TSGL"、”SYSTEM_READERS"VALUES(’X05620202','潘虹’,’女’,'学生’,TO_DATE(’2005—09-2300:
00:
00',’YYYY-MM-DDHH24:
MI:
SS'));
INSERTINTO"TSGL"、"SYSTEM_READERS"VALUES(’008415’,’蒋伟’,’男','教师',TO_DATE(’2005-09-2300:
00:
00’,'YYYY-MM-DDHH24:
MI:
SS’));
INSERTINTO”TSGL”、”SYSTEM_READERS"VALUES('001456','李叶风','女','教师',TO_DATE('2005-09—2300:
00:
00',’YYYY-MM-DDHH24:
MI:
SS'));
4、添加已借书读者得记录,同时将在已借出得借阅标记置
insertintoborrow_record(bookid,readerid,borrowdate)
values(’',’X05620202’,’2007—09-2711:
24:
54、123’)
updatesystem_books
setisborrowed=0
wherebookid=''
insertintoborrow_record(bookid,readerid,borrowdate)
values(’',’X05620206’,’2007—12-2708:
26:
51、452')
updatesystem_books
setisborrowed=0
wherebookid=’’andisborrowed=’1'
insertintoborrow_record(bookid,readerid,borrowdate)
values(’5455515','X05620207',’2007-12—2708:
26:
51、452’)
updatesystem_books
setisborrowed=0
wherebookid=’5455515'andisborrowed=’1'
insertintoborrow_record(bookid,readerid,borrowdate)
values(’015115’,'X05620204’,’2007—10-2112:
11:
51、452')
updatesystem_books
setisborrowed=0
wherebookid=’015115’andisborrowed='1'
insertintoborrow_record(bookid,rea