《图书馆管理系统数据库设计精选.docx》由会员分享,可在线阅读,更多相关《图书馆管理系统数据库设计精选.docx(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、图书馆管理系统数据库设计精选 图12 “图书管理”功能模块 “图书基本信息设置”用于设置图书的类型及相关的信息,内容包括ISBN、书名、版次、类型、作者、出版社、价格、现存量、库存总量。“图书档案管理”用于设置图书相关信息,内容包括编号、ISBN、入库时间。“图书征订”用于订购新图书,内容包括征订编号、ISBN、订购数量、订购日期。“图书注销”用于注销图书,被注销的图书不可以再借出,并且应将图书信息进行修改。“图书查看”用于查看某本书的情况。“图书盘点”输出图书的在库清单供盘点使用。 4、图书流通管理:此功能模块用于管理图书流通环节的相关的操作,包括如下图所示的功能模块。 图13 “图书流通管
2、理”功能模块 “图书借阅”用于登记读者借阅图书的记录并减少图书在库的库存,登记内容包括借阅编号、图书编号、读者编号、借阅时间、应还时间、续借次数、图书状态等。图书馆管理员作为借阅者的代操纵借书和还书者。借书时只要输入借阅的书刊编号就可以,然后输入借阅者的借阅卡号,完成后提交,系统验证借阅者是否有效,若有效借阅请求被接收并处理,系统将库存中图书数量减一,同时将读者信息中借书量加一。 “图书归还”用于登记读者归还图书的记录并增加图书在库的库存,登记内容包括归还编号、图书编号、读者编号、归还时间等。系统查询借阅此书的人的信息以及该书被借日期判断是否过期,若过期将进行罚款,并将该书刊的借阅记录改为已还
3、。 “图书丢失”用于报失图书,内容包括丢失编号、图书编号、读者编号、赔偿金额、操作时间等。“图书罚款”用于对图书超期、丢失等情况的罚款管理,内容包括罚款编号、图书编号、读者编号、罚款日期、罚款金额、是否交款、备注等。 系统总流程图 系统流程图如图14所示: 图14系统总流程图 二、概念模型设计 根据以上需求分析,一个基本的图书馆管理系统数据库大致包括10个表,分别存放相应子功能模块的数据信息,期中“读者信息”和“图书信息”表是关键的表,用于存放图书馆读者的信息和文献的信息,图书馆管理系统实际上就是对读者和文献的管理。其他涉及读者信息和文献信息的表,都只是记录相应的编号,并根据作为外键的“编号”
4、字段相对应。 数据库要表述的信息有: (1)读者类型(2)读者信息(3)图书基本信息(4)图书信息(5)图书征订(6)图书借阅(7)图书归还(8)图书丢失(9)图书罚款(10)图书注销 各个主要实体的属性的E-R图 各实体及属性图如图31所示: 图21各实体及属性各实体及其联系的E-R图 图22各实体及其联系图 三、逻辑设计 一般逻辑模型设计 3.1.1由ERD导出一般关系模型的四条原则为 原则1(实体转换为关系模式):ERD中每个独立的实体转换为一个关系模式,实体的属性组成关系的属性,实体的主标识转换成关系的主码。 原则2(从实体及其主从联系转换为关系模式):ERD中一个从实体及其主从联系转
5、换为一个关系,从实体的属性及其主实体关系的属性组成的属性,其主实体关系的主码,在主从关系联系为一对多联系时还要加上可把同一主实体个体所对应的从实体个体区分开来的,从实体的一组属性,作为该关系的主码。对子类实体可作类似一对一联系的从实体的转换。 原则3(一对多联系在关系模式中的表示):ERD中的一个一对多联系通过在其“多”实体关系上增加“1”实体关系的主码(作为外码)和联系本身的属性来表示。 原则4(多对多联系转换为关系):ERD中的一个多对多联系转换为一个关系,其被联系实体关系的主码和该联系本身的属性一起组成的属性,被联系关系的主码组成该关系的复合主码。 3.1.2读者类型的关系模式 读者类型
6、(身份、可借册数、可续借册数、可借时间) 其中身份是本表的主键 3.1.3 图书基本信息的关系模式 图书基本信息(ISBN、书名、版次、类型、作者、出版社、价格、现存量、库存总量) 其中ISBN号是主键 3.1.4 读者信息的关系模式 读者信息(编号、姓名、身份、读者性别、联系方式、登记日期、有效期至、违规次数、现借图书数、是否挂失) 其中编号是主码,身份是外码 3.1.5 图书信息的关系模式 图书信息(编号、ISBN、入库时间) 其中编号是主码,ISBN号是外码 3.1.6 图书征订的关系模式 图书征订(征订编号、类型、征订数量、征订日期) 其中征订编号是主码,类型是外码 3.1.7图书借阅
7、的关系模式 图书借阅(借阅编号、图书编号、读者编号、借阅时间、应还时间、续借次数、图书状态) 其中借阅编号是主码,图书编号和读者编号是外码 3.1.8图书归还的关系模式 图书归还(归还编号、图书编号、读者编号、归还时间) 其中归还编号是本表的主码,图书编号和读者编号是外码 3.1.9图书丢失的关系模式 图书丢失(丢失编号、图书编号、读者编号、偿还金额、操作时间) 其中丢失编号是主码,图书编号和读者编号是外码 图书罚款的关系模式 图书罚款(罚款编号、图书编号、读者编号、罚款日期、罚款金额、是否交款、备注) 其中罚款编号是主码,图书编号和读者编号是外码 图书注销的关系模式 图书注销(注销编号、图书
8、编号、注销时间) 其中注销编号是主码,图书编号是外码 具体逻辑模型设计 3.2.1读者类型表 字段名数据类型能否为空说明 身份char (20) not null primary key 可借册数int not null 可续借次数int not null 可借时间char (10) not null 3.2.2图书基本信息表 字段名数据类型能否为空说明 ISBN char (20) not null primary key 书名char(20) not null 版次char(20) not null 类型char(20) not null 作者char(20) not null 出版社ch
9、ar(20) not null 价格float not null 现存量int not null 库存总量int not null 3.2.3读者信息表 字段名数据类型能否为空说明 编号char(20) not null primary key 姓名char(20), not null 身份char(20) not null foreign key (身份) references 读者 类型(身份) 性别char(8) not null check (性别in (男,女), 联系方式char(12) not null 登记日期datetime not null 有效期至datetime not
10、 null 违规次数int not null 借书数量Int not null 是否挂失char(8) not null 3.2.4图书信息表 字段名数据类型能否为空说明 编号char(20) not null primary key, ISBN char (20) not null foreign key(ISBN)references 图 书基本信息(ISBN) 入库时间datetime not null 3.2.5图书借阅表 字段名数据类型能否为空说明 借阅编号char (20) not null primary key 图书编号char (20) not null foreign ke
11、y (图书编号) references 图书信息(编 号) 读者编号char (20) not null foreign key (读者编号) references 读者信息(编 号) 借阅时间datetime not null 应还时间datetime not null 续借次数int not null 3.2.6图书归还表 字段名数据类型能否为空说明 归还编号char (20) not null primary key 图书编号char (20) not null 读者编号char (20) not null foreign key(图书编号) references 图书信息(编 号) 归
12、还时间datetime not null foreign key (读者编号) references 读者信息(编 号) 3.2.7图书征订表 字段名数据类型能否为空说明 征订编号char(20) not null primary key ISBN char(20) not null foreign key (ISBN)references 图书基本信息(ISBN) 征订数量int not null 征订日期int not null 3.2.8图书罚款表 字段名数据类型能否为空说明 罚款编号char(20) not null 图书编号char(20) not null Foreign key
13、(图书编号) references 图书信息(编 号) 读者编号char(20) not null Foreign key (读者编号) references 读者信息(编 号) 罚款日期datetime not null 罚款金额char(10) not null 是否交款char(8) not null 备注char(10) not null 3.2.9图书丢失表 字段名数据类型能否为空说明 丢失编号char(20) not null primary key 图书编号char(20) not null 读者编号char(20) not null 偿还金额char(10) not null
14、操作时间datetime not null 3.2.10图书注销表 字段名数据类型能否为空说明 注销编号char(20) not null primary key 图书编号char(20) not null foreign key (图书编号) references 图书信息(编 号) 注销时间datetime not null 四、物理设计和保护设计创建图书馆管理系统数据库和库中的各表 -创建图书馆管理系统数据库 Create database 图书馆管理系统 go use 图书馆管理系统 go -创建“读者类型”表 Create table 读者类型( 身份char (20) primar
15、y key, 可借册数int, 可续借次数int, 可借时间char (10) go -创建“图书基本信息”表 create table 图书基本信息( ISBN char (20)primary key, 书名char(20), 版次char(20), 类型char(20), 作者char(20), 出版社char(20), 价格float, 现存量int, 库存总量int) go -创建读者信息表: Create table 读者信息( 编号char(20)primary key, 姓名char(20), 身份char(20), 性别char(8)check(性别in(男,女), 联系方式
16、char(12), 登记日期datetime, 有效期至datetime, 违规次数int, 借书数量int, 是否挂失char(8), foreign key (身份) references 读者类型(身份) ) Go -创建图书信息表 Create table 图书信息(编号char(20) primary key, ISBN char (20), 入库时间datetime foreign key (ISBN)references 图书基本信息(ISBN) go -创建“图书借阅”表 Create table 图书借阅(借阅编号char (20) primary key, 图书编号char
17、 (20), 读者编号char (20), 借阅时间datetime, 应还时间datetime, 续借次数int, Foreign key (图书编号) references 图书信息(编号), Foreign key (读者编号) references 读者信息(编号) ) go -创建“图书归还”表 Create table 图书归还(归还编号char (20) primary key, 图书编号char (20), 读者编号char (20), 归还时间datetime, Foreign key(图书编号) references 图书信息(编号), Foreign key (读者编号)
18、 references 读者信息(编号) ) go -创建“图书征订”表 Create table 图书征订(征订编号char(20) primary key, ISBN char(20), 征订数量int , 征订日期datetime , foreign key (ISBN)references 图书基本信息(ISBN) ) go -创建“图书罚款”表 Create table 图书罚款(罚款编号char(20) primary key, 图书编号char(20), 读者编号char(20), 罚款日期datetime, 罚款金额char(10), 是否交款char(8), 备注char(1
19、0), Foreign key (图书编号) references 图书信息(编号), Foreign key (读者编号) references 读者信息(编号) ) Go -创建“图书丢失”表 Create table 图书丢失(丢失编号char(20) primary key, 图书编号char(20), 读者编号char(20), 偿还金额char(10), 操作时间datetime Foreign key (图书编号) references 图书信息(编号), Foreign key (读者编号) references 读者信息(编号) ) Go -创建“图书注销”表 Create
20、table 图书注销(注销编号char(20) primary key, 图书编号char(20), 注销时间datetime, Foreign key (图书编号) references 图书信息(编号) ) Go 向图书馆管理系统数据库中插入数据 -插入读者类型 Insert into 读者类型values(学生,5,2,30天) Insert into 读者类型values(教师,10,4,60天) -插入图书基本信息 Insert into 图书基本信息values (7-302-12266-0,经典案例开发,2022年1月第1版, 计算机,马里杰,清华大学出版社,2,2) Inser
21、t into 图书基本信息values(7-302-12266-1,经典实例精讲,2022年1月第1版, 计算机,夏邦贵,机械工业出版社,3,3) Insert into 图书基本信息values(7-302-12266-4,电工电子实训教程,2022年1月第1版, 电工,向守兵,电子科技大学出版社,2,2) Insert into 图书基本信息values(7-302-12266-3,英语专业四级词汇,2022年1月第1版, 英语,徐向珍, 中国建材工业出版社,2,2) -插入读者信息 2022-09-10, 2022-06-01,0,0,否) 2022-09-10, 2022-06-01,0,0,否) 2022-09-10, 2022-06-01,0,0,否) 2000-01-20,2050-01-20, 0,0,否) Insert into 读者信息values (t000002,刘晨,教师,女,2222546,2022-02-01,2056-02-01,0,0,否) -插入图书信息
限制150内