(论文)数据库课程 图书馆最新优秀毕业论文资料搜集呕血奉献_第1页
(论文)数据库课程 图书馆最新优秀毕业论文资料搜集呕血奉献_第2页
(论文)数据库课程 图书馆最新优秀毕业论文资料搜集呕血奉献_第3页
(论文)数据库课程 图书馆最新优秀毕业论文资料搜集呕血奉献_第4页
(论文)数据库课程 图书馆最新优秀毕业论文资料搜集呕血奉献_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录目录 1.问题描述问题描述.2 1.1 背景.2 1.2 数据需求.2 1.3 事物需求.3 1.4 关系模式.3 .方案图表设计方案图表设计 .3 2.1 E-R 图.3 2.2 数据流程图.8 2.3 数据字典.9 2.4 关系图:.11 3.数据库源代码数据库源代码 .12 3.1 数据库建立.12 3.2 数据初始化.14 4.结果数据处理结果数据处理 .17 4.1 单表查询.17 4.2 超期处理.19 4.3 还书操作.20 4.4 借书操作.22 4.5 书籍状态.24 4.6 读者状态.24 5.结束语结束语.26 5.1 课程设计心得26 1 1.问题描述问题描述 1.11.1 背景背景 随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加, 面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费, 图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此, 必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。 另一方面,IT 产业和 Internet 获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管 理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。 提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的 为学校,社会服务。 1.21.2 数据需求数据需求 图书馆管理信息系统需要完成功能主要有: 1. 读者基本信息的输入,包括借书证编号、读者姓名、读者性别。 2读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。 3书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。 4书籍类别信息的查询、修改,包括类别编号、类别名称。 5书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名 称、出版日期、登记日期。 6书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出 版社名称、出版日期登记日期等。 7借书信息的输入,包括读者借书证编号、书籍编号、借书日期。 8借书信息的查询、修改,包括借书证编号、读者编号、读者姓名、书籍编号、书籍 名称、借书日期等。 9还书信息的输入,包括借书证编号、书籍编号、还书日期。 10还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名 称、借书日期、还书日期等。 11超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号, 罚款金额。 12超期还书罚款查询,删除,包括读者借书证编号、读者姓名、书籍编号、书籍名称, 罚款金额等 2 1.31.3 事物需求事物需求 (1)在读者信息管理部分,要求: a.可以查询读者信息。 b.可以对读者信息进行添加及删除的操作。 (2 )在书籍信息管理部分,要求: a.可以浏览书籍信息,要求: b.可以对书籍信息进行维护,包括添加及删除的操作。 (3)在借阅信息管理部分,要求:。 a.可以浏览借阅信息。 b.可以对借阅信息进行维护操作。 (4)在归还信息管理部分,要求: a.可以浏览归还信息 b.对归还信息可修改维护操作 (5)在管理者信息管理部分,要求: a.显示当前数据库中管理者情况。 b.对管理者信息维护操作。 (6)在罚款信息管理部分,要求: a.可以浏览罚款信息 b.对罚款信息可以更新 1.41.4 关系模式关系模式 (一) 书籍类别(种类编号,种类名称) (二) 读者(借书证编号,读者姓名,读者性别,读者种类,登记时期) (三) 书籍(书籍编号,书籍名称,书籍类别,书记作者,出版社名称,出版日期,登记日期) (四) 借阅(借书证编号,书籍编号,读者借书时间) (五) 还书(借书证编号,书籍编号,读者还书时间) (六) 罚款(借书证编号,读者姓名,借书证编号,书籍编号,读者借书时间) 以上通过关系代数方法的进行运算得到所需要的结果,在实验结果中可以看到。 .方案图表设计方案图表设计 2.12.1 E-R 图图 根据 1)所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。 图书管理信息系统可以划分的实体有:书籍类别信息实体、读者信息实体、书籍信息实体、借 阅记录信息实体,归还记录信息实体。用 E-R 图一一描述这些实体。 3 2.1.1 类别实体类别实体 E-R 图:图: 书籍类别实体书籍类别实体 读者姓名读者姓名类别名称类别名称 图 2-1 类别实体 E-R 图 2.1.2 读者信息实体读者信息实体 E-R 图:图: 读者信息实体读者信息实体 读者借书读者借书 证编号证编号 读者姓名读者姓名 读者性读者性 别别 读者种类读者种类 e 登记时间登记时间 图 2-2 读者信息实体 E-R 图 4 2.1.3 信息实体信息实体 E-R 图:图: 书籍信息实体书籍信息实体 书籍编号书籍编号 书籍名称书籍名称 书籍类别编号书籍类别编号 书籍作者书籍作者 出版时间出版时间 收录时间收录时间 是否被借是否被借 出版社出版社 图 2-3 信息实体 E-R 图 2.1.4.记录信息实体记录信息实体 E-R 图:图: 读者借书证读者借书证 编号编号书籍类别书籍类别 编号编号 借阅时间借阅时间 隔隔 借阅记录信息实体实体借阅记录信息实体实体 图 2-4 记录信息实体 E-R 图 5 2.1.5 记录信息实体记录信息实体 E-R 图:图: 归还记录信息实体实体归还记录信息实体实体 读者借书证读者借书证 编号编号书籍类别书籍类别 编号编号 归还时间归还时间 隔隔 图 2-5 记录信息实体 E-R 图 2.1.6 罚款信息实体罚款信息实体 E-R 图:图: 罚款信息实体罚款信息实体 实体实体 书籍类别书籍类别 编号编号 罚款金额罚款金额 读者姓名读者姓名 读者借书证读者借书证 编号编号 书籍名称书籍名称 借阅时间借阅时间 隔隔 图 2-6 罚款信息实体 E-R 图 6 2.1.6 总的信息实体总的信息实体 E-R 图:图: 信息登记信息登记 读者实体读者实体 书籍实体书籍实体 书类别实体书类别实体 归还归还 借阅借阅 罚款罚款 罚款信息实体罚款信息实体 还书信息实体还书信息实体 借阅信息实体借阅信息实体 实体实体 图 2-7 总的信息实体 E-R 图 7 超期罚款超期罚款 D6 2.22.2 数据流程图数据流程图 D5 归还信息录入归还信息录入 基本信息录入基本信息录入 D2 D1 基本信息录入基本信息录入 基本信息录入基本信息录入 D3 D4 借阅信息录入借阅信息录入 读者信息返回读者信息返回 书籍信息返回书籍信息返回 图 2-7 系统的数据流程图 书籍类别设置书籍类别设置 读者登记读者登记 书籍类别信息管理书籍类别信息管理 书籍登记书籍登记 读者信息管理读者信息管理书籍信息管理书籍信息管理 借阅信息管理借阅信息管理 8 2.32.3 数据字典数据字典 表-1 book_sytle 书籍类别信息表 表中列名表中列名数据类型数据类型可否为空可否为空说明说明 bookstylenovarcharnot null(主键主键)种类编号种类编号 bookstyleVarcharnot null种类名称种类名称 表-2 system_readers 读者信息表格 表中列名表中列名数据类型数据类型可否为空可否为空说明说明 readeridvarcharnot null(主键主键)读者借书证号读者借书证号 readernamevarcharnot null读者姓名读者姓名 readersexvarcharnot null读者性别读者性别 readertypevarcharnull读者种类读者种类 regdatedatetimenull登记日期登记日期 表 2-3 system_book 书籍信息表 表中列名表中列名数据类型数据类型可否为空可否为空说明说明 bookidVarcharNot null(主键主键)书籍编号书籍编号 booknameVarcharNot null书籍名称书籍名称 bookstyleVarcharNot null书籍类别书籍类别 bookauthorVarcharNot null书籍作者书籍作者 bookpubVarcharNull出版社名称出版社名称 bookpubdateDatetimeNull出版日期出版日期 bookindateDatetimeNull登记日期登记日期 isborrowedVarcharNot Null是否被借出是否被借出 表 2-4 borrow_record 借阅记录信息表 表中列名表中列名数据类型数据类型可否为空可否为空说明说明 readeridVarcharNot null(外主键外主键)读者借阅证编号读者借阅证编号 bookidVarcharNot null(外主键外主键)书籍编号书籍编号 borrowdateVarcharNot null读者借书时间读者借书时间 9 表 2-5 return_record 借阅记录信息表 表中列名表中列名数据类型数据类型可否为空可否为空说明说明 readernameVarcharNot null(外主键外主键)读者借阅证编号读者借阅证编号 readeridVarcharNot null(外主键外主键)书籍编号书籍编号 returndatedatetimeNot null读者还书时间读者还书时间 表 2-6 reader_fee 罚款记录信息表 readeridvarcharNot null读者借书证编号读者借书证编号 readernamevarcharNot null读者姓名读者姓名 bookidvarcharNot null(外主键外主键)书籍编号书籍编号 booknamevarcharNot null书籍名称书籍名称 bookfeevarcharNot Null罚款金额罚款金额 borrowdatedatetimeNot Null借阅时间借阅时间 10 2.42.4 关系图:关系图: 图-数据库存表关系图 11 3.数据库源代码数据库源代码 3.13.1 数据库建立数据库建立 3.1.1 创建数据库创建数据库 USE master GO CREATE DATABASE librarysystem ON ( NAME = librarysystem, FILENAME = d:librarysystem.mdf, SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ) LOG ON ( NAME = library, FILENAME = d:librarysystem.ldf, SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB ) GO 3.1.2 书本类别表建立书本类别表建立 create table book_style ( bookstyleno varchar(30) primary key, bookstyle varchar(30) ) 3.1.3 创建书库表创建书库表 create table system_books ( bookid varchar(20) primary key, bookname varchar(30) Not null, bookstyleno varchar(30) Not null, bookauthor varchar(30), bookpub varchar(30) , 12 bookpubdate datetime, bookindate datetime , isborrowed varchar (2) , foreign key (bookstyleno) references book_style (bookstyleno), ) 3.1.4 借书证表建立借书证表建立 create table system_readers ( readerid varchar(9)primary key, readername varchar(9)not null , readersex varchar(2) not null, readertype varchar(10), regdate datetime ) 3.1.5 借书记录表建立借书记录表建立 create table borrow_record ( bookid varchar(20) primary key, readerid varchar(9), borrowdate datetime, foreign key (bookid) references system_books(bookid), foreign key (readerid) references system_readers(readerid), ) 3.1.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) ) 3.1.7 罚款单表建立罚款单表建立*/ create table reader_fee ( readerid varchar(9)not null, readername varchar(9)not null , bookid varchar(20) primary key, 13 bookname varchar(30) Not null, bookfee varchar(30) , borrowdate datetime, foreign key (bookid) references system_books(bookid), foreign key (readerid) references system_readers(readerid) ) 3.23.2 数据初始化数据初始化 3.2.1 将书籍类别加入表将书籍类别加入表 book_style 中中 insert into book_style(bookstyleno,bookstyle)values(1,人文艺术类) insert into book_style(bookstyleno,bookstyle)values(2,自然科学类) insert into book_style(bookstyleno,bookstyle)values(3,社会科学类) insert into book_style(bookstyleno,bookstyle)values(4,图片艺术类) insert into book_style(bookstyleno,bookstyle)values(5,政治经济类) insert into book_style(bookstyleno,bookstyle)values(6,工程技术类) insert into book_style(bookstyleno,bookstyle)values(7,语言技能类) 3.2.2 将已有的图书加入将已有的图书加入 system_books 表中表中(定义相同的作者出版社的书本编号不一样定义相同的作者出版社的书本编号不一样) insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub,bookpubdate, bookindate, isborrowed ) values(00125415152,计算机组成原理,6,王爱英,清华大学出版社,2001-01-03,2003-11-15,1); insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub,bookpubdate, bookindate, isborrowed ) values(00125415153,计算机组成原理,6,王爱英,清华大学出版社,2001-01-03,2003-11-15,1); insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed ) values(00456456,数据库原理,6,萨师煊,高等教育出版社,2007-07-02,2007-09-15,1); insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub,bookpubdate, bookindate, isborrowed ) values(12215121,C 程序设计,6,谭浩强,清华大学出版社,2002-04-02,2004-03-14,1); 14 insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed ) values(9787308020558,计算机体系结构,6,石教英,浙江大学出版社,2004-10-03,2006-11- 15,1); insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed ) values(45456141414,数据结构(C 语言版),6,吴伟民,严蔚敏,清华大学出版社,2002-06- 28,2004-01-21,1); insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed ) values(5455515,中华历史 5000 年,1,吴强,北京大学出版社,2005-04-03,2006-05-15,1); insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed ) values(015115,古代埃及,3,赵文华,北京大学出版社,2001-02-02,2002-09-15,1); insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed ) values(1514514,日本文化,1,吴小鹏,北京大学出版社,2002-04-02,2004-03-14,1); insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed ) values(15154656,微观经济学,5,李小刚,北京大学出版社,2000-10-03,2001-11-15,1); insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed ) values(5658,影视文学,4,苏庆东,北京大学出版社,1999-02-28,2000-01-21,1); insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed ) values(565800020,探索宇宙奥秘,2,苏庆东,北京大学出版社,1999-02-28,2000-01-21,1); 15 3.2.3 将已有图书证的读者加入将已有图书证的读者加入 system_readers 表中表中*/ insert into system_readers(readerid,readername,readersex,readertype,regdate) values(X05620207,陈远鹏,男,学生,2005-9-23 14:23:56) insert into system_readers(readerid,readername,readersex,readertype,regdate) values(X05620206,陈特,男,学生,2005-09-30 13:24:54.623) insert into system_readers(readerid,readername,readersex,readertype,regdate) values(X05620204,赵铭静,女,学生,2005-09-27 11:24:54.123) insert into system_readers(readerid,readername,readersex,readertype,regdate) values(X05620202,潘虹,女,学生,2005-09-30 13:24:54.473) insert into system_readers(readerid,readername,readersex,readertype,regdate) values(008415,蒋伟,男,教师,2004-04-30 09:24:54.478) insert into system_readers(readerid,readername,readersex,readertype,regdate) values(001456,李叶风,女,教师,2004-04-30 09:24:54.478) 3.2.4 添加已借书读者的记录,同时将在已借出的借阅标记置添加已借书读者的记录,同时将在已借出的借阅标记置 0*/ insert into borrow_record(bookid,readerid,borrowdate) values(00125415152,X05620202,2007-09-27 11:24:54.123) update system_books set isborrowed=0 where bookid=00125415152 insert into borrow_record(bookid,readerid,borrowdate) values(00125415153,X05620206,2007-12-27 08:26:51.452) update system_books set isborrowed=0 where bookid=00125415153 and isborrowed=1 insert into borrow_record(bookid,readerid,borrowdate) values(5455515,X05620207,2007-12-27 08:26:51.452) update system_books set isborrowed=0 where bookid=5455515 and isborrowed=1 insert into borrow_record(bookid,readerid,borrowdate) values(015115,X05620204,2007-10-21 12:11:51.452) update system_books set isborrowed=0 where bookid=015115 and isborrowed=1 16 insert into borrow_record(bookid,readerid,borrowdate) values(15154656,001456,2007-12-28 14:11:51.312) update system_books set isborrowed=0 where bookid=15154656 and isborrowed=1 insert into borrow_record(bookid,readerid,borrowdate) values(565800020,008415,2007-08-28 15:11:31.512) update system_books set isborrowed=0 where bookid=565800020 and isborrowed=1 4.结果数据处理结果数据处理 4.14.1 单表查询单表查询 4.1.1 表表 book_style 中查询演示中查询演示: 图-1 表 book_style 中内容 17 4.1.2 表表 system_books 中查询演示中查询演示: 图-2 表 system_books 中内容 4.1.3 将已有图书证的读者加入将已有图书证的读者加入 system_readers 表中结果查询表中结果查询: 18 图-3 表 system_readers 中内容 4.1.4 借书纪录表借书纪录表 borrow_record 结果查询结果查询: 图-4 表 borrow_record 中内容 4.24.2 超期处理超期处理 4.2.1 现在对已有借书证的读者进行查询借书是否超期(这里归定现在对已有借书证的读者进行查询借书是否超期(这里归定 30 天)天): 说明:当前的 getdate()以日期为 2008 年 1 月 6 日计算 图-4 选出借出超过 30 天的读者 4.2.2 同时也可以用语句超过天数的读者进行罚款,加入到罚款单里面,一天以同时也可以用语句超过天数的读者进行罚款,加入到罚款单里面,一天以 0.3 元扣除计算元扣除计算: SQL 语言: insert into reader_fee(readerid,readername,bookid,bookname,bookfee,borrowdate) select system_readers.readerid 读者借书证编号 ,readername 读者姓名, system_books.bookid 书籍编号,bookname 书名, 0.3*(Datediff(day,convert(smalldatetime,borrowdate),getdate()-30) 超过时间天数, borrowdate 借书时间 19 from borrow_record ,system_readers ,system_books where system_readers.readerid=borrow_record.readerid and system_books.bookid=borrow_record.bookid and Datediff(day,convert(smalldatetime,borrowdate),getdate()=30 (所影响的行数为 3 行) select readerid 书读者借书证编号,readername 读者姓名, bookid 书籍编号,bookfee 超期罚款 from reader_fee 形成各本书对应的罚款金额,按 0.3 元每天算 图-5 查看罚款单 4.34.3 还书操作还书操作 4.3.1 现在对某一读者进行还书操作现在对某一读者进行还书操作: 1首先还书要在还书纪录中添加一条还书纪录 2其次删除相应书本的借阅纪录 3最后在书库中标记该本书为 1,表示归还了未借,可供其他读者借阅 说明:学号为 X05620207 姓名为陈远鹏 借阅的 565800020 书籍编号进行归还。 SQL 语言: insert into return_record(bookid,readerid,returndate) select bookid,readerid,getdate() from borrow_record where bookid=565800020 (所影响的行数为 1 行) delete from borrow_record where bookid=565800020 (所影响的行数为 1 行) 20 update system_books set isborrowed=1 where bookid=565800020 (所影响的行数为 1 行) 三个表的结果如图: 图-6 增加了 565800020 纪录 图-7 565800020 这本书在借书纪录里没有了 图-8 标记设为了1 说明:这本书重新回到未被借出标记为 1(注,相同的书其编号是不同的) 其结果为还书成功,相应的各表都有变化,对于罚款单通过借阅记录表 borrow_record 中更新。 21 4.44.4 借书操作借书操作 4.4.1 查询未被借出的书本:查询未被借出的书本: 图-9 4.4.2 查询已被借出的书本:查询已被借出的书本: 图-10 4.4.3 申请借书证:申请借书证: SQL 语言: Insert into system_readers(readerid,re

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论