数据库设计范例—图书管理系统 联系客服

发布时间 : 星期四 文章数据库设计范例—图书管理系统更新完毕开始阅读257ae5ae168884868662d63e

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) (注:标有直线下划线的为主属性,标有波浪线下划线的是外键属性,主属性与外键属性一起构成主码)

2. 模型优化

关系模式Book,Reader,Room,ReaderType ,Maneger不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF,但是借阅关系模式、借阅历史关系模式、罚款关系模式(Borrow,History,Fine)中存在着一些数据冗余,现将三个关系模型进行合并,消除冗余,优化为:

借阅信息:Borrow ( BookID,ReaderID,BookName,BookWriter,Outdate,Indate,

YHdate,Fine,CLStaer,MID) 3. 数据库模式定义

根据分析,本数据库共创建如下6个表。

表10.1 馆藏图书信息表

列名

BookID BookNo BookName BookWriter BookPulish BookPrice BookDate BookClass BookMain BookPrim BookCopy BookState BookRNo

数据类型

Char Char Char Char Char Char Date Char Char Char Char Char Char

可否为空

not null not null not null not null not null

not null not null

说明

图书编号 图书的索书号 图书的书名 图书作者 图书出版社 图书的单价 出版日期 图书的分类 图书的摘要 图书的关键字 图书的副本数 图书是否可借 图书所在馆室号

表10.2 读者信息表

列名

ReaID ReaName ReaSex

数据类型

Char Char Char

可否为空

not null not null not null

说明

读者编号 读者姓名 读者性别

13

ReaNo ReaLBID ReaType ReaDep ReaPref ReaGrade ReaDate

Char Char Char Char Char Char Date

not null not null

not null

读者学号 读者类别编号 读者类型 读者所在学院 读者所属专业 读者的年级 办证日期

表10.3 管理员信息表

列名

MID MName MSex Mpsw MAuth MTeleph MAddre

数据类型

Char Char Char Char Char Char Char

可否为空

not null not null

not null not null

说明

管理员编号 管理员姓名 管理员性别 管理员密码 管理员权限 管理员电话 管理员地址

表10.4 馆室信息表

列名

RoomNo RoomMID RoomNum RoomAddre

数据类型

Char Char Char Char

可否为空

not null not null

馆室号

说明

馆室管理员编号 馆室拥有图书数目 馆室地址

表10.5 读者类别信息表

列名

LBID LBName LBnum LBbqx LBqx

数据类型

Char Char Char Char Char

可否为空

not null not null not null not null not null

说明

读者类别编号 读者类别名

允许借阅图书最大数 持有图书最长期限 借阅证期限

表10.6 借阅信息表

列名

ReaID BookID BookName BookWriter

数据类型

Char Char Char Char

14

可否为空

not null not null not null

说明

读者编号 图书编号 图书名 作者

Outdate Indate YHdate Fine CLState MID

Date Date Date Char Char Char

not null

not null

not null

借阅时间 归还时间 应还时间 罚款金额 处理状态 管理员编号

4. 用户子模式定义

表10.7 用户子模式定义

编号

V-1 V-2 V-3 V-4 V-5

用户子模式(View) BookView ReaderView HistoryView BorrowView FineView

作用(共性:提供数据保密和安全保护机制)

便于查询和修改图书的基本信息 方便读者基本信息的查询、更新 便于借阅历史信息的查询 用于当前借阅信息的查询 便于查询罚款信息

表10.8 读者基本信息视图

列名

ReaID ReaName ReaSex ReaType ReaDep ReaDate

数据类型

Char Char Char Char Char Date

可否为空

not null not null not null

l

说明

读者编号 读者姓名 读者性别 读者类型 读者所在学院 办证日期

表10.9 图书基本信息视图

列名

BookNo BookName BookWriter BookPulish BookState BookRNo

数据类型

Char Char Char Char Char Char

可否为空

not null not null not null not null not null not null

说明

图书的索书号 图书的书名 图书作者 图书出版社 图书是否可借 图书所在馆室号

表10.10 读者当前借阅信息视图

列名

BookID BookName Outdate YHdate

数据类型

Char Char Date Date

15

可否为空

not null not null not null not null

说明

图书编号 图书名 借阅时间 应还时间

表10.11 读者借阅历史信息视图

列名

BookID BookName Outdate Indate

数据类型

Char Char Date Date

可否为空

not null not null not null

说明

图书编号 图书名 借阅时间 归还时间

表10.12 读者罚款信息视图

列名

BookID BookName Outdate Indate Fine CLState

数据类型

Char Char Date Date Char Char

可否为空

not null not null not null

not null not null

说明

图书编号 图书名 借阅时间 归还时间 罚款金额 处理状态

10.2.4.2 数据处理

结合系统的需求,本系统的基本的系统功能模块如下图10.16。

图书管理系统图书维护子系统人员资源管理子系统借还服务子系统查询服务子系统添加新到图书删除过期图书修改馆藏图书添加新用户删除无效用户修改用户信息借阅服务归还服务罚款服务图书查询服务个人信息查询

图10.16 系统功能模块图

10.2.5物理设计阶段

数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:

(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构; (2)对物理结构进行评价,评价的重点是时间和空间效率。 10.2.5.1数据存储方面

为数据库中各基本表建立的索引如下:

16