图书管理系统数据库需求分析.docx
《图书管理系统数据库需求分析.docx》由会员分享,可在线阅读,更多相关《图书管理系统数据库需求分析.docx(10页珍藏版)》请在冰豆网上搜索。
图书管理系统数据库需求分析
图书管理数据库系统
一、需求分析
1.功能设计
首先从需求出发构造数据库表,再由数据库表结合需求划分系统功能模块。
这里把系统的层次划分为四个部分:
图书维护、人员管理、图书借阅管理、信息查询。
能实现以下功能:
a)进行新书入库,对现有图书进行修改以及删除;
b)实现对读者基本信息的查询及编辑管理;
c)超期罚款;
d)能够进行借阅信息的查询;
2.处理对象
读者信息:
读者编号、姓名、性别、专业、年纪、密码、办证日期。
管理员信息:
管理员编号、姓名、性别、电话、密码、权限。
图书信息:
ISBN、图书名称、作者、出版社、单价、副本数、分类、出版日期、关键字、状态。
借阅记录:
ISBN、读者编号、图书名、作者、借阅日期、归还日期、应还日期、罚金。
罚款信息:
ISBN、读者编号、图书名、作者、借阅日期、归还日期、应还日期、罚金、处理状态、管理员编号。
3.处理功能及要求
a)能够存储一定数量的图书信息,能够进行相应的书籍数据操作和管理主要包括:
1)图书信息的录入、删除及修改
2)图书信息的多关键字检索查询
3)图书的出借、归还及超期罚款或者丢失赔偿
b)能够对一定数量的读者、管理员进行相应的信息操作,包括:
1)读者信息的登记、删除及修改。
2)管理员信息的增加、删除及修改。
3)读者资料的统计与查询。
c)能够提供一定的安全机制,提供数据信息授权访问,防止随意删改、查询。
d)对查询、统计的结果能够列表显示。
4.安全性和完整性要求
a)安全性要求
安全性通过视图机制,不同用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别不同操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统及网络体系的安全性等方面。
b)完整性要求
系统完整性要求系统中数据的安全性及相容性。
可通过建立主外键,使用check约束,或者通过使用触发器或者级联更新。
5.数据字典
读者信息:
读者编号ReaderID、姓名ReaderName、性别ReaderSex、专业ReaderMajor、年纪ReaderAge、密码ReaderPassword、办证日期ReaderDate。
管理员信息:
管理员编号ManageID、姓名ManageName、性别ManageSex、电话ManagePhone、密码ManagePassword、权限ManageAuthority。
图书信息:
书籍编号BookID、图书索书号BookID、图书名称BookName、作者BookAuthor、出版社BookPrinter、单价BookPrice、副本数BookNum、分类BookType、出版日期BookDate、关键字BookKeyword、状态BookState。
借阅状态:
书籍编号BookID、读者编号ReaderID、图书名BookName、作者BookAuthor、借阅日期BorrowDate、应还日期ReturnDate
借阅历史:
书籍编号BookID、读者编号ReaderID,图书名BookName,作者BookAuthor,借阅日期BorrowDate、归还日期ReturnedDate
罚款信息:
书籍编号BookID、读者编号ReaderID、图书名BookName、作者BookAuthor、借阅日期BorrowDate、归还日期ReturnedDate、应还日期ReturnDate、罚金Fine、处理状态ManageStatus、管理员编号ManageID。
二、概念结构设计
1.任务与目标
a)选择中层数据流为切入点,通常选择实际系统中的子系统;
b)设计分E-R图,即各子模块的E-R图;
c)生成初步E-R图,通过合并方法,做到各子系统实体、属性、联系统一;
d)生成全局E-R图,通过消除冲突等方面。
用户类型
输入
处理
输出
全部用户
(总)用户类型
判断用户类型
无
(总)账号,密码
判断账号及密码正确性
进入系统或显示错误信息
(总)修改个人信息(用户名、密码等)
修改个人信息
修改结果信息
(总)查询内容
判断查询内容
转至相应页面
(总)查询书目
检索关键字
输出相应书目信息
学生或老师
(读)借阅或归还图书
处理图书信息
修改图书信息
管理员
(管)新建图书项(ISBN、书名、作者、出版社、价格、副本量、库存量等)
处理图书信息
新增图书项
(管)删除图书项
处理图书信息
删除图书项
(管)检索用户信息
搜索相应信息
用户信息
(管)修改图书信息
处理图书信息
修改图书信息
全部用户
(全)反馈信息(建议、警告、问题询问、回答等)
搜集反馈信息
反馈给相应用户
维护人员
(维)搜索源代码
调用源代码文件
打开源代码文件
全部用户
(全)退出
进行指令判断
退出,返回登录页面
2.分-R图
a)
b)
c)
3.基本E-R图
4.E-R图的各实体的属性
Reader(ReaderID,ReaderName,ReaderSex,ReaderMajor,ReaderAge,ReaderPassword,ReaderDate)
Manager(ManageID,ManageName,ManageSex,ManagePhone,ManagePassword,ManageAuthority)
Book(ISBN,BookID,BookName,BookAuthor,BookPrinter,BookPrice,BookNum,BookType,BookDate,BookKeyword,BookState)
Borrow(BookID,ReaderID,BookName,BookAuthor,BorrowDate,ReturnDate)
History(ISBN,ReaderID,BookName,BookAuthor,BorrowDate,ReturnedDate)
Fine(ISBN,ReaderID,BookName,BookAuthor,BorrowDate,ReturnedDate,ReturnDate,Fine,ManageStatus,ManageID)
三、逻辑结构设计
1.将E-R图转化为关系模式
实体型转换为关系模式。
实体的属性就是关系的属性,实体的码就是关系的码。
对于实体间的联系则有以下不同的情况:
一个m:
n联系转换为一个关系模式。
与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
一个1:
n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
一个1:
1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
三个或三个以上实体间的一个多元联系可以转换为一个关系模式。
与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合,具有相同码的关系模式可合并。
管理员与图书之间的维护联系是1:
n(一对多),读者与图书之间的借阅和归还联系方式则是n:
m(多对多),这样要把它们之间的联系转化为独立的关系模式,读者与管理员之间的罚款与管理联系是m:
n(多对多),将其联系也转化成独立的关系模式,具体的基本E-R图向关系模型的转化如下:
Reader:
ReaderID,
ReaderName
ReaderPassword
ReadType
ReaderSex
ReaderInfo
Book:
ISBN
BookName
BookID
BookAuthor
BookPublish
BookPrice
BookDate
BookType
BookKeyword
BookState
BorrowRecord:
BorrowID
ReaderID
BookID
BookName
BookAuthor
Borrowdate
Returndate
Fine
isBorrowing
isRenewing
Fine:
BookID
ReaderID
BookName
BorrowID
Borrowdate
Returndate
Fine
2.模型优化
关系模式Book,Reader,Manager不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF,但是借阅关系模式、罚款关系模式(Borrow,History,Fine)中存在着一些数据冗余,现将三个关系模型进行合并,消除冗余,
3.数据库模式定义
表2.1图书信息表
列名
数据类型
可否为空
说明
ISBN
BookName
Char
Char
notnull
notnull
ISBN
图书的书名
BookID
Bigint
notnull
索书号主码
BookAuthor
Char
图书作者
BookPublish
Char
图书出版社
BookPrice
Double
图书的单价
BookDate
Date
出版日期
BookType
Char
图书的分类
BookKeyword
Char
图书的关键字
BookState
Char
notnull
图书状态
表2.2读者信息表
列名
数据类型
可否为空
说明
ReaderID
Bigint
notnull
读者编号主码
ReaderName
Char
notnull
读者名
ReaderPassword
ReadType
Char
Char
notnull
notnull
读者密码
读者类型
ReaderSex
Char
读者性别
ReaderInfo
VarChar
读者信息
表2.3借阅信息表
列名
数据类型
可否为空
说明
BorrowID
ReaderID
BigInt
BigInt
notnull
notnull
借阅记录主码
读者编号外码
BookID
BigInt
notnull
图书编号外码
BookName
Char
notnull
图书名
BookAuthor
Char
作者
Borrowdate
Date
notnull
借阅时间
Returndate
Date
归还时间
Fine
Double
罚款金额
isBorrowing
isRenewing
Real
Real
Notnull
Notnull
是否在借
是否可续借
表2.4图书基本信息视图
列名
数据类型
可否为空
说明
BookID
Char
notnull
图书的索书号
BookName
Char
notnull
图书的书名
BookAuthor
Char
notnull
图书作者
BookPublish
Char
notnull
图书出版社
BookState
Char
notnull
图书是否可借
表2.5读者借阅信