当前位置:首页 >> 高中教育 >> 图书管理系统数据库设计

图书管理系统数据库设计


第8章 数据库设计
? ? ? ? ? ? ?

8.1 数据库设计概述 8.2 需求分析 8.3 概念结构设计 8.4 逻辑结构设计 8.5 数据库的物理设计

8.6 数据库实施
8.7 数据库运行与维护

8.1 数据库设计概述
?

数据库设计是指对一个给定的应

用环境,构造最 优的、最有效的数据库模式,建立数据库及其应 用系统,使之能够高效率地存取数据,满足各种 用户的应用需求。数据库设计通常是在一个通用 的DBMS支持下进行的,本书都是以关系数据库— SQL Server 2000为基础来设计数据库的。 数据库的设计工作通常分阶段进行,不同的阶段 完成不同的设计内容。数据库规范设计方法通常 将数据库的设计分为6个阶段,如图8-1所示。

?

返回首页

数据库的设计分为6个阶段
?

(1)需求分析。收集和分析用户对系统的信息需 求和处理需求,得到设计系统所必须的需求信息 ,建立系统说明文档。

?

(2)概念结构设计。概念结构设计是整个数据库 设计的关键。它通过对用户的需求进行综合、归 纳与抽象,形成一个独立于具体DBMS的概念模型 。
(3)逻辑结构设计。在概念模型的基础上导出一 种DBMS支持的逻辑数据库模型(如关系型、网络 型或层次型),该模型应满足数据库存取、一致 性及运行等各方面的用户需求。

?

?

(4)物理结构设计。从一个满足用户需求 的已确定的逻辑模型出发,在限定的软、 硬件环境下,利用 DBMS 提供的各种手段 设计数据库的内模式,即设计数据的存储 结构和存取方法。 ( 5 )数据库实施。运用 DBMS 提供的数据 语言及宿主语言,根据逻辑设计和物理设 计的结果建立数据库,编制与调试应用程 序,组织数据入库,并进行试运行。

?

?

(6)数据库运行和维护。

返回本节

8.2 需求分析
? ?

8.2.1 需求分析的任务 8.2.2 需求分析的基本步骤

?

8.2.3 需求分析应用实例

返回首页

8.2.1 需求分析的任务
根据需求分析的目标,需求分析这一阶段的 任务主要有两项:
?

(1)确定设计范围。通过详细调查现实世 界要处理的对象(组织、部门和企业等) ,弄清现行系统(手工系统或计算机系统 )的功能划分、总体工作流程,明确用户 的各种需求。 (2)数据收集与分析。需求分析的重点是 在调查研究的基础上,获得数据库设计所 必须的数据信息。
返回本节

?

8.2.2 需求分析的基本步骤
?

1.调查与初步分析用户的需求,确定系统 的边界 2.分析和表达用户的需求

?

1.调查与初步分析用户的需求,确定系统的边界
? ? ?

(1)首先调查组织机构情况。 (2)然后调查各部门的业务活动情况。 (3)在熟悉了业务活动的基础上,协助用户明确 对新系统的各种要求,包括信息要求、处理要求 、安全性与完整性要求,这是调查的又一个重点 。 (4)最后对前面调查的结果进行初步分析,确定 新系统的边界,确定哪些功能由计算机完成或将 来由计算机完成,哪些活动由人工完成。

?

2.分析和表达用户的需求
?

(1)数据流图。

数据流图(Data Flow Diagram,简称DFD) 是一种最常用的结构化分析工具,它用图 形的方式来表达数据处理系统中信息的变 换和传递过程。如图8-4所示,数据流图有4 种基本符号。

(2)数据字典。
?

1)数据项条目:数据项是不可再分的数据单位, 它直接反映事物的某一特征。

?
?

2)数据结构条目:反映了数据之间的组合关系。
3)数据流条目:数据流是数据结构在系统内传输 的路径。 4)数据文件条目:数据文件是数据项停留或保存 的地方,也是数据流的来源和去向之一。 5)处理过程条目。
返回本节

?

?

8.2.3 需求分析应用实例
?

现要开发高校图书管理系统。经过可行性 分析和初步的需求调查,确定了系统的功 能边界,该系统应能完成下面的功能: (1)读者注册。 (2)读者借书。 (3)读者还书。 (4)图书查询。

? ? ? ?

? ?

1.数据流图 通过对系统的信息及业务流程进行初步分 析后,首先抽象出该系统最高层的数据流 图,即把整个数据处理过程看成是一个加 工的顶层数据流图,如图8-5所示。

?

顶层数据流图反映了图书管理系统与外界 的接口,但未表明数据的加工要求,需要 进一步细化。根据前面图书管理系统功能 边界的确定,再对图书管理系统顶层数据 流图中的处理功能做进一步分解,可分解 为读者注册、借书、还书和查询四个子功 能,这样就得到了图书管理系统的第0层数 据流图,如图8-6所示。

?

从图书管理系统第0层数据流图中可以看出 ,在图书管理的不同业务中,借书、还书 、查询这几个处理较为复杂,使用到不同 的数据较多,因此有必要对其进行更深层 次的分析,即构建这些处理的第1层数据流 图。下面的图 8-7 分别给出了借书、还书、 查询子功能的第1层数据流图。

2.数据字典
?

(1)数据项描述。
数据项名称:借书证号 别名:卡号 含义说明:惟一标识一个借书证 类型:字符型 长度:20

?

(2)数据结构描述。

名称:读者类别 含义说明:定义了一个读者类别的有关信息 组成结构:类别代码+类别名称+可借阅数量+借阅天数+ 超期罚款额 名称:读者 含义说明:定义了一个读者的有关信息 组成结构:姓名+性别+所在部门+读者类型 名称:图书 含义说明:定义了一本图书的有关信息 组成结构:图书编号+图书名称+作者+出版社+价格

?

(3)数据流(非数据项)说明。
数据流名称:借书单 含义:读者借书时填写的单据 来源:读者 去向:审核借书 数据流量:250份/天 组成:借书证编号+借阅日期+图书编号 数据流名称:还书单 含义:读者还书时填写的单据 来源:读者 去向:审核还书 数据流量:250份/天 组成:借书证编号+还书日期+图书编号

?

(4)数据存储说明。
数据存储名称:图书信息表 含义说明:存放图书有关信息 组成结构:图书+库存数量 说明:数量用来说明图书在仓库中的存放数

数据存储名称:读者信息表 含义说明:存放读者的注册信息 组成结构:读者+卡号+卡状态+办卡日期 说明:卡状态是指借书证当前被锁定还是正常使用
数据存储名称:借书记录 含义说明:存放读者的借书、还书信息 组成结构:卡号+书号+借书日期+还书日期 说明:要求能立即查询并修改

?

(5)处理过程说明。

处理过程名称:审核借书证 输入:借书证 输出:认定合格的借书证 加工逻辑:根据读者信息表和读者借书证, 如果借书证在读者信息表中存在并且没有被锁 定,那么借书证是有效的借书证,否则是无效 的借书证。

返回本节

8.3 概念结构设计
? ?

8.3.1 概念结构设计的方法和步骤 8.3.2 局部视图设计

?
?

8.3.3 视图的集成
8.3.4 概念结构设计实例

返回首页

8.3.1 概念结构设计的方法和步骤
? ?

1.自顶向下设计法 2.自底向上设计法

?
?

3.由里向外设计法
4.混合策略设计法

返回本节

8.3.2 局部视图设计
?

局部视图设计是根据系统的具体情况,在 多层的数据流图中选择一个适当层次的数 据流图,作为设计分E-R图的出发点,并让 数据流图中的每一个部分都对应一个局部 应用。选择好局部应用之后,就可以对每 个局部应用逐一设计分 E-R图了。局部 E-R 图的设计分为如下的几个步骤,如图8-10所 示。

?

1.确定实体类型和属性

实体和属性之间没有严格的区别界限,但对 于属性来讲,可以用下面的两条准则作为 依据:
?

(1)作为属性必须是不可再分的数据项, 也就是属性中不能再包含其他的属性。 (2)属性不能与其他实体之间具有联系。

?

?

2.确定实体间的联系

依据需求分析结果,考察任意两个实体类型 之间是否存在联系,若有,则确定其类型 (一对一,一对多或多对多),接下来要 确定哪些联系是有意义的,哪些联系是冗 余的,并消除冗余的联系。所谓冗余的联 系是指无意义的或可以从其他联系导出的 联系。

?

3.画出局部E-R图

确定了实体及实体间的联系后,可用E-R图描述出来 。形成局部E-R图之后,还必须返回去征求用户意 见,使之如实地反映现实世界,同时还要进一步 规范化,以求改进和完善。每个局部视图必须满 足:
? ? ? ?

(1)对用户需求是完整的。 (2)所有实体、属性、联系都有惟一的名字。 (3)不允许有异名同义、同名异义的现象。 (4)无冗余的联系。

返回本节

8.3.3 视图的集成
?

各个局部视图建立好后,还需要对它们进 行合并,集成为一个整体的数据概念结构 ,即总 E-R图。集成局部 E-R图型,设计全 局E-R模型的步骤如图8-12所示。

1.合并局部E-R图,生成初步E-R图
? ?

(1)属性冲突。 (2)命名冲突。

?

(3)结构冲突。

2.修改和重构初步E-R图,消除冗余,生成基 本E-R图
?

(1)用分析的方法消除冗余。分析方法是 消除冗余的主要方法。 (2)用规范化理论消除冗余。

?

返回本节

8.3.4 概念结构设计实例
?

1.标识图书管理系统中的实体和属性

参照数据字典中对数据存储的描述,可初步确定三 个实体的属性为:

读者:{卡号,姓名,性别,部门,类别、办卡日 期,卡状态}
图书:{书号,书名,作者,价格,出版社,库存 数量} 借还记录:{卡号,书名,借书日期,还书日期} 其中有下划线的属性为实体的码。

?

2.确定实体间的联系

返回本节

8.4 逻辑结构设计
? ?

8.4.1 逻辑结构设计的任务和步骤 8.4.2 概念模型转换为一般的关系模型

?
?

8.4.3 逻辑结构设计综合实例
8.4.4 将一般的关系模型转换为SQL Server 2000下的关系模型 8.4.5 数据模型的优化

? ?

8.4.6

设计用户外模式
返回首页

8.4.1 逻辑结构设计的任务和步骤
?

逻辑结构设计的主要目标是将概念结构转 换为一个特定的DBMS可处理的数据模型 和数据库模式。该模型必须满足数据库的 存取、一致性及运行等各方面的用户需求 。逻辑结构的设计过程如图8-18所示。

从图8-18中可以看出,概念模型向逻辑模型的 转换过程分为3步进行:
? ?

(1)把概念模型转换为一般的数据模型。 (2)将一般的数据模型转换成特定的 DBMS所支持的数据模型。 ( 3 )通过优化方法将其转化为优化的数据 模型。

?

返回本节

8.4.2 概念模型转换为一般的关系模型
?

1.实体的转换规则

将E-R图中的每一个常规实体转换为一个关系,实体 的属性就是关系的属性,实体的码就是关系的码 。
? ?

2.实体间联系的转换规则 (1)一个 1:1联系可以转换为一个独立的关系模 式,也可以与任意一端所对应的关系模式合并。 (2)一个1 : n联系可以转换为一个独立的关系模 式,也可以与n端所对应的关系模式合并。

?

?

(3)一个m : n联系转换为一个关系模式。 转换的方法为:与该联系相连的各实体的 码以及联系本身的属性均转换为关系的属 性,新关系的码为两个相连实体码的组合 。 (4)三个或三个以上实体间的多元联系转 换为一个关系模式。

?

?

3.关系合并规则

为了减少系统中的关系个数,如果两个关系 模式具有相同的主码,可以考虑将它们合 并为一个关系模式。合并的方法是将其中 一个关系模式的全部属性加入到另一个关 系模式中,然后去掉其中的同义属性,并 适当调整属性的次序。

返回本节

8.4.3 逻辑结构设计综合实例
?

下面仍以图书管理系统的基本E-R模型(图8-17) 为例,说明基本E-R模型转换成初始关系模型的规 则:

?
?

(1)将图8-17中的实体转换成关系模式。
(2)将图8-17中的1 : n联系“属于”转换为关系 模型。 (3)将图8-17中的m : n联系“借还”转换为关系 模型。

?

?

(4)将具有相同码的关系合并。

表8-1
数据性 质 关系 名

图书管理系统的关系模型信息
属性 说明 类别代码为与 “属于”联系合 并后新增的属性

实体

读者

借书证号,姓名,性别, 部门,类别代码,办证日 期,借书证状态 类别代码,类别名称,可 借阅数量,可借阅天数, 超期罚款额

实体

读者 类别

实体

图书

书号,书名,作者,价格, 出版社,库存数量
借书证号,书号,借书日 期,还书日期

联系

借还

返回本节

8.4.4 将一般的关系模型转换为SQL Server 2000 下的关系模型
?

下面就将图书管理系统中的关系设计成 SQL Server 2000下相应的表,如下所示。

?

(1)READER(读者表)。
字段名称 卡号 姓名 性别 部门 字段类型 char char bit char 30 长度 20 16 小数 是否为空 NOT NULL NOT NULL NULL NULL

字段代码 CARDID NAME SEX DEPT

字段代码

字段名称

字段类型

长度

小数

是否为空

ClASSID

类别代码

int

NOT NULL

BZDATE

办卡日期

datetime

NULL

CARDSTATE

卡状态

bit

NULL

?

(2)DZCLASS(读者类别表)。

字段代码 CLASSID CLASSNAME

字段名称 类别代码 类别名称

字段类型 int char

长度

小数

是否为空 NOT NULL

16

NOT NULL

PERMITDAY
PERMITQTY PENALTY

可借阅天数
可借阅数量 超期罚款额

int
int money

NULL
NULL NULL

?

(3)BOOK(图书表)。
字段代码 字段名称 书号 书名 作者 价格 出版社 库存数量 字段类型 char varchar varchar money varchar int 20 长度 20 20 8 小数 是否为空 NOT NULL NOT NULL NULL NULL NULL NOT NULL

BOOKID BOOKNAME EDITER PRICE PUBLISHER QTY

?

(4)BORROW(借还表)。

字段代码 CARDID BOOKID BDATE SDATE

字段名称 借书证号 书号 借书日期 还书日期

字段类型 char char datetime datetime

长度 20 20

小数

是否为空 NOT NULL NOT NULL NOT NULL NULL

返回本节

8.4.5 数据模型的优化
? ?

(1)确定各属性之间的数据依赖。 (2)对各个关系模式之间的数据依赖进行极小化 处理,消除冗余的联系。

?

(3)判断每个关系的范式,根据实际需要确定最 合适的范式。
(4)根据需求分析阶段得到的处理要求,分析这 些模式是否适用于用户的应用环境,从而确定是 否要对某些模式进行分解或合并。 (5)对关系模式进行必要的分解,以提高数据的 操作效率和存储空间的利用率。

?

?

返回本节

8.4.6 设计用户外模式
在定义外模式时可以考虑以下因素:
?

(1)使用更符合用户习惯的别名。

?

(2)对不同级别的用户定义不同的外模式 ,以保证数据的安全。 (3)简化用户对系统的使用。

?

返回本节

8.5 数据库的物理设计
? ?

1.确定数据库的物理结构 2.评价物理结构

返回首页

1.确定数据库的物理结构
?

(1)存储结构的设计。

1)顺序存储。

2)散列存储。
3)索引存储。
?
?

(2)存取方法设计。
(3)存放位置的设计。

2.评价物理结构
?

评价物理数据库的方法完全依赖于所选用 的 DBMS,主要是从定量估算各种方案的 存储空间、存取时间和维护代价入手,对 估算结果进行权衡、比较,选择出一个较 优的合理的物理结构。如果该结构不符合 用户需求,则需要修改设计。

返回本节

8.6 数据库实施
?

(1)建立实际的数据库结构。

利用给定的DBMS所提供的命令,建立数据库的模式 、外模式和内模式。对于关系数据库来讲,就是 创建数据库、建立数据库中所包含的各个基本表 、视图和索引等。
?

(2)将原始数据装入数据库。

装入数据的过程是非常复杂的。这是因为原始数据 一般分散在企业各个不同的部门,而且它们的组 织方式、结构和格式都与新设计的数据库系统中 的数据有不同程度的区别。
返回首页

8.7 数据库运行与维护
在数据库运行阶段,对数据库经常性的维护工作是由 DBA完成的,它包括以下工作:
?
?

(1)数据库的转储和恢复。
( 2)数据库安全性、完整性控制 DBA 必须对数据 库的安全性和完整性控制负起责任。 (3)数据库性能的监督、分析和改进。 (4)数据库的重组织和重构造。

? ?

?

另外,数据库系统的应用环境是不断变化的,常常 会出现一些新的应用,也会消除一些旧的应用,这 将导致新实体的出现和旧实体的淘汰,同时原先实 体的属性和实体间的联系也会发生变化。
返回首页

小结
?

本章介绍了数据库设计的全过程。设计一个数据 库应用系统需要经历需求分析、概念设计、逻辑 结构设计、物理设计、实施和运行维护六个阶段 。 概念结构设计用于设计某个企业或组织所关心的 信息结构,是对现实世界的第一层抽象,它独立 于机器特点,独立于具体的数据库管理系统,它 用E-R模型来描述。逻辑设计是将概念设计的结果 E-R模型转换为数据的组织模型,对于关系数据库 来说,是转换为关系表。

?


更多相关文档:

图书管理系统数据库设计

工程技术学院数据库课程设计 题目:图书管理系统数据库设计 学 号: 专业班级: 姓名: 指导老师: 完成日期: 1 目录一、需求分析 二、概念结构设计 三、逻辑结构...

数据库设计报告-图书管理系统

数据库设计报告-图书管理系统_IT/计算机_专业资料 暂无评价|0人阅读|0次下载|举报文档 数据库设计报告-图书管理系统_IT/计算机_专业资料。数据库课程设计 一、...

图书管理系统数据库设计

图书管理系统数据库设计_IT/计算机_专业资料。图书管理系统的数据库设计,希望对你有帮助 摘 要 数据库原理及应用课程设计是软件工程专业集中实践性环节之一,是学习...

图书管理系统数据库详细设计

图书管理系统数据库设计 图书管理系统数据库设计 项目名称: 项目名称:图书管理系统 指导老师: 指导老师: 姓名: 姓名: 图书管理系统数据库设计 目录 需求分析………...

图书馆管理系统数据库设计

图书管理系统数据库设计 一、需求分析图书馆管理系统应该能够提供所有借阅者的详细信息,以及馆内库存的详细情况,对借书和还 书两大功能进行合理的操作并登记。图书...

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

第10 章 图书管理系统数据库设计实例 通过前面章节对数据库基础知识的学习,本章将通过一个 图书管理系统的数据库设计 实例来重点讲述如何设计数据库。在设计数据库...

图书管理系统数据库设计

图书管理系统数据库设计_管理学_高等教育_教育专区。班级: 课程设计:图书管理系统 1.1 需求分析 姓名: 学号: 书籍是人类不可缺少的精神食粮,对学校来说,显得尤...

图书管理系统的数据库设计

图书管理系统数据库设计_计算机软件及应用_IT/计算机_专业资料。图书管理系统数据库设计 一:需求分析: 1:图书管理系统的功能图 图书管理系统 未登录用户 读者 ...

图书管理系统数据库设计报告

图书管理系统数据库设计报告 目录一、 设计背景... 1 二、 需求分析......

数据库课程设计图书管理系统的设计与实现

数据库课程设计图书管理系统设计与实现_计算机软件及应用_IT/计算机_专业资料。含完整源代码 计算机工程学院 数据库原理及应用 课程设计报告课题名称: 专业: 班级:...
更多相关标签:
图书管理系统 | 图书馆管理系统 | 图书管理系统数据库 | 校园图书管理系统 | rfid图书管理系统 | 图书管理系统需求分析 | 图书管理系统数据库表 | 图书管理系统源代码 |
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com