图书管理系统数据库需求分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图书管理数据库系统
一、需求分析
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图,通过消除冲突等方面。

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
not null
not null
ISBN
图书的书名
BookID Big int not null 索书号主码BookAuthor Char 图书作者
BookPublish Char 图书出版社BookPrice Double 图书的单价BookDate Date 出版日期BookType Char 图书的分类BookKeyword Char 图书的关键字BookState Char not null 图书状态
表2。

2 读者信息表
列名数据类型可否为空说明ReaderID Big int not null 读者编号主码ReaderName Char not null 读者名
ReaderPassword ReadType Char
Char
not null
not null
读者密码
读者类型
ReaderSex Char 读者性别ReaderInfo VarChar 读者信息
表2.3 借阅信息表
列名数据类型可否为空说明
BorrowID ReaderID Big Int
Big Int
not null
not null
借阅记录主码
读者编号外码
BookID Big Int not null 图书编号外码BookName Char not null 图书名BookAuthor Char 作者Borrowdate Date not null 借阅时间Returndate Date 归还时间
Fine Double 罚款金额
isBorrowing isRenewing Real
Real
Not null
Not null
是否在借
是否可续借
表2.4 图书基本信息视图
列名数据类型可否为空说明BookID Char not null 图书的索书号BookName Char not null 图书的书名BookAuthor Char not null 图书作者
BookPublish Char not null 图书出版社BookState Char not null 图书是否可借表2。

5读者借阅信息视图
列名数据类型可否为空说明BookID Char not null 图书编号BookName Char not null 图书名Borrowdate Date not null 借阅时间Returndate Date 归还时间表2。

6 读者罚款信息视图
列名数据类型可否为空说明BookID Big Int not null 图书编号
BookName ReaderID BorrowID Char
Big Int
Big Int
not null
not null
not null
图书名
读者编号
借阅记录号
Borrowdate Date not null 借阅时间
Returndate Date 归还时间Fine Double 罚款金额。

相关文档
最新文档