版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、图书馆管理系统数据库设计一、需求分析图书馆管理系统应该能够提供所有借阅者的详细信息,以及馆内库存的详细情况,对借书和还书两大功能进行合理的操作并登记。图书馆管理系统的主要任务是建立详尽的借阅信息,以及馆内的书种及对应书刊的记录,并对借阅者和其借阅的书籍进行登记。在不同的图书馆之间,图书管理系统会存在一定的差异。1.1具体功能模块及描述1、安全性管理:给每个管理员一个用户名和密码,以登录图书馆管理系统,便于身份验证,管理员可以拥有最高权限对数据库进行所有操作。同样拥有一个用户名和密码,但普通用户只能进行查询操作,看个人信息和图书馆中图书信息不可修改它们。(1)管理员:增加、删除、查询、修改图书信
2、息;增加、删除、查询、修改读者信息;图书借出、图书归还、逾期还书处理、图书注销(2)读者:查询图书信息、查看借书情况、查询个人信息、历史借书情况、超期还书警告。2、读者信息管理:该功能模块用于管理相关的读者信息,包括的子功能模块如下图所示-1读者信息功能模决者“读者类型”用于设置读者的类型及相关的信.息,内容包括读者的身一份、可借册数,可续借次数等。“读者档案管理”用于设置读者相关的信息,证丙容总括编号、姓名、身份、读者性别、联系方式、登记日期、有效期至、违规次数、现借图书数、是否挂失。“借书证挂失与恢复”用于挂失和恢复读者的借书证,挂失后该编号的读者不能再借书。3、书管理:该功能模块用于管理
3、图书相关的信息包含的功能模块如下图所示“图书基本信息设置”用于设置图书的类型及相关的信息,内容包括ISBN、书名、版次、类型、作者、出版社、价格、现存量、库存总量。“图书档案管理”用于设置图书相关信息,内容包括编号、ISBN、入库时间。“图书征订”用于订购新图书,内容包括征iT编号、ISBNk订购数量、订购日期。“图书注销”用于注销图书,被注销的图书不可以再借出,并且应将图书信息进行修改。“图书查看”用于查看某本书的情况。“图书盘点”输出图书的在库清单供盘点使用。4、图书流通管理:此功能模块用于管理图书流通环节的相关的操作,包括如下图所示的功能模块。图13”图书流通管理”功能模块“图书借阅”用
4、于登记读者借阅图书的记录并减少图书在库的库存,登记内容包括借阅编号、图书编号、读者编号、借阅时间、应还时间、续借次数、图书状态等。图书馆管理员作为借阅者的代操纵借书和还书者。借书时只要输入借阅的书刊编号就可以,然后输入借阅者的借阅卡号,完成后提交,系统验证借阅者是否有效,若有效借阅请求被接收并处理,系统将库存中图书数量减一,同时将读者信息中借书量加一“图书归还”用于登记读者归还图书的记录并增加图书在库的库存,登记内容包括归还编号、图书编号、读者编号、归还时间等。系统查询借阅此书的人的信息以及该书被借日期判断是否过期,若过期将进行罚款,并将该书刊的借阅记录改为已还“图书丢失”用于报失图书,内容包
5、括丢失编号、图书编号、读者编号、赔偿金额、操作时间等。“图书罚款”用于对图书超期、丢失等情况的罚款管理,内容包括罚款编号、图书编号、读者编号、罚款日期、罚款金额、是否交款、备注等。1.2系统总流程图系统流程图如图14所示:二、概念模型设计根据以上需求分析,一个基本的图书馆管理系统数据库大致包括10个表,分别存放相应子功能模块的数据信息,期中“读者信息”和“图书信息”表是关键的表,用于存放图书馆读者的信息和文献的信息,图书馆管理系统实际上就是对读者和文献的管理。其他涉及读者信息和文献信息的表,都只是记录相应的编号,并根据作为外键的“编号”字段相对应。数据库要表述的信息有:(1)读者类型(2)读者
6、信息(3)图书基本信息(图书借阅(7)图书归还(8)图书丢失(9)图书罚款2.2各个主要实体的属性的E-R图各实体及属性图如图31所示:n八4)图书信息(5)图书征订(6)(10)图书注销二违图2-1各实体及属性2.2各实体及其联系的E-R图分图书基本信息图22各实体及其联系图三、逻辑设计3.1 一般逻辑模型设计3.1.1 由ER得出一般关系模型的四条原则为原则1(实体转换为关系模式):ERD中每个独立的实体转换为一个关系模式,实体的属性组成关系的属性,实体的主标识转换成关系的主码。原则2(从实体及其主从联系转换为关系模式):ERD中一个从实体及其主从联系转换为一个关系,从实体的属性及其主实体
7、关系的属性组成的属性,其主实体关系的主码,在主从关系联系为一对多联系时还要加上可把同一主实体个体所对应的从实体个体区分开来的,从实体的一组属性,作为该关系的主码。对子类实体可作类似一对一联系的从实体的转换。原则3(一对多联系在关系模式中的表示):ERD中的一个一对多联系通过在其“多”实体关系上增加“1”实体关系的主码(作为外码)和联系本身的属性来表示。原则4(多对多联系转换为关系):ERD中的一个多对多联系转换为一个关系,其被联系实体关系的主码和该联系本身的属性一起组成的属性,被联系关系的主码组成该关系的复合主码。3.1.2 读者类型的关系模式读者类型(身位、可借册数、可续借册数、可借时间)其
8、中身份是本表的主键3.1.3 图书基本信息的关系模式图书基本信息(ISBN书名、版次、类型、作者、出版社、价格、现存量、库存总量)其中ISBN号是主键3.1.4 读者信息的关系模式读者信息(细殳、姓名、身份、读者性别、联系方式、登记日期、有效期至、违规次数、现借图书数、是否挂失)其中编号是主码,身份是外码3.1.5 图书信息的关系模式图书信息(编逑、ISBN入库时间)其中编号是主码,ISBN号是外码3.1.6 图书征订的关系模式图书征订(征订编号、类型、征订数量、征订日期)其中征订编号是主码,类型是外码3.1.7 图书借阅的关系模式图书借阅(借阅编号、图书编号、读者编号、借阅时间、应还时间、续
9、借次数、图书状态)其中借阅编号是主码,图书编号和读者编号是外码3.1.8 图书归还的关系模式图书归还(归还编号、图书编号、读者编号、归还时间)其中归还编号是本表的主码,图书编号和读者编号是外码3.1.9 图书丢失的关系模式图书丢失(丢失编号、图书编号、读者编号、偿还金额、操作时间)其中丢失编号是主码,图书编号和读者编号是外码3.1.10 图书罚款的关系模式图书罚款(罚款编号、图书编号、读者编号、罚款日期、罚款金额、是否交款、备注)其中罚款编号是主码,图书编号和读者编号是外码3.1.11 图书注销的关系模式图书注销(注销编号、图书编号、注销时间)其中注销编号是主码,图书编号是外码3.2 具体逻辑
10、模型设计3.2.1 读者类型表字段名数据类型能否为空说明身份char(20)notnullprimarykey可借册数intnotnull可续借次数intnotnull可借时间char(10)notnull3.2.2图书基本信息表字段名数据类型能否为空说明ISBNchar(20)notnullprimarykey书名char(20)notnull版次char(20)notnullchar(20)notnull作者char(20)notnull出版社char(20)notnull价格floatnotnull现存量intnotnull库存总量intnotnull3.2.3读者信息表字段名数据类型能
11、否为空说明编pchar(20)notnullprimarykey姓名char(20),notnull身份char(20)notnullforeignkey(身份)references读者类型(身份)性别char(8)notnullcheck(性别in('男','女),联系方式char(12)notnull登记日期datetimenotnull有效期至datetimenotnull违规次数intnotnull借书数量Intnotnull是否挂失char(8)notnull3.2.4图书信息表字段名数据类型能否为空说明编pchar(20)notnullprimarykey,
12、ISBNchar(20)notnullforeignkey(ISBN)references图书基本信息(ISBN)入库时间datetimenotnull3.2.5图书借阅表字段名数据类型能否为空说明借阅编号char(20)notnullprimarykey图书编号char(20)notnullforeignkey(图书)references图书信息(编号)char(20)notnullforeignkey(读者)references读者信息(编号)借阅时间datetimenotnull应还时间datetimenotnull续借次数intnotnull3.2.6图书归还表字段名数据类型能否为空说
13、明归还编号char(20)notnullprimarykey图书编号char(20)notnullchar(20)notnullforeignkey(图书)references图书信息(编号)归还时间datetimenotnullforeignkey(读者)references读者信息(编号)3.2.7图书征订表字段名数据类型能否为空说明征订编号char(20)notnullprimarykeyISBNchar(20)notnullforeignkey(ISBN)references图书基本信息(ISBN)征订数量intnotnull征订日期intnotnull3.2.8图书罚款表字段名数据类
14、型能否为空说明罚款编号char(20)notnull图书编号char(20)notnullForeignkey(图书)references图书信息(编号)char(20)notnullForeignkey(读者)references读者信息(编号)罚款日期datetimenotnull罚款金额char(10)notnull是否交款char(8)notnull备注char(10)notnull3.2.9图书丢失表字段名数据类型能否为空说明丢失编号char(20)notnullprimarykey图书编号char(20)notnullchar(20)notnull偿还金额char(10)notnu
15、ll操作时间datetimenotnull3.2.10图书注销表字段名数据类型能否为空说明注销编号char(20)notnullprimarykey图书编号char(20)notnullforeignkey(图书)references图书信息(编号)注销时间datetimenotnull四、物理设计和保护设计4.1 创建图书馆管理系统数据库和库中的各表创建图书馆管理系统数据库Createdatabase图书馆管理系统gouse图书馆管理系统go创建“读者类型”表Createtable读者类型(身份char(20)primarykey,可借册数int,可续借次数int,可借时间char(10)g
16、o创建“图书基本信息”表createtable图书基本信息(ISBNchar(20)primarykey,书名char(20),版次char(20),类型char(20),作者char(20),出版社char(20),价格float,现存量int,库存总量int)go创建读者信息表:Createtable读者信息(编号char(20)primarykey,姓名char(20),身份char(20),性别char(8)check(性别in('男','女'),联系方式char(12),登记日期datetime,有效期至datetime,违规次数int,借书数量int
17、,是否挂失char(8),foreignkey(身份)references读者类型(身份)Go创建图书信息表Createtable图书信息(编号char(20)primarykey,ISBNchar(20),入库时间datetimeforeignkey(ISBN)references图书基本信息(ISBN)go创建“图书借阅”表Createtable图书借阅(借阅编号char(20)primarykey,图书编号char(20),读者编号char(20),借阅时间datetime,应还时间datetime,续借次数int,Foreignkey(图书编号)references图书信息(编号),F
18、oreignkey(读者编号)references读者信息(编号)go创建“图书归还”表Createtable图书归还(归还编号char(20)primarykey,图书编号char(20),读者编号char(20),归还时间datetime,Foreignkey(图书编号)references图书信息(编号),Foreignkey(读者编号)references读者信息(编号)go创建“图书征订”表Createtable图书征订(征订编号char(20)primarykey,ISBNchar(20),征订数量int,征订日期datetime,(ISBN)foreignkey(ISBN)ref
19、erencesgo创建“图书罚款”表Createtable图书罚款(罚款编号char(20)primarykey,图书编号char(20),读者编号char(20),罚款日期datetime,罚款金额char(10),是否交款char(8),备注char(10),Foreignkey(图书编号)references图书信息(编号),Foreignkey(读者编号)references读者信息(编号)Go创建“图书丢失”表Createtable图书丢失(丢失编号char(20)primarykey,图书编号char(20),读者编号char(20),偿还金额char(10),操作时间dateti
20、meForeignkey(图书编号)references图书信息(编号),Foreignkey(读者编号)references读者信息(编号)Go创建“图书注销”表Createtable图书注销(注销编号char(20)primarykey图书编号char(20),注销时间datetime,Foreignkey(图书编号)references图书信息(编号)Go4.2 向图书馆管理系统数据库中插入数据插入读者类型Insertinto读者类型values('学生',5,2,'30天')Insertinto读者类型values('教师',10,4,&
21、#39;60天)插入图书基本信息Insertinto图书基本信息values('7-302-12266-0','经典案例开发,'2006年1月第1版,计算机,'马里杰',清华大学出版社',48.00,2,2)Insertinto图书基本信息values('7-302-12266-1','经典实例精讲','2006年1月第1版,计算机,'夏邦贵',机械工业出版社',29.8,3,3)Insertinto图书基本信息values('7-302-12266-4',&
22、#39;','2006年1月第1版',英语专业四级词汇','2006电工','向守兵,电子科技大学出版社,23.0,2,2)Insertinto图书基本信息values('7-302-12266-3','年1月第1版',英语',徐向珍,中国建材工业出版社',19.0,2,2)插入读者信息','#39;,'2006-09-10','2010-06-01',0,0,'否')Insertinto读者信息valu
23、es('s20064051302','曾庆春,学生,男','2233456','2006-09-10','2010-06-01',0,0,'否')Insertinto读者信息values('s20064051338','李利芳;学生','女','16931600742','2006-09-10','2010-06-01',0,0,'否')Insertinto读者信息values('
24、t000001','李勇,教师','男','#39;,'2000-01-20','2050-01-20',0,0,'否')Insertinto读者信息values('t000002','刘晨;教师','女','2222546','2006-02-01','2056-02-01',0,0,'否')插入图书信息InsertintoInsertinto图书信息values
25、('TP0000001','7-302-12266-0','2006-06-01')图书信息values('TP0000002','7-302-12266-0','2006-06-01')Insertinto图书信息values('TP0000004','7-302-12266-1','2006-05-01')Insertinto图书信息values('TP0000005','7-302-12266-1','20
26、06-05-01')Insertinto图书信息values('TM0000006','7-302-12266-4','2004-12-12')Insertinto图书信息values('TM0000007','7-302-12266-4','2004-12-12')Insertinto图书信息values('H0000008','7-302-12266-3','2006-05-20')Insertinto图书信息values('H00
27、00009','7-302-12266-3','2006-05-20')Insertinto图书信息values('TP0000010','7-302-12266-0','2008-06-10')4.3 各表之间的联系图如图41所不图4-1各表之间的联系图五、具体功能实现5.1图书管理员的操作5.1.1 图书管理员对读者信息的管理(1)插入新读者编号s20064051303,姓名:朱康,身份:学生,性别:男,联系方式2232365,登记日期2008-06-10,有效期至2010-06-01,违规次数0,借书
28、数量0,是否挂失否实现方法:insertinto读者信息values('s20064051303','朱康',学生',男',2232365','2008-06-10','2010-06-01',0,0,'否')验证select*from读者信息(2)读者信息的查询:select姓名,借书数量,违规次数from读者信息(3)修改读者信息:实现方法update读者信息set联系方式='2232334'where编号='s20064051338'验证select*f
29、rom读者信息where编号='s20064051338'5.1.2 图书管理员对图书信息的管理(1)插入图书信息编号:TP0000010,ISBN=7-302-12266-0,入库时间=2008-06-10实现方法:Insertinto图书信息values('TP0000010','7-302-12266-0','2008-06-10')验证:select*from图书信息where编号='TP0000010'(2)图书查阅用ISBN号查阅select编号,图书信息.ISBN,书名,作者,库存总量,现存量from
30、图书信息,图书基本信息where图书信息.ISBN=图书基本信息.ISBNand图书信息.ISBN='7-302-12266-0'图书信息修改将图书编号=TP0000010的图书入库时间改为2008-06-11实现方法:update图书信息set入库时间=,2008-06-11'where编号='TP0000010'验证:select*from图书信息where编号='TP0000010,(4)图书统计Selectsum(现存量)现存总量From图书基本信息5.1.3 图书管理员对图书借阅的管理学号为S20064051338从图书馆里借出编号为T
31、P0000001的书实现方法:insertinto图书借阅values('0001','TP0000010','s20064051338','2008-06-11','2008-07-11',0,借出)验证方法:select*from图书借阅where借阅编号='0001'借出后此类图书现库存量减少一本,读者信息中借书量增加一本实现方法:update图书基本信息set现存量=现存量-1where图书基本信息.ISBN=(select图书基本信息.ISBNfrom图书信息,图书基本信息where图书信
32、息.编号='TP0000010'and图书信息.ISBN=图书基本信息.ISBN)验证:selectISBN,书名,版次,作者,库存总量,现存量from图书基本信息where图书基本信息.ISBN=(select图书基本信息.ISBNfrom图书信息,图书基本信息where图书信息.编号='TP0000010'and图书信息.ISBN=图书基本信息.ISBN)实现方法:update读者信息set借书数量=借书数量+1where编号='s20064051338'验证:select编号,姓名,借书数量from读者信息where编号='s200
33、64051338'5.1.4 图书管理员图书归还的管理还书时相应的图书,图书基本信息中现库存量增加一本,同时读者信息中借阅图书册数减少一本,通过查阅应还日期判断是否过期,过期则进行罚款并记录违规,还书时若图书损坏也需要罚款(1)学号为s20064051301归还图书馆里借出的编号为TP0000001的书实现方法:insertinto图书归还values('0001','TP0000010','s20064051338','2008-07-15')验证:select*from图书归还where归还编号='0001
34、39;(2)读者信息中借书数量减一实现及验证:update读者信息set借书数量=借书数量-1where编号='s20064051338'select编号,姓名,借书数量from读者信息where编号='s20064051338(3)图书基本信息中现库存量加一实现及验证:update图书基本信息set现存量=现存量+1where图书基本信息.ISBN=(select图书基本信息.ISBNfrom图书信息,图书基本信息where图书信息.编号='TP0000010'and图书信息.ISBN=图书基本信息.ISBN)selectISBN,书名,版次,作者,库
35、存总量,现存量from图书基本信息where图书基本信息.ISBN=(select图书基本信息.ISBNfrom图书信息,图书基本信息where图书信息.编号='TP0000010'and图书信息.ISBN=图书基本信息.ISBN)(4)将图书借阅表中的状态改为已还实现方法:update图书借阅set状态='已还where借阅编号='0001'(5)判断是否过期select图书借阅.读者编号,应还时间,归还时间from图书借阅,图书归还where图书借阅.图书编号='TP0000010'过期将信息记入图书罚款表中5.1.5 图书管理员对图
36、书罚款的管理实现方法:insertinto图书罚款values('00001','TP0000010','s20064051338','2008-07-15','4角','已交','图书过期')验证:select*from图书罚款where罚款编号='00001'读者信息中违规次数加一实现方法:update读者信息set违规次数=违规次数+1where编号='s20064051338'验证:select编号,姓名,违规次数from读者信息where编号
37、='s20064051338'5.1.6 管理员征订图书图书管理员征订2本ISBN号为7-302-12266-0的图书2本,图书征订表中插入该记录,图书基本信息中的现存量、库存总量加二,图书信息中插入两条7-302-12266-0的图书(1)插入图书征订表实现方法:insertinto图书征订('00001','7-302-12266-0',2,'2008-06-11')验证:select*from图书征订(2)修改图书基本信息中的信息实现方法:update图书基本信息set现存量=现存量+2,库存总量=库存总量+2whereIS
38、BN='7-302-12266-0'验证:selectISBN,书名,版次,作者,库存总量,现存量from图书基本信息whereISBN='7-302-12266-0'(3)修改图书信息表实现方法:insertinto图书values('TP0000011','7-302-12266-0','2008-06-11')insertinto图书信息values('TP0000012','7-302-12266-0','2008-06-11')ISBN号为values验证:select*from图书信息5.1.7 图书管理员对图书丢失的操作(操作前将编号为S20064051338的读者的借书过程在执行一次,设其将书丢失)(1)将丢失信息记入图书丢失表中实现方法:insertinto图书丢失values('0001','TP0000010','s20064051338','50元','2008-06-11')验证:select*from图书丢失(2)图书基本信
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东建筑安全员知识题库附答案
- 贵州财经职业学院《现代西方哲学专题》2023-2024学年第一学期期末试卷
- 蚕豆产业基地建设项目可行性研究报告-蚕豆市场需求持续扩大
- 贵阳康养职业大学《医疗健康商务沟通》2023-2024学年第一学期期末试卷
- 广州中医药大学《生物统计附试验设计实验》2023-2024学年第一学期期末试卷
- 2025年-吉林省安全员知识题库附答案
- 广州现代信息工程职业技术学院《心理咨询与心理辅导》2023-2024学年第一学期期末试卷
- 2025年-河北省安全员B证考试题库
- 2025建筑安全员A证考试题库
- 2025年山西省建筑安全员-C证考试(专职安全员)题库及答案
- 《Unit 5 What do we eat 》(说课稿)-2024-2025学年沪教版(2024)英语三年级上册
- 2024年加油站的年度工作总结范文(2篇)
- 福建省晋江市松熹中学2024-2025学年七年级上学期第二次月考语文试题
- (新版)广电全媒体运营师资格认证考试复习题库(含答案)
- 教师及教育系统事业单位工作人员年度考核登记表示例范本1-3-5
- 残疾儿童(孤独症)康复服务机构采购项目招标文件
- 少先队活动课《民族团结一家亲-同心共筑中国梦》课件
- 六年级语文下册 期末复习非连续性文本阅读专项训练(一)(含答案)(部编版)
- 展会活动防疫工作方案
- 肝性脑病的护理课件-
- 2024年银行考试-支付清算系统参与者考试近5年真题附答案
评论
0/150
提交评论