数据库图书馆管理系统.doc
- 文档编号:30807651
- 上传时间:2024-01-30
- 格式:DOC
- 页数:14
- 大小:128.50KB
数据库图书馆管理系统.doc
《数据库图书馆管理系统.doc》由会员分享,可在线阅读,更多相关《数据库图书馆管理系统.doc(14页珍藏版)》请在冰豆网上搜索。
一.课程设计目的
数据库课程设计是为数据库原理及应用课程而独立开设的实践性课程,对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。
通过本实验达到以下目的:
(1)熟练掌握一种数据库系统(如SQLSERVER)的使用。
(2)熟练掌握一种数据库应用软件开发工具的使用。
(3)通过设计实际的数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力。
二.课程设计任务与要求:
1、任务:
图书管理系统
问题描述:
1)学校图书室有各种图书几十万余册。
2)每种图书都有书名、书号(ISBN)、一名或多名作者(译者)、出版社等。
3)借书证记录有借阅者的借书证编号,读者姓名,读者性别,读者种类,登记时期等。
4)凭借书证借书,学生每次最多能借5本书,借书期限最长为30天,老师每次最多能借10本,借书期限最长为60天。
2、设计要求:
1)实现新进图书的数据录入和下架图书的数据删除。
2)实现借阅者图书证信息的录入和删除。
3)实现对所有购进图书的分类查询和分类统计。
4)能够按书名、作者等分类查询现有图书的数量。
5)能够记录借阅者的个人资料和所借图书的书名、书号、借书时间等
6)能够进行借书还书处理。
7)能够进行借书逾期罚款处理。
8)能够进行用户管理。
9)设计一完整的数据库。
要求掌握数据库的设计的每个步骤;掌握数据设计各阶段的输入、输出、设计环境、目标和方法;熟练的使用SQL语言实现数据库以及数据库重要对象的建立、应用和维护。
三.课程设计说明书
1需求分析
(1)数据需求
图书馆管理信息系统需要完成功能主要有:
①读者基本信息的输入,包括借书证编号、读者姓名、读者性别等。
②读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。
③书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。
④书籍类别信息的查询、修改,包括类别编号、类别名称。
⑤书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日期。
⑥书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期,登记日期等。
⑦借书信息的输入,包括读者借书证编号、书籍编号、借书日期。
⑧借书信息的查询、修改,包括借书证编号,读者姓名、书籍编号、书籍名称、借书日期等。
⑨还书信息的输入,包括借书证编号、书籍编号、还书日期。
⑩还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。
⑾超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚款金额。
⑿超期还书罚款查询,删除,包括读者借书证编号、读者姓名、书籍编号、书籍名称,罚款金额等
⒀管理员管理:
包括创建读者用户信息、删除读者用户信息、添加图书信息、删除图书信息。
⒁超级管理员管理:
包括创建管理员用户信息、删除管理员用户信息、创建读者用户信息、删除读者用户信息、添加图书信息、删除图书信息。
(2)事物需求
①在读者信息管理部分,要求:
a.可以查询读者信息。
b.可以对读者信息进行添加及删除的操作。
②在书籍信息管理部分,要求:
a.可以浏览书籍信息
b.可以对书籍信息进行维护,包括添加及删除的操作。
③在借阅信息管理部分,要求:
。
a.可以浏览借阅信息。
b.可以对借阅信息进行维护操作。
④在归还信息管理部分,要求:
a.可以浏览归还信息
b.对归还信息可修改维护操作
⑤在管理者信息管理部分,要求:
a.显示当前数据库中管理者情况。
b.对管理者信息维护操作。
⑥在罚款信息管理部分,要求:
a.可以浏览罚款信息
b.对罚款信息可以更新
(3)关系模式
(1)书籍类别(类别编号,类别名)
(2)读者(借书证编号,读者姓名,读者性别,读者种类,登记时期,可借书数,已借书数,逾期未还书数)
(3)管理员(管理员编号,管理员姓名,管理员密码,管理员权限)
(4)超级管理员(管理员编号,管理员姓名,管理员密码,管理员权限)
(5)书籍(书籍编号,书籍名称,书籍类别,书籍作者,出版社名称,出版日期,登记日期)
(6)借阅(借书证编号,书籍编号,读者借书时间)
(7)还书(借书证编号,书籍编号,读者还书时间)
(8)罚款(借书证编号,读者姓名,借书证编号,书籍编号,读者借书时间)
2概要设计
(1)实体图及E-R图
根据1)所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。
图书管理信息系统可以划分的实体有:
书籍类别信息实体、读者信息实体、书籍信息实体、借阅记录信息实体,归还记录信息实体。
用E-R图一一描述这些实体。
a.读者信息实体图:
可借书数
已借书数
逾期未还书数
读者
读者姓名
读者性别
读者种类e
登记时间
读者借书证编号
图2-1读者实体及其属性图
b.管理员实体图
管理员
管理员姓名
管理员编号
管理员密码
管理员权限
图2-2管理员实体及其属性图
书籍
书籍编号
书籍名称
书籍类别编号
书籍作者
出版时间
收录时间
是否被借
出版社
c..书籍实体图:
图2-3书籍实体及其属性图
d.借阅记录信息实体图:
读者借书证编号
书籍类别编号
借阅时间隔
借阅记录信息
图2-4借阅记录信息实体及其属性图
归还记录信息
读者借书证编号
书籍类别编号
归还时间隔
e.归还记录信息实体图:
图2-5记录信息实体及其属性图
f.罚款信息实体图:
书籍类别编号
罚款信息实体实体
罚款金额
读者姓名
读者借书证编号
书籍名称
借阅时间隔
图2-6罚款信息实体及其属性图
1
1
n
信息登记
读者
书籍
书类别
归还
借阅
罚款
罚款信息
还书信息
借阅信息
实体
m
n
m
n
m
n
n
1
m
创建
1
管理
n
n
n
管理
m
管理员
超级管理员
创建
1
m
n
出具罚款单
g.总的信息实体E-R图
图2-7总的信息实体E-R图
3逻辑设计
表3-1 book_sytle书籍类别信息表
表中列名
数据类型
可否为空
说明
类别编号
varchar
notnull(主键)
种类编号
类别名称
Varchar
notnull
种类名称
表3-2 system_readers读者信息表格
表中列名
数据类型
可否为空
说明
读者借书证号
varchar
notnull(主键)
读者借书证号
读者姓名
varchar
notnull
读者姓名
读者性别
varchar
notnull
读者性别
读者种类
varchar
notnull
读者种类
可借书数
datetime
null
登记日期
书名
int
null
可借书数
已借书数
int
null
已借书数
逾期未还书数
int
null
逾期未还书数
表3-3 system_book书籍信息表
表中列名
数据类型
可否为空
说明
书籍编号
Varchar
Notnull(主键)
书籍编号
书籍名称
Varchar
Notnull
书籍名称
续表3-3
书籍类别
Varchar
Notnull
书籍类别
书籍作者
Varchar
Notnull
书籍作者
书籍出版社
Varchar
Null
出版社名称
出版时间
Datetime
Null
出版日期
收录时间
Datetime
Null
登记日期
是否被借
Bit
NotNull
是否被借出
表3-4 borrow_record借阅记录信息表
表中列名
数据类型
可否为空
说明
读者借书证号
Varchar
Notnull(外主键)
读者借阅证编号
书籍类别编号
Varchar
Notnull(外主键)
书籍编号
借阅时间
Datetime
Notnull
读者借书时间
表3-5 return_record借阅记录信息表
表中列名
数据类型
可否为空
说明
读者姓名
Varchar
Notnull(外主键)
读者借阅证编号
读者借书证号
Varchar
Notnull(外主键)
书籍编号
归还时间
datetime
Notnull
读者还书时间
表3-6 reader_fee罚款记录信息表
表中列名
数据类型
可否为空
说明
读者借书证号
varchar
Notnull
读者借书证编号
读者姓名
varchar
Notnull
读者姓名
书籍类别编号
varchar
Notnull(外主键)
书籍编号
书籍名称
varchar
Notnull
书籍名称
罚款金额
Smallmoney
NotNull
罚款金额
借阅时间
datetime
NotNull
借阅时间
表3-7system_Administrator管理员信息表
表中列名
数据类型
可否为空
说明
管理员编号
varchar
notnull(主键)
管理员编号
管理员姓名
varchar
notnull
管理员姓名
管理员密码
varchar
notnull
管理员密码
管理员权限
varchar
notnull
管理员权限
表3-8system_Super_Administrator管理员信息表
表中列名
数据类型
可否为空
说明
管理员编号
varchar
notnull(主键)
管理员编号
超级管理员姓名
varchar
notnull
管理员姓名
超级管理员密码
varchar
notnull
管理员密码
超级管理员
varchar
notnull
管理员权限
4关系图:
图2-8数据库存表关系图
5物理设计
数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法。
所谓的“合理”主要有两个含义:
一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。
主要体现在后者。
(1)建立索引:
①对book_style表在bookstyleno属性列上建立聚集索引,在bookstyle属性列上建立非聚集索引。
②对System_book表在bookid上建立聚集索引,在bookname、bookstyleno、boookauther、bookpub上建立非聚集索引。
③对return_record表在bookid上建立聚集索引,在readerid上建立非聚集索引
④对reader_fee表在bookid上建立聚集索引,在readerid上建立非聚集索引。
⑤对system_reader表在readerid列上建立聚集索引
⑥对boorow_record表在bookid上建立聚集所以,在readerid上建立非聚集索引
⑦对system_Administrator表在administratorid列上建立聚集索引。
⑧对system_Super_Administrator表在superadministratorid上建立聚集索引。
(2)存储结构
确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。
将日志文件和数据库对象(表、索引等)分别放在不同的磁盘可以改进系统的性能。
所以系统将日志文件和数据文件存放在不同磁盘上。
6数据库建立
(1)创建数据库
USEmaster
GO
CREATEDATABASElibrarysystem
ON
(NAME=librarysystem,
FILENAME='d:
\librarysystem.mdf',
SIZE=10,
MAXSIZE=50,
FILEGROWTH=5)
LOGON
(NAME='library',
FILENAME='e:
\librarysystem.ldf',
SIZE=5MB,
MAXSIZE=25MB,
FILEGROWTH=5MB)
GO
--
(2)书本类别表建立
createtablebook_style
(
类别编号varchar(30)primarykey,
类别名称varchar(30)
)
go
--(3)创建书库表
createtablesystem_books
(
书籍编号varchar(20)primarykey,
书籍名称varchar(30)Notnull,
书籍类别编号varchar(30)Notnull,
书籍作者varchar(30),
书籍出版社varchar(30),
出版时间datetime,
书籍收录时间datetime,
是否被借bit,
foreignkey(书籍类别编号)referencesbook_style(书籍类别编号),
)
go
--(4)读者信息表建立
createtablesystem_readers
(读者借书证号varchar(9)primarykey,
读者姓名varchar(9)notnull,
读者性别varchar
(2)notnull,
读者种类varchar(10),
登记时间datetime,
可借书数int,
已借书数int,
逾期未还书数int
)
go
--(5)借书记录表建立
createtableborrow_record
(书籍编号varchar(20)primarykey,
读者借书证号varchar(9),
借阅时间datetime,
foreignkey(书籍编号)referencessystem_books(书籍编号),
foreignkey(读者借书证号)referencessystem_readers(读者借书证号),
)
go
--(6)还书记录表建立
createtablereturn_record
(书籍编号varchar(20)primarykey,
读者借书证号varchar(9),
归还时间datetime,
foreignkey(书籍编号)referencessystem_books(书籍编号),
foreignkey(读者借书证号)referencessystem_readers(读者借书证号)
)
go
--(7)罚款单表建立*/
createtablereader_fee
(读者借书证号varchar(9)notnull,
读者姓名varchar(9)notnull,
书籍编号varchar(20)primarykey,
书籍名称varchar(30)Notnull,
罚款金额smallmoney,
借书时间datetime,
foreignkey(书籍编号)referencessystem_books(书籍编号),
foreignkey(读者借书证号)referencessystem_readers(读者借书证号)
)
go
--(8)管理员表建立
createtablesystem_Administrator
(管理员编号varchar(9)primarykey,
管理员姓名varchar(9)notnull,
管理员密码varchar
(2)notnull,
管理权限varchar(10)
)
go
--(9)超级管理员表建立
createtablesystem_super_Administrator
(超级管理员编号varchar(9)primarykey,
超级管理员姓名varchar(9)notnull,
超级管理员密码varchar
(2)notnull,
超级管理员权限varchar(10)
)
go
(10)索引的创建
uselibrarysystem
go
createindexbookstyle_index_styleonbook_style(书籍类别)
createindexborrow_record_index_readeridonborrow_record(读者借书证号)
createindexreader_fee_index_readeridonreader_fee(读者借书证号)
createindexreturn_record_index_readeridonreturn_record(读者借书证号)
createindexsystem_books_index_booknameonsystem_books(书籍名称)
createindexsystem_books_index_stylenoonsystem_books(书籍类别编号)
createindexsystem_books_index_bookauthoronsystem_books(书籍作者)
7数据初始化
(1)将书籍类别加入表book_style中
insertintobook_style(书籍类别编号,书籍类别)values('1','人文艺术类')
insertintobook_style(书籍类别编号,书籍类别)values('2','自然科学类')
insertintobook_style(书籍类别编号,书籍类别)values('3','社会科学类')
insertintobook_style(书籍类别编号,书籍类别)values('4','图片艺术类')
insertintobook_style(书籍类别编号,书籍类别)values('5','政治经济类')
insertintobook_style(书籍类别编号,书籍类别)values('6','工程技术类')
insertintobook_style(书籍类别编号,书籍类别)values('7','语言技能类')
(2)将已有的图书加入system_books表中(定义相同的作者出版社的书本编号不一样)
insertintosystem_books(书籍编号,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
values('00125415152','计算机组成原理','6','王爱英','清华大学出版社','2001-01-03','2003-11-15','1');
insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
values('00125415153','计算机组成原理','6','王爱英','清华大学出版社','2001-01-03','2003-11-15','1');
insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
values('00456456','数据库原理','6','萨师煊','高等教育出版社','2007-07-02','2007-09-15','1');
insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
values('12215121','C程序设计','6','谭浩强','清华大学出版社','2002-04-02','2004-03-14','1');
insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
values('9787308020558','计算机体系结构','6','石教英','浙江大学出版社','2004-10-03','2006-11-15','1');
insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
values('45456141414','数据结构(C语言版)','6','吴伟民,严蔚敏','清华大学出版社','2002-06-28','2004-01-21','1');
insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
values('5455515','中华历史5000年','1','吴强','北京大学出版社','2005-04-03','2006-05-15','1');
insertintosystem_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,isborrowed)
values('015115','古代埃及','3','赵文华','北京大学出版社','2001-02-02','2002-09-15','1'
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 图书馆 管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)