资源描述
学校图书馆管理系统分析与设计
- 34 -
2020年4月19日
文档仅供参考,不当之处,请联系改正。
图书馆管理系统分析与设计
1. 前言
随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息系统的作用也越来越大。图书馆在正常运营中总是面对大量的读者信息,书籍信息以及由两者相互作用产生的借书信息,还书信息。因此图书管理信息化是发展的必然趋势。用结构化系统分析与设计的方法,建立一套有效的图书信息管理系统,能够减轻工作,将工作科学化、规范化,提高了图书馆信息管理的工作质量因此根据图书馆当前实际的管理情况开发一套图书管理系统是十分必要的。
1.1. 图书管理模式的发展过程
1.1.1. 传统图书管理模式
在传统图书管理中,管理员首先把买来的图书资料登记到资料本上,再给每本书分类贴上标签及制作和标签相对应的图书分类卡片,最后把图书分类卡片按类别分别放置在文件柜里。然后还需要对有学生(教师)证的学生(教师)的资料作一定的记录。
在读者借书时,持证件者要先去存放图书分类卡片的文件柜里查找想借的书是否在架,如果卡片存在,再按照图书分类卡片在相应的书架上找到需要的图书。之后图书管理员登记持证件者的借还书时间和在书签条上写下借还书记录,借书证留下;还书的时候,相对应的消去出借记录。
传统的图书管理模式有诸多缺点,比如操作手续繁琐、工作量大、效率低下、出错率高等。给对大量资料的查询、更新及维护都带来不少困难。
1.1.2. 当前的图书管理模式
当前,管理信息系统已在各类图书馆中得到了广泛应用。而几乎所有的图书管理信息系统都包含了以下几个模块:
图书检索模块:是图书管理系统的重要模块之一,是读者快速查询图书的途径。
图书管理模块:是图书管理员操作模块,读者是无权进入的。本模块由借出图书登记、归还图书登记和续借图书登记子模块构成。
数据维护模块:是由图书管理员控制的模块,它由增加、修改和删除读者,增加、修改删除图书,浏览修改读者、浏览修改图书等程序组成。
数据统计模块:由读者统计、图书统计、借出图书分类统计、到期末归还图书读者统计几部分组成。
包含这几个模块的管理系统已经解决了传统图书管理管理模式所存在着的诸多问题与缺点,能使读者快速检索到自己需要的书籍,也极大减轻了图书管理员的日常工作量。在这四大模块的支持下,图书管理系统能够满足基本的管理需要。
1.2. 本系统的目标
1.2.1. 功能目标
1. 实现图书馆对在馆图书的按类别,书名,作者,是否已被借出等多方面的查询。
2. 实现图书馆对新书入库,旧书注销的简单处理,而且建立书籍档案,方便图书管理。
3. 能够输入图书的综合情况和进行新书入库、现有图书信息修改以及删除。
4. 建立图书馆外借读者数据库,包括添加读者信息、删除读者信息、修改读者信息。
5. 能够按读者编号查询读者信息,包括该读者所借图书名称,归还日期等信息。
6. 能够进行罚款功能。
7. 能够进行借阅历史的查询功能。
9. 增加管理用户和注销功能。
1.2.2. 系统性能目标:
1. 系统安全、可靠。
2. 功能齐全。
3. 操作方便、界面友好。
4. 易于维护和扩充。
1.3. 系统运行环境
系统开发环境:Microsoft Visual Studio
系统开发语言:Visual Basic
运行平台:Windows XP
数据库:SQL Server
2. 系统需求分析
2.1. 社会需求
随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。从而使我们从繁杂的事务中解放出来,提高了我们的工作效率。
因此,需要这样的一个图书馆系统:
1、 能够管理读者的登记、图书的购入、借出、归还以及注销等。
2、 管理人员能够查询某位读者、某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,以全面掌握图书的流通情况。
3、 同时能够连接网络,便于在校教师,学生查询自己的借阅信息等。避免在馆图书内,下载所需资源,大大节省了图书馆的人力资源,方便了教师、学生的借阅,查询。
4、 管理员能够利用系统得出仓储和折旧等情况,根据这些决定进购书的类型和数量。
5、 用户能够快速查找图书信息,方便借阅。
2.2. 系统的功能需求:
1. 密码设置:每个操作员均有自己的密码,能够防止非本系统人员进入本系统;又因每个人的权限不一致,故能够防止越权操作。
2. 资料维护:为了存放图书、读者档案的全部数据,本系统将每一本图书和每位读者的信息进行管理。系统维护包括对各种表记录的修改、删除、添加等操作。
3. 系统查询:能够按图书编号、借阅证编号等相关信息进行查询
4. 系统管理:进行图书馆信息管理、管理员权限设置。
5. 报表统计:包括统计图书信息、读者信息、借阅信息和罚款信息等。
6. 其它操作:包括修改密码、添加用户、页面设置等。
3. 功能规划
3.1. 系统功能描述
图书借阅管理系统的主要任务是实现读者迅速检索查询,方便借阅归还图书,图书管理员高效的完成系统的各项基本操作,系统管理员是管理用户设置权限等操作。图书借阅管理系统要完成一下功能:
1. 登录。
读者、图书管理员,系统管理员进入该系统必须登录,身份验证正确了才能够进入该系统,以不同身份进入该系统所对应的系统使用权限是不同的。
2. 系统设置功能:
系统管理员能够设置图书馆相关的参数信息。
3.用户管理功能:
对系统用户进行添加,修改,删除,权限设置等操作。
4.查询功能:
对图书馆的馆藏图书,借阅历史,读者用户等信息进行查询。
5.其它功能
系统管理员能够修改自己的密码,而且拥有其它用户所拥有的所有功能。
3.2. 功能设置
本系统应该具有以下功能:
1.对于读者在本系统的应用下可实现按照各种方式(如:书名,编号,作者)查询图书馆的藏书情况,方便的借阅图书,续借图书,归还图书,能够查询自己的借阅图书情况。
2.对于图书馆工作人员能够实现方便的对图书进行查询,方便的进行读者借阅情况查询,方便的进行借书还书处理等,便捷的对图书信息进行添加、修改、删除,分类管理等操作,对读者信息进行相关添加,修改,分类管理等操作。
3.对于系统管理员能够对图书馆信息进行修改更新操作,对系统用户进行添加、修改、删除、权限设置等操作,对图书馆的办证参数进行修改维护等操作功能。
3.3. 用户设置及用户功能
3.3.1. 用户设置
本系统的用户主要是读者和图书管理员,读者经过该系统进行图书查询进而对自己需要的图书进行借阅及自己的借阅情况进行查询,图书管理员则经过本系统实现对图书及读者的高效管理,除此之外,还需要一个系统管理员对不同的用户进行权限的设置等操作。
三类用户的具体描述如下表所示:
用户类
描述
读者
读者是该系统的重要的使用角色,她们经过该系统查询自己需要的图书信息,并像图书管理员提出借阅图书的申请进而借阅自己所需的图书,还能够经过对自己借阅情况进行查询。
图书管理员
图书管理员是该系统的另一个重要使用者,图书管理员经过该系统进行图书的增加,修改,删除,分类管理等操作,实现对读者借阅归还续接图书的方便操作,实现对系统中图书,读者,读者借阅情况的查询,信息更改维护等操作,管理读者类型,对不同类型读者可借阅的图书数量进行设置等图书馆的基本操作。
系统管理员
系统管理员主要是图书管理系统中用户的管理,实现用户添加修改删除以及用户权限设置等操作,实现对图书馆基本信息的修改维护等操作,还包括对图书馆书架的设置操作,以及校外读者办证所需费用、证件有效期等参数的设置。
3.3.2. 图书管理员详细功能
1. 读者管理功能:
对读者的类型和读者档案进行管理,包括添加,修改,删除读者类型和读者用户的相关信息,管理不同类型读者借阅图书的数量。
2. 图书管理功能:
包括对图书类型和具体图书信息的管理,能够增加,修改,删除图书,丰富具体图书的信息,对不同图书进行分类操作。
3. 图书借阅功能:
能够完成对读者借阅,续接和还书的操作。
4. 系统查询功能:
查询图书相关资料,借阅历史和借阅到期题型.
5. 修改密码功能:
能够修改自己的登录密码。
3.3.3. 读者详细功能
1) 修改登陆密码:
修改自己的登录密码。
2) 查询功能:
对图书馆图书信息进行查询,对自己当前借阅书籍进行查询,对图书规划到期题型进行查看。
4. 系统分析
4.1. 业务流程分析
业务流程图(TFD)反映着业务处理的过程,有前后次序关系。
基本符号如下
业务处理单位 数据 业务 存档文件 文档 决策
经过分析,得到系统综合业务流程图如下:
图2.1 业务流程图
4.2. 数据流程分析
顶层数据流图:
第2层数据流图:(读者借阅,读者还书,读者查询,管理员查询,管理员修改)
第3层数据流图1:(读者借阅)
第3层数据流图2:(读者还书)
第3层数据流图3:(查询图书信息,查询读者信息,查询借阅历史,查询罚款信息)
第3层数据流图4:(管理员添加、删除、修改图书信息)
第3层数据流图5:(管理员添加、删除、修改读者信息)
第3层数据流图6:(管理员添加、删除、修改系统用户信息)
4.3. 数据字典
数据项:
系统涉及的数据项有44项
表1.1 数据项列表
数据项编号
数据项名
数据项含义
与其它数据项的关系
存储结构
别名
DI-1
BookID
图书条码号
char(9)
条码号
DI-2
BookNo
图书索书号
char(10)
索书号
DI-3
BookName
图书名
char(20)
书名
DI-4
BookWriter
图书作者
char(8)
作者
DI-5
BookPublish
图书出版社
char(20)
出版社
DI-6
BookPrice
图书单价
char(7)
单价
DI-7
BookDate
图书出版日期
Date
出版日期
DI-8
BookClass
图书分类
char(20)
类别
DI-9
BookMain
图书摘要
char (200)
摘要
DI-10
BookPrim
图书关键字
char (30)
关键字
DI-11
BookCopy
图书副本数
char (5)
副本数
DI-12
BookState
图书是否可借
char(10)
状态
DI-13
BookRNo
所属馆室号
同RoomNo
char(5)
馆室号
DI-14
ReaID
读者条码号
char(9)
条码号
DI-15
ReaName
读者姓名
char(10)
姓名
DI-16
ReaSex
读者性别
char(2)
性别
DI-17
ReaNo
读者学号
char (9)
学号
DI-18
ReaLBID
读者类别编号
同LBID
char(5)
类别编号
DI-19
ReaType
读者类型(职务)
char(20)
类型
DI-20
ReaDep
读者所在学院
char(20)
学院
DI-21
ReaGrade
读者所属年级
char(5)
年级
DI-22
ReaPre
读者所读专业
char(20)
专业
DI-23
ReaDate
读者办证时间
Date
办证时间
DI-24
OutDate
借阅日期
Date
借阅时间
DI-25
InDate
归还日期
Date
归还时间
DI-26
YHDate
应还日期
Date
应还时间
DI-27
Fine
罚款金额
char(3)
罚款金额
DI-28
CLState
是否交纳罚金
char(8)
处理状态
DI-29
LBID
类别编号
同ReaLBID
char(5)
类别编号
DI-30
LBName
读者类别名
char(20)
类别名
DI-31
LBnum
允许最多借书数量
char(5)
借阅数量
DI-32
LBbqx
允许最长持有时间
char(4)
借阅期限
DI-33
LBqx
借阅卡有效期
char(3)
有效期限
DI-34
MID
管理员编号
同RoomMID
char(10)
编号
DI-35
MName
管理员姓名
char(10)
姓名
DI-36
MSex
管理员性别
char(2)
性别
DI-37
Mpwd
管理员口令
char(8)
口令
DI-38
MAuth
管理员权限级别
char(4)
权限级别
DI-39
MTeleph
管理员电话
char(15)
电话
DI-40
MAddre
管理员地址
char(30)
住址
DI-41
RoomNo
馆室号
同BookRNo
char(5)
馆室号
DI-42
RoomMID
馆室管理员编号
同MID
char(10)
编号
DI-43
RoomNum
馆室内图书数目
char(5)
数量
DI-44
RoomAddre
馆室地址
char(20)
地址
数据结构:
表1.2 数据结构列表
数据结
构编号
数据结构名
数据结构
含义
组成
DS-1
Book
馆藏图书信息
BookID,BookNo,BookName,BookWriter,
BookPublish,BookPrice,BookDate,BookClass, BookMain,BookPrim,BookCopy,BookState,
BookRNo
DS-2
Reader
读者信息
ReaID, ReaName, ReaSex, ReaNo, ReaLBID, ReaType, ReaDep, ReaGrade, ReaPref, ReaDate,
DS-3
Borrow
借阅信息
BookID,ReaID,BookName,BookWriter, Outdate,YHdate
DS-4
History
借阅历史
BookID,ReaID,BookName,BookWriter, Outdate,Indate
DS-5
Fine
罚款信息
BookID,ReaID,BookName,Outdate,Indate,Fine, CLState,MID
DS-6
ReaderType
读者类别
LBID, LBName, LBnum, LBbqx, LBqx
DS-7
Maneger
管理员信息
MID,MName,MSex,Mpwd,MAuth,MTeleph,MAddre
DS-8
Room
馆室信息
RoomNO, RoomMID, RoomNum, RoomAddre
5. 系统设计
5.1. 系统结构设计
5.1.1. 系统功能模块图:
5.1.2. 读者基本信息的查询和更新模块
将实现对读者基本信息的查询和更新(修改、添加、删除)操作,用于新生入学,毕业生离校,以及读者补办借阅证或更改信息的情况,具体的功能模块图如下:
5.1.3. 图书基本信息的查询和更新模块
将完成对图书基本信息的查询、更新(修改、添加、删除)操作,用于读者对图书信息的查询及管理员添加新书、删除淘汰的旧书,具体的功能模块图如下所示:
5.2. 数据库设计
5.2.1. 概念结构设计
实体——联系图
在本图书管理系统中,从第3层数据流程图下手。分析各3层数据流图和数据字典,知道整个系统功能围绕“读者”、“管理员”和“图书”的处理。根据实体与属性间的两条准则:作为“属性”,不能再具有需要描述的性质。“属性”不能与其它实体具有联系。第三层数据流程图1、图2、图3可综合成借阅子系统的分E-R图1,第三层数据流程图4可抽象为分E-R图2,第三层数据流程图5可抽象为分E-R图3,第三层数据流程图6可抽象为分E-R图4。然后采用逐步集成的方式将各分E-R图合并,消除不必要的冗余和冲突后就生成了基本E-R图5。
根据不同的对象,从第3层数据流程图入手,分别画出各分E-R图:
从第三层数据流程图图1、2与图3抽象出的分E-R图1:
从第三层数据流程图图4抽象出的分E-R图2:
从第三层数据流程图图5抽象出的分E-R图3:
从第三层数据流程图图6抽象出的分E-R图4:
合并各分E-R图,消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步E-R图,再消除不必要冗余,得到的基本E-R图5如下所示:
各E-R图各实体的属性如下所示:
图书:Book(BookID, BookNo, BookName, BookWriter, BookPublish, BookPrice, BookDate, BookClass, BookMain, BookPrim, BookCopy, BookState,BookRN)
读者:Reader(ReaID, ReaName, ReaSex, ReaNo, ReaLBID, ReaType, ReaDep, ReaGrade, ReaPref, ReaDate)
管理员:Maneger(MID, MName, MSex, Mpwd, MAuth, MTeleph, MAddre)
馆室:Room(RoomNo,RoomMID,RoomNum,RoomAddre)
读者类别:ReaderTpye(LBID, LBName, LBnum, LBbqx, LBqx)
各E-R图中联系的属性如下所示:
借阅信息:Borrow (BookID,ReaderID,BookName,BookWriter, Outdate,YHdate)
借阅历史:History(BookID,ReaderID,BookName, BookWriter, Outdate,Indate)
罚款信息:Fine(BookID,ReaderID,BookName, Outdate,Indate, Fine, CLState, MID)
5.2.2. 逻辑结构设计
5.2.2.1. 实体型转换为关系模式
实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况: 一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
一个1:n联系能够转换为一个独立的关系模式,也能够与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。 一个1:1联系能够转换为一个独立的关系模式,也能够与任意一端对应的关系模式合并。三个或三个以上实体间的一个多元联系能够转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合 具有相同码的关系模式可合并。
由于读者类别与读者、馆室与图书的联系方式是1:n(一对多),能够将其之间的联系与n端实体读者、图书合并,管理员与图书之间的维护联系也是1:n(一对多),同样也将其之间的联系与n端实体合并,而读者与图书之间的借阅和归还联系方式则是n:m(多对多),这样要把它们之间的联系转化为独立的关系模式,读者与管理员之间的罚款联系是m:n(多对多),将其联系也转化成独立的关系模式,具体的基本E-R图向关系模型的转化如下:
本文由美晋彤情侣商城整理:
图书:Book(BookID, BookNo, 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,Mpwd,MAuth,MTeleph,MAddre)
读者类别:ReaderTpye(LBID, LBName, LBnum, LBbqx, LBqx)
馆室: Room(RoomNo,RoomMID,RoomNum,RoomAddre)
借阅信息:Borrow(BoBokID,ReaderID,BookName,BookWriter, Outdate,YHdate)
借阅历史:History(BookID,ReaderID,BookName,BookWriter, Outdate,
Indate,YHdate)
罚款信息:Fine (BookID,ReaderID,BookName,Outdate,Indate,Fine, CLState,MID)
(注:标有直线下划线的为主属性,标有波浪线下划线的是外键属性,主属性与外键属性一起构成主码)
5.2.2.2. 优化
关系模式Book,Reader,Room,ReaderType du,Maneger不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF,可是借阅关系模式、借阅历史关系模式、罚款关系模式(Borrow,History,Fine)中存在着一些数据冗余,现将三个关系模型进行合并,消除冗余,优化为:
借阅信息:Borrow ( BookID,ReaderID,BookName,BookWriter, Outdate,Indate,
YHdate,Fine,CLStaer,MID)
5.2.2.3. 表结构设计
图书信息表结构设计
图书信息表主要用于存储图书馆中所藏图书的相关信息,其中的相关信息是在图书入库时由操作员进行添加完善,此表主要用于读者和图书管理员对馆中图书的查询,系统用户根据图书的某个属性进行查询,便可得知图书的其它相关信息,其中图书所在书架属性是便于读者借阅时对图书的寻找,图书价格是在读者不慎将图书遗失时对遗失图书进行赔偿的依据。表的具体结构如下:
表2.2图书信息表tb_bookinfo
字段名称
数据类型
字段长度
是否为空
说明
barcode
varchar
30
No
Key
bookname
varchar
70
No
author
varchar
30
Yes
作者
translator
varchar
30
Yes
译者
ISBN
varchar
20
No
price
float
8,2
No
图书价格
bookcase
varchar
10
No
图书所在书架
press
varchar
70
No
出版社
intime
date
No
图书入库时间
operator
varchar
30
No
操作员
page
int
10
Yes
图书页码
图书类型信息表结构设计
该表的设计主要是方便对图书的分类,和对图书的查询,在实际应用中图书管理员就是根据图书类型的不同将之分列在不同的书架,以方便读者的借阅寻找,其中可借阅天数项设置了不同类型图书的借阅期限,可根据图书的具体情况进行不同的维护管理,表的具体结构设计如下:
表2.3图书类型信息表tb_booktype
字段名称
数据类型
字段长度
是否为空
说明
ID
int
10
No
Key
bookname
varchar
30
No
days
int
10
No
可借阅天数
读者信息表结构设计
读者信息表的设计是为了图书馆管理员对读者进行管理,其中读者ID,不同类型证件的号码都是唯一的,是读者在借阅图书时需要输入对读者身份进行识别的信息,读者邮件电话等信息室为了与读者进行联系,读者类型信息决定了读者一次性可借阅的图书的数量,注册时间可用于查询计算读者身份有效的期限,操作员是为了便于对信息才操作的查询。表的具体结构设计如下:
表2.4读者信息表tb_reader
字段名称
数据类型
字段长度
是否为空
说明
Id
int
10
No
Key
name
varchar
20
No
sex
varchar
4
No
barcode
varchar
30
No
readertype
varchar
11
No
读者类型
tel
varchar
20
Yes
电话
e-mail
varchar
100
Yes
paperType
varchar
10
No
证件类型
PaperNO.
Varchar
20
No
证件号码
birthday
date
Yes
intime
date
No
登记时间
operator
varchar
30
No
操作员
读者类型信息表结构设计
此表的设计是为了对不同身份的读者进行分类方便读者的管理,其中可借阅图书数量的属性设定,是根据读者需求的不同对起权限进行的设置,用于规定不同类型读者一次可借阅的图书数量,表的具体结构设计如下:
表2.5 读者类型信息表tb_readertype
字段名称
数据类型
字段长度
是否为空
说明
ID
int
10
No
Key
readername
varchar
50
No
number
int
4
No
可借图书本数
图书借阅信息表结构设计
该表的设计是用于对读者借阅图书进行管理,表中图书ID属性是对借阅图书的唯一性识别标识,读者ID号记录借阅的相应读者,结出时间记录了相应的归还时间,以及归还时是否超时,操作员是对借阅进行操作的人员的记录方便日后的查询,是否归还标识可查询当起读书是否被归还,表的具体结构设计如下:
表 2.6 图书借阅信息表 tb_borrow
字段名称
数据类型
字段长度
是否为空
说明
ID
int
10
No
Key
readerID
varchar
10
No
bookID
int
10
No
borrowTime
date
No
结出时间
backTime
date
No
应归还时间
operator
varchar
30
No
操作员
ifback
tinyint
1
No
是否归还
图书归还信息表结构设计
与图书借阅信息表形成对照的是图书归还信息表,该表的设计除了像上表一样把借阅的图书与相应的借阅者进行对应的联系以外还记录了读者应归还图书的时间,以此判断读者的借阅是否超时,表的具体结构设计如下:
表 2.7图书归还信息表tb_giveback
字段名称
数据类型
字段长度
是否为空
说明
ID
int
10
No
Key
readerID
varchar
11
No
bookID
int
11
No
backTime
date
No
归还时间
operator
varchar
30
No
操作员
用户信息表结构设计
该表的设计用于记录图书管理系统用户的信息,方便对用户的管理,表中包括用户ID 和用户的登录密码,表的具体结构设计如下:
表 2.8系统用户信息表tb_user
字段名称
数据类型
字段长度
是否为空
说明
ID
int
10
No
Key
name
varchar
30
No
password
varchar
30
No
图书馆信息表结构设计
该表包含了图书馆的名称,地址,联系方式,建馆时间,简介等信息,是对图书馆基本属性信息的描述,方便外界读者对图书馆的了解,表的具体结构设计如下:
表2.9图书馆信息表 tb_library
字段名称
数据类型
字段长度
是否为空
说明
ID
int
10
No
Key
libraryname
varchar
50
No
curator
varchar
10
No
tel
varchar
20
Yes
结出时间
address
varchar
100
No
应归还时间
e-mail
varchar
100
No
url
varchar
100
No
图书馆网站
createDate
varchar
No
创馆时间
introduce
text
Yes
图书馆简介
办证参数信息表结构设计
该表是为校外人员设计的,对于需要到图书馆进行借阅的读者可办理临时的借阅证用于对图书的借阅凭证,表中包含了办证所需费用以及证件的有效期限,表的具体结果设计如下:
表2.10图书证参数信息表tb_parameter
字段名称
数据类型
字段长度
是否为空
说明
ID
int
10
No
Key
Cost
int
10
No
办证费用
validity
int
10
No
有效时间
5.3. 物理结构设计
数据存储设计
为数据库中各基本表建立的索引如下:
1. 由于基本表Reader,Book的主码ReaID,BookID经常在查询条件和连接操作的连接条件中出现,且它们的值唯一,在两个属性上建立唯一索引;
2. 由于基本表Reader的属性ReaDep,Book的属性BookPublish经常在查询条件中出现在两个属性上建立聚簇索引;
3. 借阅信息基本表Borrow的一属性ReaID,BookID,经常在查询条件中出现,考虑在其之上建立聚簇索引;
4. 罚款信息基本表Fine的一属性ReaID,BookID,经常在查询条件中出现,考虑在其之上建立聚簇索引;
5.4. 编码设计
编码就是以数字或字符来代表各种客观实体[4]。在系统开发过程中,编码设计是一个至关重要的问题。一个良好的编码系统能够减少对信息进行重复采集、加工、存储的情况,最大限度地消除因对信息的命名、描述、分类不一致所造成的误解和分歧,减少一名多物、一物多名的混乱现象。编码的主要目的有三点,一是唯一的标识对象,二是便于系统进行分类统计,三是将定性的东西定量化。
信息编码一般应遵循一下原则:1)唯一性:唯一地标识要处理的对象是编制代码的首要任务。2)规范性:编码的规范化是实现信息分类、汇总、统计的基础。3)柔性:即编码应有一定的灵活性,当系统中增加对象、删除对象时,能保持其编码规则不变。4)兼容性:即与相关信息编码体系间的协调性。5)简短性:编码应在满足汇总要求的情况下尽可能短,以便于节省存储空间,减少冗余。6)可识别性:代码应尽可能反映对象的特性,以助记忆和便于了解与使用。
本系统中涉及到编码的主要有两个实体,分别图书和读者。对图书和读者进行合理的信息编码设计,使其能清晰的标识对象和显示分类,对系统的进一步设计是很有必要的。
本系统采用层次码和顺序码结合的方式来对图书和读者进行编码。“顺序码”就是顺序的自然数或字母赋予编码对象。“层次码”是按对象的从属、层次关系为排列顺序的一种编码方式。编码时将代码分成若干层级并与分类对象的分类层级相对应,代码从左至右,表示层级由高到低。
1)对读者编号,为了便于查找采用层次码。
如:02(年级,即入年份) 09(学院代码) 1(专业代码) 279
[注]: 学院代码如:商学院---01 信息学院---02 土木学院---03
外语学院---04 艺术学院---05 计算机科学与工程学院---09
计算机科学与工程学院的专业代码如:计算机科学与技术专业---1
网络专业---2
2)图书编号,为了便于得到有关信息采用层次码。
如:TP(类别) 3111(编号) 01(内部编号)
[注]: 内部编号:同时采购了五本相同的图书,在类别和编号相同的时候,用01,02,03,04,05分别代表这五本相同的图书。
编号: 计算机应用基础---3111 计算机网络---3112
计算机组成原理---3113 数据库---3114
类别: 计算机类--- TP 文学类--- I 艺术类---V
数理化---O 英语类---H
附录:中国图书馆分类法简表
所谓图书分类是按照图书内容的学科性质或其它特征将馆藏图书予以揭示并分门别类组织排列的一种手段。图书分类法则是将许多类目根据一定原则组织起来,经过标记符号代表各级类目和固定先后次序的分类体系。它是图书馆收藏并揭示馆藏文献的依据。我馆文献采用《中国图书馆分类法》进行分类排架。《中图法》类目简介如下:
A 马克思主义、列宁主义、毛泽东思想、邓小平理论
B 哲学、宗教
C 社会科学总论
D 政治、法律
E 军事
F 经济
G 文化科学、教育、体育
H 语言、文字
I 文学
J 艺术
K 历史、地理
N 自然科学总论
O 数理科学和化学
P 天文学、地球科学
Q 生物科学
R 医药、卫生
S 农业科学
T 工业技术
U 交通运输
V 航空、航天
X 环境科学、安全科学
Z 综合性图书
展开阅读全文