《数据库课程规划设计(图书管理计划系统).doc》由会员分享,可在线阅读,更多相关《数据库课程规划设计(图书管理计划系统).doc(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 图书管理系统 目录 1.问题描述 .2 1.1 背景 .2 1.2 数据需求.2 1.3 事物需求.3 1.4 关系模式.3 1.5 数据字典.5 1.6 数据流程图.7 .方案图表设计 .8 2.1 E-R 图 .9 2.2 关系图:.11 3.数据库源代码 .12 3.1 数据库建立.12 3.2 数据初始化.14 4.结束语 .16 4.1 课程设计心得.17 5. 参考文献.18 1 问题描述问题描述 1.1 背景背景 随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍 增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物 力过多浪费
2、,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作 和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料 进行集中统一的管理。 另一方面,IT 产业和 Internet 获得了飞速发展,计算机应用已渗透到了各个领域,引起信 息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。 提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更 好的为学校,社会服务。 1.21.2 数据需求数据需求 图书馆管理信息系统需要完成功能主要有: 1. 读者基本信息的输入,包括借书证编号、读者姓名、读者性别。 2读者基本信息的查询、修改,包
3、括读者借书证编号、读者姓名、读者性别等。 3书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。 4书籍类别信息的查询、修改,包括类别编号、类别名称。 5书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社 名称、出版日期、登记日期。 6书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、 出版社名称、出版日期登记日期等。 7借书信息的输入,包括读者借书证编号、书籍编号、借书日期。 8借书信息的查询、修改,包括借书证编号、读者编号、读者姓名、书籍编号、书 籍名称、借书日期等。 9还书信息的输入,包括借书证编号、书籍编号、还书日期。 10还书信息的查询
4、和修改,包括还书读者借书证编号、读者姓名、书籍编号、书 籍名称、借书日期、还书日期等。 11超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编 号,罚款金额。 12超期还书罚款查询,删除,包括读者借书证编号、读者姓名、书籍编号、书籍 名称,罚款金额等 1.31.3 事物需求事物需求 (1)在读者信息管理部分,要求: a.可以查询读者信息。 b.可以对读者信息进行添加及删除的操作。 (2 )在书籍信息管理部分,要求: a.可以浏览书籍信息,要求: b.可以对书籍信息进行维护,包括添加及删除的操作。 (3)在借阅信息管理部分,要求:。 a.可以浏览借阅信息。 b.可以对借阅信息进
5、行维护操作。 (4)在归还信息管理部分,要求: a.可以浏览归还信息 b.对归还信息可修改维护操作 (5)在管理者信息管理部分,要求: a.显示当前数据库中管理者情况。 b.对管理者信息维护操作。 (6)在罚款信息管理部分,要求: a.可以浏览罚款信息 b.对罚款信息可以更新 (7)管理员信息部分 a:可以进行管理员信息的查询 1.41.4 关系模式关系模式 (一) 书籍类别(种类编号,种类名称) (二) 读者(借书证编号,读者姓名,读者性别,读者种类,登记时期) (三) 书籍(书籍编号,书籍名称,书籍类别,书记作者,出版社名称,出版日期,登记日 期) (四) 借阅(借书证编号,书籍编号,读者
6、借书时间) (五) 还书(借书证编号,书籍编号,读者还书时间) (六) 罚款(借书证编号,读者姓名,借书证编号,书籍编号,读者借书时间 (七) 管理员信息(工作号姓名性别电话家庭住址) 1.51.5 数据字典数据字典 表-1 book_sytle 书籍类别信息表 表中列名表中列名数据类型数据类型可否为空可否为空说明说明 bookstylenovarcharnot null(主键主键)种类编号种类编号 bookstyleVarcharnot null种类名称种类名称 表-2 system_readers 读者信息表格 表中列名表中列名数据类型数据类型可否为空可否为空说明说明 readeridva
7、rcharnot null(主键主键)读者学号读者学号 readernamevarcharnot null读者姓名读者姓名 readersexvarcharnot null读者性别读者性别 readertypevarcharnull读者种类读者种类 regdatedatetimenull登记日期登记日期 Telnumvarcharnotnull联系电话联系电话 AddressVarcharNotnull所在系所在系 LeaguedateDatetimeNotnull有效日期有效日期 InleaguedateDatetimeNotnull失效日期失效日期 AddbookVarcharNotnul
8、l累计借书累计借书 表 2-3 system_book 书籍信息表 表中列名表中列名数据类型数据类型可否为空可否为空说明说明 bookidVarcharNot null(主键主键)ISBN 号号 booknameVarcharNot null书籍名称书籍名称 bookstyleVarcharNot null书籍类别书籍类别 bookauthorVarcharNot null书籍作者书籍作者 bookpubVarcharNull出版社名称出版社名称 bookpubdateDatetimeNull出版日期出版日期 bookindateDatetimeNull登记日期登记日期 isborrowedV
9、archarNot Null是否被借出是否被借出 表 2-4 borrow_record 借阅记录信息表 表中列名表中列名数据类型数据类型可否为空可否为空说明说明 readeridVarcharNot null(外主键外主键)读者学号读者学号 bookidVarcharNot null(外主键外主键)书籍编号书籍编号 borrowdateVarcharNot null读者借书时间读者借书时间 表 2-5 return_record 借阅记录信息表 表中列名表中列名数据类型数据类型可否为空可否为空说明说明 readernameVarcharNot null(外主键外主键)读者姓名读者姓名 rea
10、deridVarcharNot null(外主键外主键)读者学号读者学号 returndatedatetimeNot null读者还书时间读者还书时间 表 2-6 reader_fee 罚款记录信息表 readeridvarcharNot null读者学号读者学号 readernamevarcharNot null读者姓名读者姓名 bookidvarcharNot null(外主键外主键)书籍编号书籍编号 booknamevarcharNot null书籍名称书籍名称 bookfeevarcharNot Null罚款金额罚款金额 borrowdatedatetimeNot Null借阅时间借阅
11、时间 表 2-7 管理员信息表 adminid Varchar(主键主键)notnull 管理员工作号管理员工作号 AdminnameVarchar Notnull管理员姓名管理员姓名 SexVarcharNotnull性别性别 admintelVarcharNotnull电话电话 adminaddrvarcharnotnull家庭地址家庭地址 超期罚款超期罚款 D6 数据流程图数据流程图 D5 归还信息录入归还信息录入 基本信息录入基本信息录入 D2 D1 基本信息录入基本信息录入 基本信息录入基本信息录入 D3 D4 借阅信息录入借阅信息录入 读者信息返回读者信息返回 书籍信息返回书籍信息
12、返回 图 2-7 系统的数据流程图 书籍类别设置书籍类别设置 读者登记读者登记 书籍类别信息管理书籍类别信息管理 书籍登记书籍登记 读者信息管理读者信息管理书籍信息管理书籍信息管理 借阅信息管理借阅信息管理 2 方案图表设计方案图表设计 2.12.1 E-R 图图 根据 1)所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。 图书管理信息系统可以划分的实体有:书籍类别信息实体、读者信息实体、书籍信息实体、 借阅记录信息实体,归还记录信息实体。用 E-R 图一一描述这些实体。 2.1.1 类别实体类别实体 E-R 图:图: 书籍类别实体书籍类别实体 读者姓名读者姓名类别名称类别名
13、称 图 2-1 类别实体 E-R 图 2.1.2 读者信息实体读者信息实体 E-R 图:图: 读者信息实体读者信息实体 读者学号读者学号 读者姓名读者姓名 读者性读者性 别别 读者种类读者种类 e 登记时间登记时间 图 2-2 读者信息实体 E-R 图 2.1.3 信息实体信息实体 E-R 图:图: 书籍信息实体书籍信息实体 书籍编号书籍编号 书籍名称书籍名称 书籍类别编号书籍类别编号 书籍作者书籍作者 出版时间出版时间 收录时间收录时间 是否被借是否被借 出版社出版社 图 2-3 信息实体 E-R 图 2.1.4.记录信息实体记录信息实体 E-R 图:图: 读者借书证读者借书证 编号编号书籍
14、类别书籍类别 编号编号 借阅时间借阅时间 隔隔 借阅记录信息实体实体借阅记录信息实体实体 图 2-4 记录信息实体 E-R 图 2.1.5 记录信息实体记录信息实体 E-R 图:图: 归还记录信息实体实体归还记录信息实体实体 读者借书证读者借书证 编号编号书籍类别书籍类别 编号编号 归还时间归还时间 隔隔 图 2-5 记录信息实体 E-R 图 2.1.6 罚款信息实体罚款信息实体 E-R 图:图: 罚款信息实体罚款信息实体 实体实体 书籍类别书籍类别 编号编号 罚款金额罚款金额 读者姓名读者姓名 读者借书证读者借书证 编号编号 书籍名称书籍名称 借阅时间借阅时间 隔隔 图 2-6 罚款信息实体
15、 E-R 图 图 2-7 读者和书籍的间关系(借阅关系 E-R 图) 书籍书籍借阅借阅读者读者 读者种读者种 类类 读者读者 学号学号 登记登记 时间时间 读者读者 姓名姓名 读者读者 性别性别 书籍类书籍类 别别 书籍名书籍名 称称 书籍编号书籍编号 2.1.6 总的信息实体总的信息实体 E-R 图:图: 信息登记信息登记 读者实体读者实体 书籍实体书籍实体 书类别实体书类别实体 归还归还 借阅借阅 罚款罚款 罚款信息实体罚款信息实体 还书信息实体还书信息实体 借阅信息实体借阅信息实体 实体实体 图 2-7 总的信息实体 E-R 图 2.42.4 关系图:关系图: 图-数据库存表关系图 3、
16、数据库源代码、数据库源代码 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 t
17、able 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) , bookpubdate datetime, bookindate datet
18、ime , 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 ta
19、ble 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 varcha
20、r(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, bookname varchar(30) Not
21、 null, bookfee varchar(30) , borrowdate datetime, foreign key (bookid) references system_books(bookid), foreign key (readerid) references system_readers(readerid) ) 3.1.8 建立读者信息表 createtable reader (readerid varchar(12)notnullprimarykey, Readername varchar(10)notnull, sex varchar(2)notnull, telnum v
22、archar(12), addr varchar(20)notnull, leaguetime datetime, inleaguetime datetime, state char(2), addcount int ) 3.1.9 建立管理员信息表 createtable admin (workid varchar(12)notnullprimarykey, name varchar(12)notnull, sex varchar(2)notnull, telnum varchar(12), homeaddr varchar(50) 3.1.10 建立借阅表 createtable read
23、 (workid char(10)notnull, ISBN char(10)notnull, Readernum char(10)notnull, borrowdate datetimenotnull, returnbooktime datetimenotnull, onxujie char(4)notnul ) 3.1.11 建立管理员_书籍表 createtable guanliyuan_book (workid char(10)notnull, ISBN char(10)notnull, addtime datetime, state char(4) 3.1.12 建立管理员_学生表
24、createtable guanliyuan_student (workerid char(10)notnull, readernumber char(10)notnull, ISBN char(10)notnull, returnor char(4)notnull) 3.1.13 建立索引 CREATE UNIQUE INDEX bookindex ON book(ISBN) CREATE UNIQUE INDEX readerindex ON reader(readernumber) CREATE UNIQUE INDEX ON reader (workid) CREATE UNIQUE
25、INDEX borrowindex ON borrow (workid,readerid,ISBN) CREATE UNIQUE INDEX guanliyuan_bookindex ON guanliyuan_book(workid,ISBN,readernumber) CREATE UNIQUE INDEX guanliyuan_student ON guanliyuan_student (workid,readernumer) 3.1.14 定义视图 ()读者表视图 CREATEVIEW readerview AS SELECT* FROM reader ()图书表视图 CREATEVI
26、EW bookview AS SELECT* FROM book ()管理员表视图 CREATEVIEW adminview AS SELECT* FROM admin 3.1.15 将书籍类别加入表 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,社会科学类) ins
27、ert 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.1.16 将已有的图书加入 system_books 表中(定义相同的作者出版社的书本编号不一样) insert
28、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(00125415
29、153,计算机组成原理,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
30、,bookpubdate, bookindate, isborrowed ) values(12215121,C 程序设计,6,谭浩强,清华大学出版社,2002-04-02,2004-03-14,1); insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed ) values(9787308020558,计算机体系结构,6,石教英,浙江大学出版社,2004-10-03,2006-11- 15,1); insert into syst
31、em_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,中
32、华历史 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, book
33、pubdate,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 ,
34、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,200
35、0-01-21,1); 3.1.17 将已有图书证的读者加入 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) i
36、nsert 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
37、,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.1.18 添加已借书读者的记录,同时将在已借出的借阅标记置 0 insert into borrow_record(bookid,readerid,borrowdate) values(00
38、125415152,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
39、 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
40、isborrowed=0 where bookid=015115 and isborrowed=1 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,0
41、08415,2007-08-28 15:11:31.512) update system_books set isborrowed=0 where bookid=565800020 and isborrowed=1 4、课程设计心得、课程设计心得 通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的 理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始, 对灵据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R 图 的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,在实验中建表,及 其关系模式,关系代数的建立及理
42、解,将 SQL 语的查询语句用得淋漓尽致,增强了自己在 数据库中应用 SQL 语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间 的联系,主建与外主键的定义,约束项的设置,使逻辑更严密,在学习过程中,我也能过 上网查了不少资料,也看了一些别人设计的图书馆管理信息系统的设计报告,学以致用, 自我创新,独立完成了这份自己的报告,从中在学到用,从用又到学,不断修改,系统更 新。虽然不能达到完善系统,但也做到了尽善尽美,加强理论学习对完善系统会有很多帮 助,不管怎么说,对这次做的课程设计自己觉得还算满意。 5、参考文献、参考文献 王珊、萨师煊 数据库系统概论 高等教育出版社 2006.5