数据库设计实验报告.docx
- 文档编号:23729920
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:23
- 大小:409.96KB
数据库设计实验报告.docx
《数据库设计实验报告.docx》由会员分享,可在线阅读,更多相关《数据库设计实验报告.docx(23页珍藏版)》请在冰豆网上搜索。
数据库设计实验报告
数据库设计课程
实验报告
学院:
班级:
完成人:
姓名:
学号:
指导教师:
数据库设计实验任务书
一、课程实验题目:
图书管理
二、课程实验应解决的主要问题:
(1)分析图书管理设计中包含的实体,实体属性,实体之间的关系
(1)对实体中相应的数据项给出详细的数据字典描述
(1)以powerDesigher为建模工具,对数据库进行逻辑设计
(1)设计的关系模式需进行规范化处理,每个关系模式应能达到3NF
(1)设计事务,涉及到检索和更新等
(2)绘制事务图,使用路径指示ER模型支持的用户事务
(3)根据逻辑设计原则(多样性),转化为相应数据表,并标明主键、外键
(4)相应事务要求用SQL语言实现,并用到触发器、存储过程,视图等数据操作
(5)应用自己熟悉的高级程序设计语言,实现系统主要功能
三、任务发出日期:
课程实验完成日期:
指导教师对课程实验的评价
成绩:
指导教师签字:
年月日
1业务分析…………………………………………………………1
1.1原管理系统分析…………………………………………………………1
1.2所建系统分析……………………………………………………………1
1.3可行性分析…………………………………………………………………1
1.3.1经济可行性分析…………………………………………………………1
1.3.2技术可行性分析…………………………………………………………2
1.3.3社会可行性分析…………………………………………………………2
2实体描述(属性,关系,参与类型)……………………………………………………2
2.1管理员管理ER图……………………………………………2
2.2读者借阅归还ER图…………………………………………3
3数据字典说明…………………………………………………………3
4事务设计…………………………………………………………4
4.1管理员模块…………………………………………………………4
4.2读者管理模块…………………………………………………………4
4.3图书信息管理模块……………………………………………………5
4.4图书类别管理模块……………………………………………………5
4.5图书借阅归还管理模块………………………………………………5
4.6读者留言管理模块………………………………………………………5
5PowerDesigner建模………………………………………………………5
6事务路径图或事务描述……………………………………………………6
7映射为对应数据表……………………………………………………7
7.1管理员数据表…………………………………………………………7
7.2读者数据表……………………………………………………………7
7.3图书数据表…………………………………………………………8
7.4图书类别数据表………………………………………………………8
7.5借还书记录数据表……………………………………………………9
7.6用户留言数据表………………………………………………………9
8规范化检查和说明……………………………………………………10
8.1规范化方法检查表结构…………………………………………………………10
8.2检查表是否支持用户事务…………………………………………………………10
8.3检查业务规则……………………………………………………………………10
9SQL操作……………………………………………………10
9.1创建索引…………………………………………………………10
9.2创建视图…………………………………………………………12
9.3设计触发器…………………………………………………………13
9.4设计存储过程(例:
读者注册信息)……………………………14
10实现界面……………………………………………………15
10.1登录页面……………………………………………………………16
10.2管理员界面…………………………………………………………16
10.2.1管理员主页面…………………………………………………………16
10.2.2图书类别…………………………………………………………16
10.2.3图书管理…………………………………………………………17
10.2.3.1添加图书…………………………………………………………17
10.2.3.2修改、删除图书…………………………………………………18
10.2.3.3查看图书…………………………………………………………18
10.2.4借阅管理(借阅、归还、续借)………………………………19
10.2.5在线留言管理……………………………………………………19
10.2.6管理员管理………………………………………………………20
10.3读者界面……………………………………………………………20
10.3.1读者注册…………………………………………………………20
10.3.2读者主页面………………………………………………………21
10.3.3读者分类查询……………………………………………………38
10.3.4读者借阅图书……………………………………………………21
10.3.5读者归还图书……………………………………………………22
10.3.6读者续借图书……………………………………………………23
11任务分工
1.业务分析
1.1原图书管理系统分析
图书馆是获取信息重要途径之一,对图书馆的信息化管理将大大提高图书资源的利用和信息的交换速度。
一直以来人们使用传统的人工方式管理图书馆的日常工作,对于图书馆的借书和还书过程,想必大家都已很熟悉。
首先要把买来的图书资料登记到资料本上,再给每本书分类贴上标签及制作和标签相对应的图书分类卡片,最后把图书分类卡片按类别分别放置在文件柜里。
对于有学生(教师)证的学生(教师)来说还要对他们资料作一定的记录。
并且在人们来借书的时候,首先持证件者要去存放图书分类卡片的文件柜里查找想借的书是否在架,如果卡片存在,再按照图书分类卡片在相应的书架上找到需要的图书,然后登记持证件者的借还书时间和在书签条上写下借还书记录,之后把借书证留在那里;还书的时候,相对应的消去出借记录;这样做起来比较麻烦,比较费时间。
传统图书管理的特点是一直以来,中小型书店、中小学的小型图书馆及各高校图书馆和资料室使用传统的人工方式管理图书档案、会员档案。
这种管理方式存在着诸多缺点,如:
手续繁琐、工作量大、效率低下、出错率高等,同时给对大量资料的查询、更新及维护都带来不少困难。
1.2所建系统分析
根据图书馆日常图书管理工作的需求和图书借阅的管理流程,该系统实施后,应该达到以下目标:
界面设计友好、美观,数据存储安全、可靠。
基本信息设置保证图书信息和读者信息分类管理。
强大的查询功能,保证数据查询的灵活性。
实现对图书借阅、续借、归还流程的全程数据信息跟踪。
提供管理员修改信息、密码等功能,保证管理的安全性。
提供灵活、方便的权限设置,使整个系统的管理分工明确。
1.3可行性分析
1.3.1经济可行性分析
作为图书馆这样的商业性质较小的场所,其经济成分比重相对较少,主要是支出的费用:
其中包括设备购置费、软件开发费用、管理和维护费、人员工资和培训费等。
由于各个图书馆实行统一操作,系统共享,其设备购置,人员工资,维护费用相对较少,前期的资金投入主要集中于购置图书上。
建立信息中心,可将来自各方面的信息集中管理,提高图书管理的计划性和预见性,快速地反馈市场信息。
1.3.2技术可行性分析
技术上的可行性分析主要分析现有技术条件能否顺利完成开发工作,硬件、软件配置能否满足开发者的需要,各类技术人员的数量,水平,来源等。
图书馆管理系统的工作主要是在读者和图书馆之间架起一座桥梁,能相互沟通信息和处理信息。
这一特点非常适合计算机特点,通过网络internet技术,发挥计算机的信息传输速度快、准确度高的优势。
计算机硬件和软件技术的飞速发展,为系统的建设提供了技术条件。
1.3.3社会可行性分析
社会可行性有时也称为操作可行性,主要论证新系统在企业或机构开发和运行的可能性以及运行后可能一起的对企业或机构的影响,即组织内外是否具备接受和使用新系统的条件。
在当前信息技术飞速发展的大环境下,计算机技术和软件技术的更新是图书馆完全有可能也有能力采用这样先进的管理技术。
它对图书馆带来的影响可以看到对传统管理理念的冲击,可能引起管理层的变动和人员的调整。
对图书馆工作人员的要求提高,使图书馆在一定的可能下进行机构精简,迫使工作人员继续学习新知识,拓宽图书馆在市场环境下的生存空间。
对图书馆与读者之间业务方式的转变和扩充。
2.实体描述
2.1管理员管理ER图
2.2读者借阅归还ER图
3.数据字典
实体
属性
数据类型
空/非空
约束条件
管理员
管理员编码
管理员账号
管理员密码
管理员类别
整型
字符型
字符型
整型
非空
可空
可空
可空
主键
无
无
无
图书
图书编码
图书条形码
图书名称
图书类型
图书作者
图书出版社
图书数量
图书价格
整型
整型
字符型
字符型
字符型
字符型
整型
整型
非空
可空
可空
可空
可空
可空
可空
可空
主键
无
无
外键
无
无
无
无
图书类别
图书编码
图书类型
图书可借阅天数
整型
字符型
整型
非空
可空
可空
主键
无
无
图书借阅
借阅编码
图书编码
读者编码
借阅日期
归还日期
是否归还
整型
整型
整型
日期
日期
字段类型
非空
可空
可空
可空
可空
可空
主键
外键
外键
无
无
无
读者
读者编码
读者账号
读者密码
读者姓名
读者学号
读者电话
读者邮箱
整型
字符型
字符型
字符型
整型
整型
字符型
非空
可空
可空
可空
可空
可空
可空
主键
无
无
无
无
无
无
读者留言
留言编码
留言主题
留言内容
留言读者编码
留言读者账号名称
留言时间
整型
字符型
字符型
整型
字符型
时间戳
非空
可空
可空
可空
可空
可空
主键
无
无
外键
无
无
4.事务设计
4.1管理员模块
实现对管理员信息的修改,包括定义、查询、更新、删除等操作。
4.2读者管理模块
实现对借阅者信息的修改,包括定义、查询、更新、删除等操作。
4.3图书信息管理模块
实现管理员对图书信息的修改,包括定义、查询、更新、删除等操作
实现读者查看图书信息,是否可以借阅等操作
4.4图书类别管理模块
实现对图书的分类管理,根据图书类别设定课借读天数。
4.4图书借阅归还管理模块
读者可管理的借还书信息,包括图书名称,出版社,条形码,借阅时间,归还时间,是否归还等。
管理员可管理借还书信息,包括图书名称,出版社,条形码,借阅时间,归还时间,是否归还,管理续借和归还等。
4.5读者留言管理模块
实现读者发布留言主题和留言内容。
实现管理员查看,删除留言信息
5.PowerDesigner建模
6.事务路径图或事务描述
7.映射为对应数据表
7.1管理员数据表
表名
user
列名
数据类型
空/非空
约束条件
表示含义
id
int
非空
主键
管理员编码
username
varchar
可空
无
管理员账号
password
varchar
可空
管理员密码
type
int
可空
只能为“0”或者“1”
管理员类别
补充说明
无
7.2读者数据表
表名
reader
列名
数据类型
空/非空
约束条件
表示含义
id
int
非空
主键
读者编码
username
varchar
可空
无
读者账号
password
varchar
可空
无
读者密码
name
Varchar
可空
无
读者姓名
num
int
可空
无
读者学号
phone
int
可空
无
读者电话
varchar
可空
读者邮箱
补充说明
无
7.3图书数据表
表名
reader
列名
数据类型
空/非空
约束条件
表示含义
id
int
非空
主键
图书编码
code
varchar
可空
无
图书条形码
name
varchar
可空
无
图书名称
type_id
Varchar
可空
外键
图书类型
author
int
可空
无
图书作者
press
varchar
可空
无
图书出版社
page
int
可空
图书数量
price
varchar
可空
图书价格
补充说明
无
7.4图书类别数据表
表名
book_type
列名
数据类型
空/非空
约束条件
表示含义
id
int
非空
主键
图书编码
name
varchar
可空
无
图书类型
borrow_day
int
可空
无
图书可借阅天数
补充说明
无
7.5借还书记录数据表
表名
borrow
列名
数据类型
空/非空
约束条件
表示含义
id
int
非空
主键
借阅编码
book_id
int
可空
外键
图书编码
reader_id
int
可空
外键
读者编码
borrow_day
date
可空
无
借阅日期
return_day
date
可空
无
归还日期
is_return
tinyint
可空
无
是否归还
补充说明
无
7.6用户留言数据表
表名
message
列名
数据类型
空/非空
约束条件
表示含义
id
int
非空
主键
留言编码
title
varchar
可空
无
留言主题
detail
varchar
可空
无
留言内容
user_id
int
可空
无
留言读者编码
user_name
varchar
可空
无
留言读者账号名称
time
timestamp
可空
无
留言时间
补充说明
无
8.规范化检查和说明
8.1规范化方法检查表结构
用规范化方法检查了每个表,避免了不必要的数据重复。
通过检查或重新构建,所建的每个表都是是第三范式(3NF)。
总结:
如果所标识的表不是第三范式,可能ER模型的某部分是错误的,或者由模型创建表时产生了错误。
如果必要的话,可能需要重新构造数据模型或者表。
8.2检查表是否支持用户事务
通过检查,所建的表正如如用户需求说明中所要求的那样,支持用户所需的事务。
在建表的时候,没有错误发生。
总结:
检查表是否支持事务的一种方法是检查是否支持事务的数据需求,以确保数据在一个或多个表中存在。
如果事务所需求的数据在多个表中,则应该检查这些表是否能够通过主键/外键机制连接起来。
8.3检查业务规则
业务规则是用于防止数据库不完整、不准确或不一致的约束。
考虑下面五种类型的完整性约束:
需要的数据、列的值域约束、实体完整性、多样性、参照完整性、其他业务规则
9.SQL操作
9.1创建索引
图书表:
1.为id创建索引,升序排序
createindexindex_book_idonbook(idasc)
插入索引操作和结果如下所示:
2.为图书表的name列创建索引,并且降序排序
altertablebookaddindexindex_book_name(price,desc)
插入索引操作和结果如下所示:
读者借阅表(borrow):
1.为book_id和reader_id创建多列索引:
createindexindex_borrow_bridonborrow(book_idasc,reader_idasc)
插入索引的操作和结果如下所示:
9.2创建视图
1.在book表上创建长江出版社的视图book_publish:
createviewbook_publishas
select*
frombook
wherepress=‘长江出版社’;
操作和结果:
9.3设计触发器
给出在各表上建立的触发器以及使用的语句。
1.设计触发器borrow,当某学生借书成功后,图书表相应的图书数量减一
createtriggertrigger_borrow
afterinsertonborrow
foreachrow
begin
updatebooksetpage=page–1
whereid=new.id;
end
9.4设计读者注册信息存储过程:
读者注册信息reader_register
createprocedurereader_register(inidint,inusernamevarchar(20),inpasswordvarchar(20),innamevarchar(20),innumvarchar(20),inphonevarchar(20),inemailvarchar(20))
begin
insertintostudent(id,username,password,name,num,phone,email)
values(id,username,password,name,num,phone,email);
end
10.实现界面
10.1登录页面
10.2管理员界面
10.2.1管理员主页面
10.2.2图书类别
10.2.3图书管理
10.2.3.1添加图书
10.2.3.2修改,删除图书信息
10.2.3.3查询图书
10.2.4借阅管理(借阅,归还,续借)
10.2.5在线留言管理
10.2.6管理员管理
10.3读者操作界面
10.3.1读者注册
10.3.2读者主页面
10.3.3读者分类查询
10.3.4读者借阅图书
10.3.5读者续借图书
10.3.6读者归还图书
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 设计 实验 报告