1、Oracle数据库设计图书管理系统Oracle数据库设计-图书管理系统 作者: 日期: 天津职业技术师范大学数据库原理及应用课程设计报告课程名称: 数据库原理及应用 姓 名: 学 号: 专 业: 网络工程 班 级: 一、需求分析1、背景分析随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。另一方面,IT产业和Intern
2、et获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。2、数据结构需求分析图书馆管理信息系统需要完成功能主要有:(1) 读者基本信息的输入,包括借书证编号、读者姓名、读者性别。(2) 读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。(3) 书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。(4) 书籍类别信息的查询、修改,包括类别编号、类别名称。(5) 书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别
3、、作者姓名、出版社名称、出版日期、登记日期。(6) 书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期登记日期等。(7) 借书信息的输入,包括读者借书证编号、书籍编号、借书日期。(8) 借书信息的查询、修改,包括借书证编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期等。(9) 还书信息的输入,包括借书证编号、书籍编号、还书日期。 (10) 还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。(11) 超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚款金额。(12) 超期还书罚款
4、查询,删除,包括读者借书证编号、读者姓名、书籍编号、书籍名称,罚款金额等3、事务处理需求分析(1)在读者信息管理部分,要求:a.可以查询读者信息。b.可以对读者信息进行添加及删除的操作。(2 )在书籍信息管理部分,要求:a.可以浏览书籍信息,要求:b.可以对书籍信息进行维护,包括添加及删除的操作。(3)在借阅信息管理部分,要求:。a.可以浏览借阅信息。b.可以对借阅信息进行维护操作。(4)在归还信息管理部分,要求:a.可以浏览归还信息b.对归还信息可修改维护操作(5)在管理者信息管理部分,要求:a.显示当前数据库中管理者情况。b.对管理者信息维护操作。(6)在罚款信息管理部分,要求:a.可以浏
5、览罚款信息b.对罚款信息可以更新4、关系模式(1) 书籍类别(种类编号,种类名称)(2) 读者(借书证编号,读者姓名,读者性别,读者种类,登记时期)(3) 书籍(书籍编号,书籍名称,书籍类别,书记作者,出版社名称,出版日期,登记日期)(4) 借阅(借书证编号,书籍编号,读者借书时间)(5) 还书(借书证编号,书籍编号,读者还书时间)(6) 罚款(借书证编号,读者姓名,借书证编号,书籍编号,读者借书时间)以上通过关系代数方法的进行运算得到所需要的结果,在实验结果中可以看到。二、方案图表设计根据所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。图书管理信息系统可以划分的实体有:书籍
6、类别信息实体、读者信息实体、书籍信息实体、借阅记录信息实体,归还记录信息实体。用E-R图一一描述这些实体。总体E-R图: 总体E-R图1、图书类别实体E-R图图2-1类别实体E-R图2、读者信息实体E-R图:图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 书籍类别信息表表中列名数据类型可否为空说明bookst
7、ylenovarcharnot null(主键)种类编号bookstyleVarcharnot null种类名称表2-2system_readers读者信息表格表中列名数据类型可否为空说明readeridvarcharnot null(主键)读者借书证号readernamevarcharnot null读者姓名readersexvarcharnot null读者性别readertypevarcharnull读者种类regdatedatenull登记日期表2-3system_book书籍信息表表中列名数据类型可否为空说明bookidVarcharNot null(主键)书籍编号booknameV
8、archarNot null书籍名称bookstyleVarcharNot null书籍类别bookauthorVarcharNot null书籍作者bookpubVarcharNull出版社名称bookpubdateDateNull出版日期bookindateDateNull登记日期isborrowedVarcharNot Null是否被借出表2-4borrow_record 借阅记录信息表表中列名数据类型可否为空说明readeridVarcharNot null(外主键)读者借阅证编号bookidVarcharNot null(外主键)书籍编号borrowdateVarcharNot nu
9、ll读者借书时间表2-5return_record 借阅记录信息表表中列名数据类型可否为空说明readernameVarcharNot null(外主键)读者借阅证编号readeridVarcharNot null(外主键)书籍编号returndateDateNot null读者还书时间表2-6reader_fee 罚款记录信息表readeridvarcharNot null读者借书证编号readernamevarcharNot null读者姓名bookidvarcharNot null(外主键)书籍编号booknamevarcharNot null书籍名称bookfeevarcharNot
10、Null罚款金额borrowdateDateNot Null借阅时间三、数据库各表实现1、创建表空间与用户赋权create temporary tablespace TSGL_TEMP tempfile /opt/TSGL/TSGL_TEMP.dbf size 50m autoextend on next 50m maxsize 20480m extent management local; create tablespace TSGL_DATAlogging datafile /opt/TSGL/TSGL_DATA.dbf size 50m autoextend on next 50m ma
11、xsize 20480m extent management local; create user TSGL identified by 123456default tablespace TSGL_DATAtemporary tablespace TSGL_TEMP ; grant connect,resource,dba to TSGL;2、书本类别表建立create table book_style( bookstyleno varchar(30) primary key, bookstyle varchar(30);3、创建书库表create table system_books( bo
12、okid varchar(20) primary key, bookname varchar(30) Not null, bookstyleno varchar(30) Not null, bookauthor varchar(30), bookpub varchar(30) , bookpubdate datetime, bookindate datetime , isborrowed varchar (2) ,foreign key (bookstyleno) references book_style (bookstyleno);4、借书证表建立create table system_r
13、eaders ( readerid varchar(9)primary key, readername varchar(9)not null , readersex varchar(2) not null, readertype varchar(10), regdate datetime);5、借书记录表建立create table borrow_record( bookid varchar(20) primary key, readerid varchar(9), borrowdate datetime, foreign key (bookid) references system_book
14、s(bookid), foreign key (readerid) references system_readers(readerid);6、还书记录表建立create table return_record( bookid varchar(20) primary key, readerid varchar(9), returndate datetime, foreign key (bookid) references system_books(bookid), foreign key (readerid) references system_readers(readerid);7、罚款单表
15、建立create table reader_fee( readerid varchar(9)not null, readername varchar(9)not null , bookid varchar(20) primary key, bookname varchar(30) Not null, bookfee varchar(30) , borrowdate datetime, foreign key (bookid) references system_books(bookid), foreign key (readerid) references system_readers(rea
16、derid);四、数据库实施1、将书籍类别加入表book_style中INSERT INTO TSGL.BOOK_STYLE VALUES (1, 人文艺术类);INSERT INTO TSGL.BOOK_STYLE VALUES (2, 自然科学类);INSERT INTO TSGL.BOOK_STYLE VALUES (3, 社会科学类);INSERT INTO TSGL.BOOK_STYLE VALUES (4, 图片艺术类);INSERT INTO TSGL.BOOK_STYLE VALUES (5, 政治经济类);INSERT INTO TSGL.BOOK_STYLE VALUES
17、(6, 工程技术类);INSERT INTO TSGL.BOOK_STYLE VALUES (7, 语言技能类);2、将已有的图书加入system_books表中INSERT INTO TSGL.SYSTEM_BOOKS VALUES (00125415153, 计算机组成原理, 6, 王爱英, 清华大学出版社, TO_DATE(2001-01-03 00:00:00, YYYY-MM-DD HH24:MI:SS), TO_DATE(2003-11-15 00:00:00, YYYY-MM-DD HH24:MI:SS), 0);INSERT INTO TSGL.SYSTEM_BOOKS VAL
18、UES (00456456, 数据库原理, 6, 萨师煊, 高等教育出版社, TO_DATE(2001-01-03 00:00:00, YYYY-MM-DD HH24:MI:SS), TO_DATE(2003-11-15 00:00:00, YYYY-MM-DD HH24:MI:SS), 1);INSERT INTO TSGL.SYSTEM_BOOKS VALUES (12215121, C程序设计, 6, 谭浩强, 清华大学出版社, TO_DATE(2001-01-03 00:00:00, YYYY-MM-DD HH24:MI:SS), TO_DATE(2003-11-15 00:00:00
19、, YYYY-MM-DD HH24:MI:SS), 1);INSERT INTO TSGL.SYSTEM_BOOKS VALUES (9787308020558, 计算机体系结构, 6, 石教英, 浙江大学出版社, TO_DATE(2001-01-03 00:00:00, YYYY-MM-DD HH24:MI:SS), TO_DATE(2003-11-15 00:00:00, YYYY-MM-DD HH24:MI:SS), 1);INSERT INTO TSGL.SYSTEM_BOOKS VALUES (45456141414, 数据结构(C语言版), 6, 吴伟民,严蔚敏, 清华大学出版社,
20、 TO_DATE(2001-01-03 00:00:00, YYYY-MM-DD HH24:MI:SS), TO_DATE(2003-11-15 00:00:00, YYYY-MM-DD HH24:MI:SS), 1);INSERT INTO TSGL.SYSTEM_BOOKS VALUES (5455515, 中华历史5000年, 1, 吴强, 北京大学出版社, TO_DATE(2001-01-03 00:00:00, YYYY-MM-DD HH24:MI:SS), TO_DATE(2003-11-15 00:00:00, YYYY-MM-DD HH24:MI:SS), 0);INSERT
21、INTO TSGL.SYSTEM_BOOKS VALUES (015115, 古代埃及, 3, 赵文华, 北京大学出版社, TO_DATE(2001-01-03 00:00:00, YYYY-MM-DD HH24:MI:SS), TO_DATE(2003-11-15 00:00:00, YYYY-MM-DD HH24:MI:SS), 0);INSERT INTO TSGL.SYSTEM_BOOKS VALUES (1514514, 日本文化, 1, 吴小鹏, 北京大学出版社, TO_DATE(2001-01-03 00:00:00, YYYY-MM-DD HH24:MI:SS), TO_DAT
22、E(2003-11-15 00:00:00, YYYY-MM-DD HH24:MI:SS), 1);INSERT INTO TSGL.SYSTEM_BOOKS VALUES (15154656, 微观经济学, 5, 李小刚, 北京大学出版社, TO_DATE(2001-01-03 00:00:00, YYYY-MM-DD HH24:MI:SS), TO_DATE(2003-11-15 00:00:00, YYYY-MM-DD HH24:MI:SS), 0);INSERT INTO TSGL.SYSTEM_BOOKS VALUES (5658, 影视文学, 4, 苏庆东, 北京大学出版社, TO
23、_DATE(2001-01-03 00:00:00, YYYY-MM-DD HH24:MI:SS), TO_DATE(2003-11-15 00:00:00, YYYY-MM-DD HH24:MI:SS), 1);INSERT INTO TSGL.SYSTEM_BOOKS VALUES (565800020, 探索宇宙奥秘, 2, 苏庆东, 北京大学出版社, TO_DATE(2001-01-03 00:00:00, YYYY-MM-DD HH24:MI:SS), TO_DATE(2003-11-15 00:00:00, YYYY-MM-DD HH24:MI:SS), 0);INSERT INT
24、O TSGL.SYSTEM_BOOKS VALUES (00125415152, 计算机组成原理, 6, 王爱英, 清华大学出版社, TO_DATE(2001-01-03 00:00:00, YYYY-MM-DD HH24:MI:SS), TO_DATE(2003-11-15 00:00:00, YYYY-MM-DD HH24:MI:SS), 0);3、将已有图书证的读者加入system_readers表中INSERT INTO TSGL.SYSTEM_READERS VALUES (X05620206, 陈特, 男, 学生, TO_DATE(2003-11-15 00:00:00, YYYY
25、-MM-DD HH24:MI:SS);INSERT INTO TSGL.SYSTEM_READERS VALUES (X05620207, 陈远鹏, 男, 学生, TO_DATE(2005-09-23 00:00:00, YYYY-MM-DD HH24:MI:SS);INSERT INTO TSGL.SYSTEM_READERS VALUES (X05620204, 赵铭静, 女, 学生, TO_DATE(2005-09-23 00:00:00, YYYY-MM-DD HH24:MI:SS);INSERT INTO TSGL.SYSTEM_READERS VALUES (X05620202,
26、潘虹, 女, 学生, TO_DATE(2005-09-23 00:00:00, YYYY-MM-DD HH24:MI:SS);INSERT INTO TSGL.SYSTEM_READERS VALUES (008415, 蒋伟, 男, 教师, TO_DATE(2005-09-23 00:00:00, YYYY-MM-DD HH24:MI:SS);INSERT INTO TSGL.SYSTEM_READERS VALUES (001456, 李叶风, 女, 教师, TO_DATE(2005-09-23 00:00:00, YYYY-MM-DD HH24:MI:SS);4、添加已借书读者的记录,同
27、时将在已借出的借阅标记置insert into borrow_record(bookid,readerid,borrowdate)values(00125415152,X05620202,2007-09-27 11:24:54.123)update system_booksset isborrowed=0where bookid=00125415152insert into borrow_record(bookid,readerid,borrowdate)values(00125415153,X05620206,2007-12-27 08:26:51.452)update system_boo
28、ksset isborrowed=0where bookid=00125415153 and isborrowed=1insert into borrow_record(bookid,readerid,borrowdate)values(5455515,X05620207,2007-12-27 08:26:51.452)update system_booksset isborrowed=0where bookid=5455515 and isborrowed=1insert into borrow_record(bookid,readerid,borrowdate)values(015115,X05620204,2007-10-21 12:11:51.452)update system_booksset isborrowed=0where bookid=015115 and isborrowed=1insert into borrow_record(bookid,readerid,borrowdate)values(15154656,001456,2007-12-28 14:11:51.312)update system_books
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1