资源描述
图书管理系统数据库设计
学 号:
专业班级:
姓 名:
指导老师:
完成日期:
摘 要
在计算机日益普及今天,对个人而言若采取一套行之有效图书管理系统来管理自己书籍,会方便很多。对图书管理部门而言,以前单一手工检索已不能满足大家要求,往往是投入了大量人力和财力却得不到高效管理效率。为了便于图书资料管理需要有效图书管理软件,减轻工作人员工作量,方便工作人员对它操作,提升管理质量和水平,做到高效、智能化管理,达成提升图书借阅信息管理效率目标。采取数据库技术生成图书馆借阅管理系统将会极大地方便借阅者并简化图书馆管理人员和工作人员劳动,使工作人员从繁忙、复杂工作进入到一个简单、高效工作中。基于这个问题,开发了大学图书馆借阅系统。系统采取C/S模式,实现了借还书方便、高效性、有效性和立即性。本文经过作者设计和开发一个中小型高校图书馆管理系统实践,叙述了高校图书管理软件中所应含有基础功效、设计、实现。
关键字:图书借阅;人员管理;图书维护;
目 录
1.引言 1
2. 需求分析阶段 2
2.1 引言 2
2.2 需求分析阶段目标和任务 2
2.2.1处理对象 2
2.2.2处理功效及要求 3
2.2.3.安全性和完整性要求 3
2.3 需求分析阶段结果 3
3 概念设计阶段 9
3.1 引言 9
3.2 任务和目标 10
3.3 阶段结果 10
4.逻辑设计阶段 12
4.1逻辑设计任务和目标 12
4.2数据组织 12
4.2.1将E-R图转换为关系模型 12
4.2.2模型优化 13
4.2.3数据库模式定义 13
4.2.4 用户子模式定义 15
4.3数据处理 16
5.物理设计阶段 17
5.1物理设计阶段目标和任务 17
5.2数据存放方面 17
5.3系统功效模块 17
5.3.1 读者基础信息查询和更新模块 17
5.3.2 图书基础信息查询和更新模块 18
6.数据库实施阶段 19
6.1建立数据库、数据表、视图、索引 19
6.1.1 建立数据库 19
6.1.2 建立数据表 19
6.1.3 建立视图 21
6.1.4 建立索引 21
6.1.5 建立触发器 22
6.2数据入库 22
6.3创建各个功效存放过程 22
7.系统调试和测试 23
8.实习心得 23
9.存在问题及提议 23
致谢 25
参考文件 25
附录1 存放过程定义 26
附录2 数据查看和存放过程功效验证 29
附录3 全部SQL运行语句 34
1.引言
伴随社会信息量和日俱增,职场竞争日趋猛烈,越来越多人更关注知识积累、能力培养。作为信息存放关键媒体之一图书,数量、规模比以往任何时候全部大多,不管个人还是图书管理部门全部需要使用方便而有效方法来管理自己书籍。
在计算机日益普及今天,对个人而言若采取一套行之有效图书管理系统来管理自己书籍,会方便很多。对图书管理部门而言,以前单一手工检索已不能满足大家要求,为了便于图书资料管理需要有效图书管理软件。对于日益扩大图书馆,查找特定书目总是借阅者或工作人员劳神费力,有时还没有结果。所以往往是投入了大量人力和财力却得不到高效管理效率。为了缩短借阅者等候时间,减轻工作人员工作量,方便工作人员对它操作,提升管理质量和水平,做到高效、智能化管理,从而达成提升图书借阅信息管理效率目标,采取数据库技术生成图书馆借阅管理系统将会极大地方便借阅者并简化图书馆管理人员和工作人员劳动,使工作人员从繁忙、复杂工作进入到一个简单、高效工作中。
本文以高校图书馆管理系统管理系统开发过程为背景,全文分为目录、需求分析、概要设计、逻辑设计、物理设计,和系统实现等全过程。在程序设计和调试上采取了自上而下,逐步细化,逐步完善标准。采取结构化功效模块设计系统功效,可读性好,易于扩充。基础功效全方面,系统可读性好,易于维护、更新,安全性好。
2. 需求分析阶段
2.1 引言
进行系统设计,首先要对系统现实状况进行分析。依据系统目标、需求和功效,制订和选择一个很好系统方案,从而达成一个合理优化系统。每个学校全部有图书馆,最初因为图书数量和种类较少,人工手动管理比较方便和灵活。伴随社会发展,图书数量和种类越来越多,人工手动管理会降低工作效率,期望建立一个图书管理系统,是为了处理人工手动管理图书信息在实践问题,从而达成系统化、规范化、标准化水平。该系统建立不仅给管理者带来了方便,也节省了工作时间从而提升了工作效率。
需求分析是在于要搞清用户对开发数据库应用系统确实切要求。数据库设计第一步是明确数据库目标和怎样使用,也就是说需要从数据库中得到哪些信息。明确目标以后,就能够确定您需要保留哪些专题信息(表),和每个专题需要保留哪些信息(表中字段)。
在结构系统时,首先从需求出发结构数据库表,然后再由数据库表结合需求划分系统功效模块。这么,就把一个大系统分解成了多个小系统。这里把系统层次划分为了四个部分:图书维护,人员信息管理,图书借阅管理,信息查询。能够实现以下功效:
进行新书入库、现有图书信息修改和删除;
② 能够实现对读者基础信息查询和编辑管理;
③ 能够进行超期罚款功效;
④ 能够进行借阅信息查询功效;
2.2 需求分析阶段目标和任务
2.2.1处理对象
读者信息:读者编号,姓名,性别,学号,学院,专业,年级,类型,类别编号,
办证日期
管理员信息:管理员编号,姓名,性别,权限,登录口令,住址,电话
馆藏图书信息:图书编号,索书号,图书名称,作者,出版社,单价,摘要,关键字,副本数,分类,出版日期,状态
借阅信息:图书编号,读者编号,图书名,作者,借阅日期,归还日期,归还日期,应还日期,罚金
借阅历史信息:图书编号,读者编号,图书名,作者,借阅日期,还书日期
罚款信息:读者编号,图书编号,图书名,作者,借阅日期,应还日期,归还日期,罚款金额,处理状态,管理员编号
2.2.2处理功效及要求
1.能够存放一定数量图书信息,并方便有效进行对应书籍数据操作和管理,这关键包含:
1) 图书信息录入、删除及修改。
2) 图书信息多关键字检索查询。
3) 图书出借、返还及超期罚款或丢失赔偿。
2.能够对一定数量读者、管理员进行对应信息存放和管理,这其中包含:
1) 读者信息登记、删除及修改。
2) 管理员信息增加、删除及修改。
3) 读者资料统计和查询。
3.能够提供一定安全机制,提供数据信息授权访问,预防随意删改、查询。
4.对查询、统计结果能够列表显示。
2.2.3.安全性和完整性要求
1) 安全性要求
系统安全性要求表现在数据库安全性、信息安全性和系统平台安全性等方面。安全性先经过视图机制,不一样用户只能访问系统授权视图,这么可提供系统数据一定程度上安全性,再经过分配权限、设置权限等级来区分对待不一样操作者对数据库操作来提升数据库安全性;系统平台安全性表现在操作系统安全性、计算机系统安全性和网络体系安全性等方面。
2) 完整性要求
系统完整性要求系统中数据正确性和相容性。可经过建立主、外键,使用check约束,或经过使用触发器和级联更新。
2.3 需求分析阶段结果
2.3.1 体会和收获
系统需求分析关键是经过对本校图书管理员咨询、请教,了解我校图书馆管理规则和运行机制,并经过上网搜索相关图书管理系统知识,了解到了图书管理现实状况,和在管理中部分问题。因为是第一次做这么需求调查,开始总是认为无从下手,不知道自己该了解、该清楚那些方面知识,在绘制系统业务步骤图时,也碰到了很多问题,但经过老师帮助和指导,和自己一遍一遍分析和完善,才逐步把业务搞清楚,最终顺利完成了需求分析阶段任务。
2.3.2 图书管理系统业务步骤图
图2.1 业务步骤图
从读者角度考虑业务步骤图:
2.3.3 图书管理系统数据步骤图
图 2.2 顶层数据流
顶层数据流图:
第2层数据流图:(读者借阅,读者还书,读者查询,管理员查询,管理员修改)
第3层数据流图:(读者借阅)
第3层数据流图:(读者还书)
第3层数据流图:(查询图书信息,查询读者信息,查询借阅历史,查询罚款信息)
第3层数据流图:(管理员添加、删除、修改图书信息)
第3层数据流图:(管理员添加、删除、修改读者信息)
第3层数据流图:(管理员添加、删除、修改系统用户信息)
2.3.4 图书管理系统数据字典
(a)数据项:系统包含数据项有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)
地址
(b)数据结构:
表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
2.3.5 处理逻辑描述
表1.3 处理逻辑列表
处理编号
处理功效
处理过程
PR-1
判定读者查询包含功效模块
馆藏图书信息模块、读者信息模块、读者类别信息模块、借阅信息模块、借阅历史信息模块、罚款信息模块、管理员模块、馆室信息模块:
先确定查询所包含功效模块;然后,依据要查询内容,确定查询数据流向;最终显示查询结果。
PR-2
判定图书、读者修改要包含模块,同时把对应修改数据传到对应模块之中
馆藏图书信息模块、读者信息模块、读者类别信息模块、管理员信息模块、馆室信息模块:
先确定更新所包含功效模块;然后,把更新信息传送到对应模块中;最终,进行对应更新操作。
3 概念设计阶段
3.1 引言
系统开发总体目标是实现图书馆管理系统化和自动化,缩短借阅者等候时间,减轻工作人员工作量,方便工作人员对它操作,提升管理质量和水平,做到高效、智能化管理,从而达成提升图书管理效率目标。
关键任务是对读者信息、管理员信息、图书资料信息、借阅信息、归还图书信息、罚款信息基础信息操作及外理。
概念设计阶段关键是将需求分析阶段得到用户需求抽象为信息结构(概念模型)过程,它是整个数据库设计关键。
3.2 任务和目标
(1)选择中层数据流为切入点,通常选择实际系统中子系统;
(2)设计分E-R图,即各子模块E-R图;
(3)生成初步E-R图,经过合并方法,做到各子系统实体、属性、联络统一;
(4)生成全局E-R图,经过消除冲突等方面。
在本图书管理系统中,从第3层数据步骤图下手。分析各3层数据流图和数据字典,知道整个系统功效围绕“读者”、“管理员”和“图书”处理。依据实体和属性间两条准则:作为“属性”,不能再含有需要描述性质。“属性”不能和其它实体含有联络。数据步骤图2.4 、图2.5、图2.6可综合成借阅子系统分E-R图3.1,数据步骤图2.7可抽象为分E-R图3.2,数据步骤图2.8可抽象为分E-R图3.3,数据步骤图2.9可抽象为分E-R图3.4。然后采取逐步集成方法将各分E-R图合并,消除无须要冗余和冲突后就生成了基础E-R图3.5。
3.3 阶段结果
(1)依据不一样对象,从第3层数据步骤图入手,分别画出各分E-R图:
(a)从数据步骤图图(三) 和图(四)抽象出分E-R图:
(c)从数据步骤图图(六)抽象出分E-R图:
(d)从数据步骤图图(七)抽象出分E-R图:
(e)从数据步骤图图(八)抽象出分E-R图:
(2)合并各分E-R图,消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步E-R图,再消除无须要冗余,得到基础E-R图以下所表示:
(3)各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)
4.逻辑设计阶段
4.1逻辑设计任务和目标
以上概念设计阶段是独立于任何一个数据模型,不过逻辑设计阶段就和选择DBMS产品发生关系了,系统逻辑设计任务就是将概念设计阶段设计好基础E-R图转换为选择DBMS产品所支持数据模型相符合逻辑结构。具体内容包含数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功效模块图)两大任务。
4.2数据组织
4.2.1将E-R图转换为关系模型
实体型转换为关系模式。实体属性就是关系属性,实体码就是关系码。对于实体间联络则有以下不一样情况:
一个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(BookID,ReaderID,BookName,BookWriter, Outdate,YHdate)
借阅历史:History(BookID,ReaderID,BookName,BookWriter, Outdate,
Indate,YHdate)
罚款信息:Fine (BookID,ReaderID,BookName,Outdate,Indate,Fine, CLState,MID)
(注:标有直线下划线为主属性,标有波浪线下划线是外键属性,主属性和外键属性一起组成主码)
4.2.2模型优化
关系模式Book,Reader,Room,ReaderType ,Maneger不存在非主属性对主属性部分函数依靠,也不存在传输函数依靠,已经达成了3NF,不过借阅关系模式、借阅历史关系模式、罚款关系模式(Borrow,History,Fine)中存在着部分数据冗余,现将三个关系模型进行合并,消除冗余,优化为:
借阅信息:Borrow ( BookID,ReaderID,BookName,BookWriter, Outdate,Indate,
YHdate,Fine,CLStaer,MID)
4.2.3数据库模式定义
表2.1 馆藏图书信息表
列名
数据类型
可否为空
说明
BookID
Char
not null
图书编号
BookNo
Char
not null
图书索书号
BookName
Char
not null
图书书名
BookWriter
Char
not null
图书作者
BookPulish
Char
not null
图书出版社
BookPrice
Char
图书单价
BookDate
Date
出版日期
BookClass
Char
图书分类
BookMain
Char
图书摘要
BookPrim
Char
图书关键字
BookCopy
Char
图书副本数
BookState
Char
not null
图书是否可借
BookRNo
Char
not null
图书所在馆室号
表2.2 读者信息表
列名
数据类型
可否为空
说明
ReaID
Char
not null
读者编号
ReaName
Char
not null
读者姓名
ReaSex
Char
not null
读者性别
ReaNo
Char
not null
读者学号
ReaLBID
Char
not null
读者类别编号
ReaType
Char
读者类型
ReaDep
Char
读者所在学院
ReaPref
Char
读者所属专业
ReaGrade
Char
读者年级
ReaDate
Date
not null
办证日期
表2.3 管理员信息表
列名
数据类型
可否为空
说明
MID
Char
not null
管理员编号
MName
Char
not null
管理员姓名
MSex
Char
管理员性别
Mpsw
Char
not null
管理员密码
MAuth
Char
not null
管理员权限
MTeleph
Char
管理员电话
MAddre
Char
管理员地址
表2.4 馆室信息表
列名
数据类型
可否为空
说明
RoomNo
Char
not null
馆室号
RoomMID
Char
not null
馆室管理员编号
RoomNum
Char
馆室拥有图书数目
RoomAddre
Char
馆室地址
表2.5 读者类别信息表
列名
数据类型
可否为空
说明
LBID
Char
not null
读者类别编号
LBName
Char
not null
读者类别名
LBnum
Char
not null
许可借阅图书最大数
LBbqx
Char
not null
持有图书最长久限
LBqx
Char
not null
借阅证期限
表2.6 借阅信息表
列名
数据类型
可否为空
说明
ReaID
Char
not null
读者编号
BookID
Char
not null
图书编号
BookName
Char
not null
图书名
BookWriter
Char
作者
Outdate
Date
not null
借阅时间
Indate
Date
归还时间
YHdate
Date
not null
应还时间
Fine
Char
罚款金额
CLState
Char
处理状态
MID
Char
not null
管理员编号
4.2.4 用户子模式定义
表2.7 用户子模式定义
编号
用户子模式(View)
作用(共性:提供数据保密和安全保护机制)
V-1
BookView
便于查询和修改图书基础信息
V-2
ReaderView
方便读者基础信息查询、更新
V-3
HistoryView
便于借阅历史信息查询
V-4
BorrowView
用于目前借阅信息查询
V-5
FineView
便于查询罚款信息
表2.8 读者基础信息视图
列名
数据类型
可否为空
说明
ReaID
Char
not null
读者编号
ReaName
Char
not null
读者姓名
ReaSex
Char
not null
读者性别
ReaType
Char
读者类型
ReaDep
Char
读者所在学院
ReaDate
Date
l
办证日期
表2.9 图书基础信息视图
列名
数据类型
可否为空
说明
BookNo
Char
not null
图书索书号
BookName
Char
not null
图书书名
BookWriter
Char
not null
图书作者
BookPulish
Char
not null
图书出版社
BookState
Char
not null
图书是否可借
BookRNo
Char
not null
图书所在馆室号
表2.10 读者目前借阅信息视图
列名
数据类型
可否为空
说明
BookID
Char
not null
图书编号
BookName
Char
not null
图书名
Outdate
Date
not null
借阅时间
YHdate
Date
not null
应还时间
表2.11 读者借阅历史信息视图
列名
数据类型
可否为空
说明
BookID
Char
not null
图书编号
BookName
Char
not null
图书名
Outdate
Date
not null
借阅时间
Indate
Date
归还时间
表2.12 读者罚款信息视图
列名
数据类型
可否为空
说明
BookID
Char
not null
图书编号
BookName
Char
not null
图书名
Outdate
Date
not null
借阅时间
Indate
Date
归还时间
Fine
Char
not null
罚款金额
CLState
Char
not null
处理状态
4.3数据处理
系统功效模块图:
5.物理设计阶段
5.1物理设计阶段目标和任务
数据库物理设计就是为逻辑数据模型选择一个最适宜应用要求物理结构过程,在这个阶段中要完成两大任务:
(1)确定数据库物理结构,在关系数据库中关键是存取方法和存放结构;
(2)对物理结构进行评价,评价关键是时间和空间效率。
5.2数据存放方面
为数据库中各基础表建立索引以下:
1. 因为基础表Reader,Book主码ReaID,BookID常常在查询条件和连接操作连接条件中出现,且它们值唯一,在两个属性上建立唯一性索引;
2. 因为基础表Reader属性ReaDep,Book属性BookPublish常常在查询条件中出现在两个属性上建立聚簇索引;
3. 借阅信息基础表Borrow一属性ReaID,BookID,常常在查询条件中出现,考虑在其之上建立聚簇索引;
4. 罚款信息基础表Fine一属性ReaID,BookID,常常在查询条件中出现,考虑在其之上建立聚簇索引;
5.3系统功效模块
5.3.1 读者基础信息查询和更新模块
将实现对读者基础信息查询和更新(修改、添加、删除)操作,用于新生入学,毕业生离校,和读者补办借阅证或更改信息情况,具体功效模块图以下:
5.3.2 图书基础信息查询和更新模块
将完成对图书基础信息查询、更新(修改、添加、删除)操作,用于读者对图书信息查询及管理员添加新书、删除淘汰旧书,具体功效模块图以下所表示:
6.数据库实施阶段
6.1建立数据库、数据表、视图、索引
6.1.1 建立数据库
create database Book;
6.1.2 建立数据表
(1)读者类别信息表建立:
create table ReaderType(
LBID char(5) primary key,
LBName char(20) not null,
LBnum char(5) not null,
LBbqx char(4) not null,
LBqx char(3) not null,
)
(2)管理员基础信息表建立:
create table Maneger(
MID char(10) primary key,
MName char(10) not null,
MSex char(2),
Mpwd char(8) not null,
MAuth char(40) not null,
MTeleph char(15),
MAddre char(30),
check(MSex ='男' or MSex ='女')
)
(3)图书馆室基础信息表建立:
create table Room(
RoomNo char(5) primary key,
RoomMID char(10) not null,
Roomnum char(5),
RoomAddre char(20),
foreign key(RoomMID) references Maneger(MID),
)
(4)馆藏图书基础信息表建立:
create table Book(
BookID char(9) primary key,
BookNo char(20) not null,
BookName char(50) not null,
BookWriter char(30) not null,
BookPublish char(20) not null,
BookPrice char(7),
BookDate datetime,
BookClass char(20),
BookMain char(200),
BookPrim char(30),
BookCopy char(5),
BookState char(10) not null,
BookRNo char(5) not null,
foreign key(BookRNo) references Room(RoomNo),
)
(5)读者基础信息表建立:
create table Reader(
ReaID char(9) primary key,
ReaName char(10) not null,
ReaSex char(2) not null,
ReaNo char(9) not null,
ReaLBID char(5) not null,
ReaType char(20),
ReaDep char(20),
ReaGrade char(5),
ReaPref char(20),
ReaDate Datetime,
foreign key(ReaLBID) references ReaderType(LBID),
check(ReaSex ='男' or ReaSex ='女')
)
(6)借阅基础信息表建立:
create table Borrow(
BookID char(9),
ReaID char(9),
Outdate Datetime not null,
YHdate Datetime not null,
Indate Datetime,
Fine char(5),
CLState char(8),
MID char(10) not null,
primary key(BookID,ReaID),
foreign key(MID) references Maneger(MID)
)
6.1.3 建立视图
(1)用于查询图书基础信息视图定义以下:
create view Bookview (索书号, 书名, 作者, 出版社, 图书状态)
as
select BookNo,BookNam
展开阅读全文