数据库课程设计报告内容参考.docx
《数据库课程设计报告内容参考.docx》由会员分享,可在线阅读,更多相关《数据库课程设计报告内容参考.docx(54页珍藏版)》请在冰豆网上搜索。
数据库课程设计报告内容参考
题目
图书管理系统的设计与开发
1问题的提出
学校图书室提出需要建立一套图书管理系统进行计算机化的数据管理。
图书室的现状如下:
1)学校图书室有各种图书一万多册。
2)每种图书都有书名、书号(ISBN)、一名或多名作者(译者)、出版社等。
3)借书证记录有借阅者的借书证编号,读者姓名,读者性别,读者种类,登记时期等。
4)凭借书证借书,学生每次最多能借5本书,借书期限最长为30天,老师每次做多能借10本,借书期限最长为60天。
拟开发的系统要求如下:
1)实现新进图书的数据录入和下架图书的数据删除。
2)实现借阅者图书证信息的录入和删除。
3)实现对所有购进图书的分类查询和分类统计。
4)能够按书名、作者等分类查询现有图书的数量。
5)能够记录借阅者的个人资料和所借图书的书名、书号、借书时间等
6)能够进行借书还书处理。
7)能够进行借书逾期罚款处理。
8)能够进行用户管理。
9)设计一完整的数据库。
要求掌握数据库的设计的每个步骤;掌握数据设计各阶段的输入、输出、设计环境、目标和方法;熟练的使用SQL语言实现数据库以及数据库重要对象的建立、应用和维护。
2可行性分析
2.1技术可行性
2.2经济可行性
2.3操作可行性
3需求分析
3.1数据需求
图书馆管理信息系统需要完成功能主要有:
①读者基本信息的输入,包括借书证编号、读者姓名、读者性别等。
②读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。
③书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。
④书籍类别信息的查询、修改,包括类别编号、类别名称。
⑤书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日期。
⑥书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期登记日期等。
⑦借书信息的输入,包括读者借书证编号、书籍编号、借书日期。
⑧借书信息的查询、修改,包括借书证编号、借书证编号、读者姓名、书籍编号、书籍名称、借书日期等。
⑨还书信息的输入,包括借书证编号、书籍编号、还书日期。
⑩还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。
⑾超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚款金额。
⑿超期还书罚款查询,删除,包括读者借书证编号、读者姓名、书籍编号、书籍名称,罚款金额等
⒀管理员管理:
包括创建读者用户信息、删除读者用户信息、添加图书信息、删除图书信息。
⒁超级管理员管理:
包括创建管理员用户信息、删除管理员用户信息、创建读者用户信息、删除读者用户信息、添加图书信息、删除图书信息。
3.2事务需求
①在读者信息管理部分,要求:
a.可以查询读者信息。
b.可以对读者信息进行添加及删除的操作。
②在书籍信息管理部分,要求:
a.可以浏览书籍信息,要求:
b.可以对书籍信息进行维护,包括添加及删除的操作。
③在借阅信息管理部分,要求:
。
a.可以浏览借阅信息。
b.可以对借阅信息进行维护操作。
④在归还信息管理部分,要求:
a.可以浏览归还信息
b.对归还信息可修改维护操作
⑤在管理者信息管理部分,要求:
a.显示当前数据库中管理者情况。
b.对管理者信息维护操作。
⑥在罚款信息管理部分,要求:
a.可以浏览罚款信息
b.对罚款信息可以更新
3.3关系模式
(1)书籍类别(类别编号,类别名)
(2)读者(借书证编号,读者姓名,读者性别,读者种类,登记时期,可借书数,已借书数,逾期未还书数)
(3)管理员(管理员编号,管理员姓名,管理员密码,管理员权限)
(4)超级管理员(管理员编号,管理员姓名,管理员密码,管理员权限)
(5)书籍(书籍编号,书籍名称,书籍类别,书记作者,出版社名称,出版日期,登记日期)
(6)借阅(借书证编号,书籍编号,读者借书时间)
(7)还书(借书证编号,书籍编号,读者还书时间)
(8)罚款(借书证编号,读者姓名,借书证编号,书籍编号,读者借书时间)
3.4数据流程图(DFD)
通过对系统需求的调查分析,细化软件功能,把系统划分几四个子系统,明确每个子系统所要完的主要逻辑功能,采用以图形的方式描绘数据在系统中流动和处理。
电子图书管理
系统
读者
超级管理员
查询信息
图书信息
图书信息
息
图书信息
息
图书管理员
读者
图1-1顶层数据流图
F5
P3
D1
D5
F6
借还图书
管理
P4
D2
D3
D4
登录
P1
图书查询
P2
F4
F1
F2
F3
F7
P
数据流
数据处理
D
数据存储
F
图1-2一层数据流图
注:
D1图书数据库
D2读者数据库
D3管理员数据库
P2.1
选择查询
F4.1
F4
P2.2
直接查询
D1
P2.3
多条件查询
F7
F4.2
D4图书分类数据库
D5借书记录数据库
F1-F3登录信息
F4,F5图书信息
F6各种管理信息
F7图书信息
图1-3二层数据流图
F5
D5
P3.1
选择
P3.2
借书
D1
P3.3
还书
D4
F5
F5
F64
D5
P4.1
选择
P4.3
图书管理
P4.2
书类管理
P4.4
逾期图书
管理
P4.5
读者管理
P4.6
管理员管理
D1
D4
D2
D3
F6.3
F6,1
F6.4
F6.5
图1-4三层数据流图
F6.2
图1-5四层数据流图
3.5数据字典
为了使各数据流,数据处理过程,存储过程不能反映其中的数据成,数据项目,数据特性,所以用数据字典来对数据流图中的各成份进行具体的定义,为系统的分析,设计及以后的实现提供供有关元素一致性定义和详细的描述:
①数据流字典
数据流名称:
读者登录标志符:
F1
别名:
无
来源:
读者
去向:
查询处理过程(P2)
数据组成:
编号+姓名
数据流名称:
管理员登录标志符:
F2
别名:
无
来源:
管理员
去向:
借还处理过程(P3)
数据组成:
编号+姓名+密码+登录权限
数据流名称:
超级管理员登录标志符:
F3
别名:
无
来源:
超级管理员
去向:
系统管理处理过程(P4)
数据组成:
编号+姓名+密码+登录权限
数据流名称:
图书查询标志符:
F4
别名:
无
来源:
读者
去向:
查询处理过程(P2)
数据组成:
图书编号|图书书名|图书作者|图书出版社
数据流名称:
直接图书查询标志符:
F4.1
别名:
无
来源:
读者
去向:
直接查询处理过程(P4.2)
数据组成:
图书编号|图书书名|图书作者|图书出版社
数据流名称:
多条件图书查询标志符:
F4.2
别名:
无
来源:
读者
去向:
多条件查询处理过程(P4.3)
数据组成:
图书编号+图书书名+作者+出版社+图书所属大类+图书属小类
数据流名称:
图书借还标志符:
F5
别名:
无
来源:
管理员
去向:
借还处理过程(P3)
数据组成:
图书编号+借书证编号+借书日期+逾期标识
数据流名称:
系统管理标志符:
F6
别名:
无
来源:
超级管理员
去向:
查询处理过程(P4)
数据组成:
各种管理信息,详情见F6.1-F6.5
数据流名称:
书类管理信息标志符:
F6.1
别名:
无
来源:
超级管理员
去向:
书类管理处理过程(P4.2)
数据组成:
图书大类名+0{图书类名}30
数据流名称:
图书管理信息标志符:
F6.2
别名:
无
来源:
超级管理员
去向:
图书管理处理过程(P4.3)
数据组成:
书编号+书名+库存数据量+作者+所属书大类+所属图书小类|出版社|价格
数据流名称:
逾期图书管理信息标志符:
F6.3
别名:
无
来源:
超级管理员
去向:
逾期图书管理处理过程(P4.4)
数据组成:
借书期限
数据流名称:
读者管理信息标志符:
F6.4
别名:
无
来源:
超级管理员
去向:
书类管理处理过程(P4.5)
数据组成:
借书证编号+读者姓名+可借书数+已借书数+逾期未还书数+性别+职务+工作单位+联系电话
数据流名称:
管理员管理信息标志符:
F6.5
别名:
无
来源:
超级管理员
去向:
管理员管理处理过程(P4.6)
数据组成:
管理员编号+管理员姓名+登录密码+授权等级
②数据存储字典:
数据存储名称:
图书数据库标志符:
D1
描述:
图书的详细资料
流入数据流:
F6.2
涉及处理:
P4.2,P2.2,P2.3,P3.2,P3.3,P4.4
数据组成:
图书编号+图书书名+作者+出版社+图书所属大类+图书属小类
数据存储名称:
读者数据库标志符:
D2
描述:
读者的详细资料
流入数据流:
F6.4
涉及处理:
P4.4,P2.2,P2.3,P3.2,P3.3,P4.4
数据组成:
借书证编号+读者姓名+可借书数+已借书数+逾期未还书数+性别+读者种类+登记时间
数据存储名称:
管理员数据库标志符:
D3
描述:
管理员的详细资料
流入数据流:
F6.5
涉及处理:
P1,P4.6
数据组成:
管理员编号+管理员姓名+登录密码+授权等级
数据存储名称:
图书分类数据库标志符:
D4
描述:
图书分类的详细资料
流入数据流:
F6.3
涉及处理:
P4.4,P5.2,P5.3
数据组成:
图书大类名+0{图书类名}30
数据存储名称:
借书记录数据库标志符:
D5
描述:
借书所记录的详细资料
流入数据流:
F6.1
涉及处理:
P4.2
数据组成:
图书编号+借书证编号+借书日期+逾期标识
③数据处理字典:
数据处理名称:
用户登录标志符:
P1
处理定义:
登录系统
激发条件:
所输入的编号和密码正确
输入:
F1,F2,F3
输出:
F4,F5,F6
数据处理名称:
读者查询标志符:
P2
处理定义:
查询图书信息
激发条件:
所输入图书信息找到
输入:
F4
输出:
F7
数据处理名称:
查询选择标志符:
P2.1
处理定义:
选择查询方式
激发条件:
已选择查询方式
输入:
F4
输出:
F4.1,F42
数据处理名称:
多条件查询标志符:
P2.2
处理定义:
查询图书信息
激发条件:
所输入图书信息找到
输入:
F4.2
输出:
F7
数据处理名称:
直接查询标志符:
P2.3
处理定义:
直接查询图书信息
激发条件:
所输入图书信息找到
输入:
F4.1
输出:
F7
数据处理名称:
借还书标志符:
P3
处理定义:
借书和还书
激发条件:
所输入图书信息找到
输入:
F5
输出:
D4
数据处理名称:
选择标志符:
P3.1
处理定义:
选择借书还是还书
激发条件:
选择
输入:
F5
输出:
D1、D4
数据处理名称:
借书标志符:
P3.2
处理定义:
借书
激发条件:
图书编号
输入:
F5
输出:
D1、D4
数据处理名称:
管理系统标志符:
P4
处理定义:
管理系统和各种信息
激发条件:
选择管理子功能
输入:
F6
输出:
F6.1-F6.5
数据处理名称:
管理选择标志符:
P4.1
处理定义:
选择管理功能
激发条件:
选择
输入:
F6
输出:
D1-D5
数据处理名称:
图书分类管理标志符:
P4.2
处理定义:
图书分类增加,修改,删除
激发条件:
输入图书分类信息
输入:
F6.1
输出:
D5
数据处理名称:
图书管理标志符:
P4.3
处理定义:
图书信息增加,修改,删除
激发条件:
输入各种图书信息
输入:
F6.2
输出:
D1
数据处理名称:
图书逾期管理标志符:
P4.4
处理定义:
查询逾期图书的编号或读者
激发条件:
选择查询方式
输入:
F6.3
输出:
D4,D2
数据处理名称:
读者管理标志符:
P4.5
处理定义:
读者信息增加,修改,删除
激发条件:
输入各种读者信息
输入:
F6.4
输出:
D2
数据处理名称:
管理员登录管理标志符:
P4.6
处理定义:
管理员信息增加,修改,删除
激发条件:
输入各种管理员信息
输入:
F6.5
输出:
D3
4数据库设计
4.1概念设计这一节还要将PowerDesign建立的概念模型图放上来,可以放在4.1节最后
根据1)所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。
图书管理信息系统可以划分的实体有:
书籍类别信息实体、读者信息实体、书籍信息实体、借阅记录信息实体,归还记录信息实体。
用E-R图一一描述这些实体。
书籍类别
类别编号
类别名称
①类别实体图:
图2-1书籍类别实体及其属性图
②读者信息实体图:
可借书数
已借书数
逾期未还书数
读者
读者姓名
读者性别
读者种类e
登记时间
读者借书证编号
图2-2读者实体及其属性图
③管理员实体图
管理员
管理员姓名
管理员编号
管理员密码
管理员权限
图2-3管理员实体及其属性图
超级管理员
管理员姓名
管理员编号
管理员密码
管理员权限
④超级管理员实体图
图2-4超级管理员实体及其属性图
书籍
书籍编号
书籍名称
书籍类别编号
书籍作者
出版时间
收录时间
是否被借
出版社
⑤书籍实体图:
图2-5书籍实体及其属性图
⑥借阅记录信息实体图:
读者借书证编号
书籍类别编号
借阅时间隔
借阅记录信息
图2-6借阅记录信息实体及其属性图
⑦归还记录信息实体图:
归还记录信息
读者借书证编号
书籍类别编号
归还时间隔
图2-7记录信息实体及其属性图
书籍类别编号
罚款信息实体实体
罚款金额
读者姓名
读者借书证编号
书籍名称
借阅时间隔
⑧罚款信息实体图:
图2-8罚款信息实体及其属性图
1
1
n
信息登记
读者
书籍
书类别
归还
借阅
罚款
罚款信息
还书信息
借阅信息
实体
m
n
m
n
m
n
n
1
m
创建
1
管理
n
n
n
管理
m
管理员
超级管理员
创建
1
m
n
出具罚款单
⑨总的E-R图:
图2-9总的E-R图
4.2逻辑设计
4.2.1表结构这里可以先将PowerDesign中转换好的物理模型图贴出来,再写表结构
表3-1 book_sytle书籍类别信息表
表中列名
数据类型
可否为空
说明
bookstyleno
Varchar(30)
notnull(主键)
种类编号
bookstyle
Varchar(30)
notnull
种类名称
表3-2 system_readers读者信息表格
表中列名
数据类型
可否为空
说明
readerid
Varchar(9)
notnull(主键)
读者借书证号
readername
varchar(9)
notnull
读者姓名
readersex
varchar
(2)
notnull
读者性别
readertype
varchar(10)
notnull
读者种类
regdate
datetime
null
登记日期
booktotal
int
null
可借书数
borrowednum
int
null
已借书数
overduenoreturnnum
int
null
逾期未还书数
表3-3 system_book书籍信息表
表中列名
数据类型
可否为空
说明
bookid
Varchar(20)
Notnull(主键)
书籍编号
bookname
Varchar(30)
Notnull
书籍名称
bookstyle
Varchar(30)
Notnull
书籍类别
bookauthor
Varchar(30)
Notnull
书籍作者
bookpub
Varchar(30)
Null
出版社名称
bookpubdate
Datetime
Null
出版日期
bookindate
Datetime
Null
登记日期
isborrowed
Bit
NotNull
是否被借出
表3-4 borrow_record借阅记录信息表
表中列名
数据类型
可否为空
说明
readerid
Varchar(20)
Notnull(外主键)
读者借阅证编号
bookid
Varchar(9)
Notnull(外主键)
书籍编号
borrowdate
Datetime
Notnull
读者借书时间
表3-5 return_record借阅记录信息表
表中列名
数据类型
可否为空
说明
readername
Varchar(20)
Notnull(外主键)
读者借阅证编号
readerid
Varchar(9)
Notnull(外主键)
书籍编号
returndate
datetime
Notnull
读者还书时间
表3-6 reader_fee罚款记录信息表
表中列名
数据类型
可否为空
说明
readerid
varchar(9)
Notnull
读者借书证编号
续表3-6
readername
varchar(9)
Notnull
读者姓名
bookid
varchar(20)
Notnull(外主键)
书籍编号
bookname
varchar(30)
Notnull
书籍名称
bookfee
Smallmoney
NotNull
罚款金额
borrowdate
datetime
NotNull
借阅时间
表3-7system_Administrator管理员信息表
表中列名
数据类型
可否为空
说明
administratorid
varchar(9)
notnull(主键)
管理员编号
administratorname
varchar(9)
notnull
管理员姓名
administratorpassword
varchar(12)
notnull
管理员密码
administratorpermission
varchar(10)
notnull
管理员权限
表3-8system_Super_Administrator管理员信息表
表中列名
数据类型
可否为空
说明
superadministratorid
varchar(9)
notnull(主键)
管理员编号
superadministratorname
varchar(9)
notnull
管理员姓名
superadministratorpassword
varchar(12)
notnull
管理员密码
superadministratorpermission
varchar(10)
notnull
管理员权限
4.2.2关系图
图2-8数据库存表关系图
4.3物理设计
数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法。
所谓的“合理”主要有两个含义:
一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。
主要体现在后者。
(1)建立索引:
①对book_style表在bookstyleno属性列上建立聚集索引,在bookstyle属性列上建立非聚集索引。
②对System_book表在bookid上建立聚集索引,在bookname、bookstyleno、boookauther、bookpub上建立非聚集索引。
③对return_record表在bookid上建立聚集索引,在readerid上建立非聚集索引
④对reader_fee表在bookid上建立聚集索引,在readerid上建立非聚集索引。
⑤对system_reader表在readerid列上建立聚集索引
⑥对boorow_record表在bookid上建立聚集所以,在readerid上建立非聚集索引
⑦对system_Administrator表在administratorid列上建立聚集索引。
⑧对system_Super_Administrator表在superadministratorid上建立聚集索引。
(2)存储结构
确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。
将日志文件和数据库对象(表、索引等)分别放在不同的磁盘可以改进系统的性能。
所以系统将日志文件和数据文件存放在不同磁盘上。
4.4数据库建立
(1)创建数据库
USEmaster
GO
CREATEDATABASElibrarysystem
ON
(NAME=librarysystem,
FILENAME='d:
\librarysystem.mdf',
SIZE=10,
MAXSIZE=50,
FILEGROWTH=5)
LOGON
(NAME='library',
FILENAME='e:
\librarysystem.ldf',
SIZE=5MB,
MAXSIZE=25MB,
FILEGROWTH=5MB)
GO
--
(2)书本类别表建立
uselibrarysystem
go
createtablebook_style
(
bookstylenovarchar(30)primarykey,
bookstylevarchar(30)
)
go
--(3)创建书库表
createtablesystem_books
(
bookidvarchar(20)primarykey,
booknamevarchar(30)Notnull,
bookstylenovarchar(30)Notnull,
bookauthorvarchar(30),
bookpubvarchar(30),
bookpubdatedatetime,
bookindatedatetime,
isborrowedbit,
foreignkey(bookstyleno)referencesbook_style(bookstyleno),
)
go
--(4)借书证表建立
createtablesystem_readers
(readeridvarchar(9)primarykey,
readernamevarchar(9)notnul