发布时间 : 星期四 文章数据库设计范例—图书管理系统更新完毕开始阅读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