“数据库类课程资源建设( MySQL 数据库应用与设计)”教学方向资源建设
1
【 任务 8-1】 图书管理 数据库 设计 的需求分析
【 任务描述 】
实地观察图书馆工作人员的工作情况,对图书管理系统及数据库进行需求分析。
【 任务实施 】
首先我们简要分析一下 图书管理系统 ,图书馆中图书的征订、入库、借阅等操作都是借
助图书管理系统来完成, 图书管理员 只是该系统的使用者。图书管理系统通常包括一台或多
台服务器,分布在不同工作场所的电脑,这些电脑各司其职,有的完成图书征订工作,有的
完成图书入库工作,有的完成图书借阅工作。服务器中通常安装了操作系统、 数据库管理系
统 (例如 MySQL、 Oracle、 SQL Server、 Sybase 等) 及其他所需要的软件,图书管理系统的
数据 库 通常也安装在服务器中,图书借阅时,电脑屏幕上所显示的数据便是来自服务器中的
数据库,图书借阅数据也要保存到该数据库中。图书数据库中通常包括多张 数据表 等对象,
例如“图书信息”、“图书类型”、“出版社”、“借阅者”、“借书证”、“图书借阅”等数据表,
“图书信息”数据表中存储与图书有关的 数据 ,“图书类型”数据表中存储与图书的类型有
关的数据,“出版社”数据表中存储与出版社有关的数据。
图书管理数据库中存储着若干张数据表,查询图书信息时,通过图书管理系统的用户界
面输入查询条件,图书管理系统将查询条件转换为查询语句,再 传递给数据库管理系统,然
后由数据库管理系统执行查询语句,查到所需的图书信息,并将查询结果返回给图书管理系
统,并在屏幕上显示出来。图书借阅时,首先通过用户界面指定图书编号、借书证编号、借
书日期等数据,然后图书管理系统将指定的数据转换为插入语句,并将该语句传送给数据库
管理系统,数据库管理系统执行插入语句并将数据存储到数据库中对应的数据表中,完成一
“数据库类课程资源建设( MySQL 数据库应用与设计)”教学方向资源建设
2
次图书借阅操作。这个工作过程如图 8-1 所示。
根据以上分析可知,图书管理系统主要涉及到图书管理员、图书管理系统、数据库管理
系统、数据库、数据表和数据等对象,如图 8-1 所 示。
图 8-1 图书管理系统的工作过程示意图
1.数据库设计问题的引出
首先,我们来分析表 8-6 所示的“图书”表,引出数据库设计问题。
表 8-6 “图书”表及其存储的部分数据
ISBN 编号 图书名称
作
者
价
格
出版社 名称
出版社
简称
邮政
编码
9787121201478
Oracle 11g 数据库应
用、设计与管理
陈承欢 37.50 电子工业出版社 电子 100036
9787121052347
数据库应用基础实例
教程
陈承欢 29 电子工业出版社 电子 100036
9787115374035
跨平台的移动 Web 开
发实战
陈承欢 47.30 人民邮电出版社 人邮 100061
9787040393293
实用工具软件任务驱
动式教程
陈承欢 26.10 高等教育出版社 高教 100011
表 8-6 中的“图书”表包含了两种不同类型的数据,即图书数据和出版社数据,由于在
一张表中包含了多种不同主题的数据,所以会出现以下问题:
( 1)数据冗余
( 2)修改异常
( 3)插入异常
图书管理员
数据库
图书管
理系统
数据库
管理系统
图书信息表
图书类型表
借阅者信息表
出版社表
图书借阅表
“数据库类课程资源建设( MySQL 数据库应用与设计)”教学方向资源建设
3
( 4)删除异常
经过以上分析发现表 8-6 不仅存在数据冗余,而且可能会出 现三种异常。设计数据库时
如何解决这些问题,设计出结构合理、功能齐全的数据库,满足用户需求,是本单元要探讨
的主要问题。
2.用户需求分析
首先调查用户的需求,包括用户的数据要求、加工要求和对数据安全性、完整性的要
求,通过对数据流程及处理功能的分析,明确以下几个方面的问题:
① 数据类型及其表示方式。
② 数据间的联系。
③ 数据加工的要求。
④ 数据量大小。
⑤ 数据的冗余度。
⑥ 数据的完整性、安全性和有效性要求。
其次在系统详细调查的基础上,确定各个用户对数据的使用要求,主要内容包括:
( 1)分析用户对信 息的需求
分析用户希望从数据库中获得哪些有用的信息,从而可以推导出数据库中应该存储哪些
数据,并由此得到数据类型、数据长度、数据量等。
( 2)分析用户对数据加工的要求
分析用户对数据需要完成哪些加工处理,有哪些查询要求和响应时间要求,以及对数据
库保密性、安全性、完整性等方面的要求。
“数据库类课程资源建设( MySQL 数据库应用与设计)”教学方向资源建设
4
( 3)分析系统的约束条件和选用的 DBMS 的技术指标体系
分析现有系统的规模、结构、资源和地理分布等限制或约束条件。了解所选用的数据库
管理系统的技术指标,例如选用了 MySQL,必须了解 MySQL 允许的最多字段数、最多记
录数、最大记录 长度、文件大小和系统所允许的数据库容量等。
接下来我们实地观察图书馆工作人员的工作情况,对图书管理系统进行需求分析。
( 1)图书馆业务部门分析
图书馆一般包括征订组、采编组、借阅者管理组、书库管理组、借阅组、图书馆办公室
等部门。征订组主要负责对外联系,征订、采购各类图书和期刊,了解图书、期刊信息等;
采编组 主要负责图书的编目(编写新书的条形码或自制图书编号)、登记新书有关信息,同
时将编目好的图书入库等;借阅者管理组主要负责登记借阅者信息,办理、挂失和注销借书
证等;书库管理组主要负责管理书库、整理图书、对书架进行编号和图书盘点等;借阅组主
要负责图书、期刊的借出和归还,并能根据借书的期限自动计算还书日期,同时能够进行超
期的判断及超期罚款的处理,还能自动将已归还图书的相关信息存储到图书借阅数据表中,
将因借阅者损坏、遗失或其他原因丢失的图书信息存入出库图书数据表中,并对藏书信息表
进行同步更新;图书馆办公室主要处理图书 馆的日常工作,对图书及借阅情况进行统计分
析,对图书管理系统中的基础信息进行管理和维护等。
( 2)对图书馆的业务流程进行简单分析
图书馆的业务主要围绕“图书”和“借阅者”两个方面展开。
以“图书”为中心的业务主要有:① 图书的征订、采购;② 新书的登记、入库(登记
图书种类的信息,对于图书名称、出版社、 ISBN 编号、作者、版次等信息完全相同的 10 本
图书,视为同一种类的图书,在图书信息表中只记载一条信息,即图书编号相同,同时图书
“数据库类课程资源建设( MySQL 数据库应用与设计)”教学方向资源建设
5
数量记为 10);③ 图书编目,即对登记的新书进行编码(编制条形码或自制图书编号)后
存入 藏书信息表(记载图书馆中的每一本图书的情况,若有 10 本同样的图书,对应在藏书
信息表中记载 10 条信息,这些记录的条形码不同);④ 图书的借出、归还、盘点和超期罚
款等。
以“借阅者”为中心的业务主要有:① 借阅者的管理,主要是对借阅者基本信息的查
询和维护等;② 借书证的管理,主要包括借书证的办理、挂失和注销等。
其他的主要业务包括:① 对图书管理系统的基础信息进行管理和维护(例如系统参数
设置,图书类型、借阅者类型、出版社、图书馆、部门、图书管理员等基础数据的管理和维
护等);② 对图书及借阅情况进行统计分析等。
( 3)图书借阅操作分析
借书操作时,首先根据输入的借书证编号验证借书证的有效性,包括借书证的状态是否
有效、是否已达到的借书数量限额等,该借书证是否存在超期图书未罚款的情况。若满足所
有的借书条件,则进行借书处理,若不满足某个条件,则返回相应的提示信息,告知操作人
员进行相应的处理。在借书处理时,首先将所借图书的信息写入图书借阅表,然后修改图书
信息表中的“在藏数量”,藏书信息表中的“图书状态标志”和借书证表中的“允许借书数
量”。
还书操作时,首先判断图书是否超期,如果超期则进行罚款处理,将罚款信息写入罚款
表中,然 后进行还书处理,增加图书信息表中的“在藏数量”,设置藏书信息表中该图书为
“在藏状态”,同时从图书借阅表删除该图书的借阅信息,在借书证表修改“允许借书数
量”,在图书归还数据表中记录该图书的历史信息,以备将来查询。
( 4)图书管理系统中的数据分析
“数据库类课程资源建设( MySQL 数据库应用与设计)”教学方向资源建设
6
经过以上分析,图书管理系统中的数据库应存储以下几个方面的数据:图书馆、图书类
型、借阅者类型、出版社、图书存放位置、图书信息(记载图书馆每个种类的图书信息)、
藏书信息(记载图书馆中每一本图书的信息)、图书入库、图书借阅、出库图书、图书归
还、图书罚款、图书征订、库存盘点、 借书证、借阅者信息、管理员、部门等。
( 5)图书管理系统中的数据库的主要处理业务分析
图书管理系统中数据库的主要处理有统计总图书总数量、总金额,统计每一类图书的借
阅情况,统计每一个出版社的图书数量,统计图书超期罚款情况等。要求输出的报表有藏书
情况、每一类图书数量统计等。
|
|