一、课题设计的基本内容
经过对图书管理系统的分析,因图书数量、规模大,管理信息量大,建立图书管理系统是为了解决人工手动管理图书信息在实践的问题。这里把系统的层次划分为了四个部分:图书维护,人员信息管理,图书借阅管理,信息查询。通过需求分析所得的信息如下:
-
处理对象:
读者信息:读者编号,姓名,性别,学号,学院,专业,年级,类型,类别编号,办证日期
管理员信息:管理员编号,姓名,性别,电话
馆藏图书信息:图书编号,图书名称,作者,出版社,单价,摘要,关键字,副本数,分类,出版日期,状态
借阅信息:图书编号,读者编号,借阅日期,应还日期,罚金
借阅历史信息:图书编号,读者编号,借阅日期,应还日期, 归还日期,罚金
罚款信息:读者编号,图书编号,借阅日期,应还日期,归还日期,罚款金额,处理状态,管理员编号 -
处理功能及要求
用户对图书管理系统的功能及要求如下:
1)能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括:a) 进行新书入库、现有图书信息修改以及删除; b)能够实现对读者基本信息的查询和编辑管理; c)能够进行超期罚款功能; d)能够进行借阅信息的查询功能;
2)能够对一定数量的读者、管理员进行相应的信息存储与管理,这其中包括:
a)读者信息的登记、删除及修改。 b)管理员信息的增加、删除及修改。 c)读者资料的统计与查询。
3)能够提供一定的安全机制,提供数据信息授权访问,防止随意删改、查询。
4)对查询、统计的结果能够列表显示。
二、设计工具及系统运行环境
Win10:操作系统
Power designer:建立R-R模型
SQL Server:建立数据库,编辑基本数据类
Python:操作界面
三、数据库设计E-R模型
- 各E-R图各实体的属性如下所示:
图书:Book(BookID,BookName,BookWriter,BookPublish,BookPrice,BookDate,BookClass,BookMain,BookPrim,BookCopy,BookState,BookRNo)
读者:Reader(ReaID,ReaName,ReaSex,ReaNo,ReaLBID,ReaType,ReaDep,ReaGrade,ReaPref,ReaDate)
管理员:Maneger (MID,MName,MSex,MTeleph)
读者类别:ReaderTpye(LBID,LBName,LBnum,LBbqx,LBqx)
馆室: Room(RoomNo,RoomMID,RoomNum,RoomAddre)
借阅信息:Borrow(BookID,ReaderID,Outdate,Indate,YHdate,Fine,CLStaer,MID)
罚款信息:Fine(BookID,ReaderID,Outdate,Indate,Fine)
四、软件主要功能设计(附上成品截图)
- 登录窗口:用户名为管理员id,密码为123456
-
登录成功,进入操作界面
-
部分操作结果:
1)增
2)删
3)查多
五、代码
- SQL Sever代码:
--数据库
create database BOOK; --建立数据库
--表
use BOOK;
create table ReaderType --读者类别
( LBID char(5) primary key, --读者类别编号
LBName char(20) not null, --读者类别名
LBnum char(5) default(3), --允许借阅最大图书数
LBbqx char(4) default(30), --持有图书最长期限
LBqx char(3) not null --借阅证期限
)
create table Maneger --管理员
(
MID char(10) primary key, --管理员编号
MName char(10) not null, --姓名
MSex char(2) default('男'), --性别
MTeleph char(15), --电话
check(MSex ='男' or MSex ='女'),
check(len(MTeleph)=11 or len(MTeleph)=8 or len(MTeleph)=0)
)
create table Room --图书馆室
(
RoomNo char(5) primary key, --馆室号
RoomMID char(10) not null, --馆室管理员编号
Roomnum char(5), --拥有图书数
RoomAddre char(20)