第3章 数据库系统的设计方法 全讲解

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3) 结构冲突
1) 同一对象在不同的应用中具有不同的抽象。 2) 同一实体在不同分E-R图中的属性组成不一致. 3) 实体之间的联系在不同的分E-R图中呈现不同的类型。
2. 消除不必要的冗余,设计基本E-R图
17
3.4 数据库逻辑结构的设计
3.4.1 概念模型向网状模型转换
1. 不同型实体集及其联系的转换规则 1) 每个实体集转换成一个记录。 2) 每个1:n的二元联系转换成一个系,系的方向由1方实 体记录指向n方实体记录。 3) 每个m:n的二元联系,在转换时要引入一个连结记录, 并形成两个系,系的方向由实体记录方指向连结记录方。 4) K(>=3)个实体型之间的多元联系,在转换时也引入 一个连结记录,并将联系转换成K个实体记录型和连结记 录型之间的K个系,系的方向均为实体型指向连结记录。
方案3:“负责”与“产品”两关系合 并:
职工(职工号,姓名,年龄);
产品(产品号,产品名,价格,职工
号).
22
(2) 1:n联系的转换方法
一种方法是将联系转换为一个独立的关 系,其关系的属性由与该联系相连的各实体 集的码以及联系本身的属性组成,而该关系 的码为n端实体集的码;
另一种方法是在n端实体集中增加新属性, 新属性由联系对应的1端实体集的码和联系 自身的属性构成,新增属性后原关系的码不 变。
根据数据库的逻辑设计和物理设计的结果建立数据库、编制与调 试应用程序、组织数据入库并进行系统试运行。
6. 数据库运行和维护阶段:不断地对其结构性能进行评价、调
整和修改。
9
3.2 系统需求分析
分析用户的要求,将分析结果用数据流程图和数据字典表示。
3.2.1 需求分析的任务和方法
任务:调查现实世界要处理的对象;了解原系统的概况和发展;明确用户 需求;收集基础数据及其处理方法;确定新系统的功能和边界。
应用程序设计 调试和运行
性能考核
满意 是
加载数据库
投入运行维护
5
3.1.2 数据库系统设计应注意的问题
1. 考虑到计算机硬件、软件和干件的实际情况
(1) 数据库系统的硬件条件
根据其数据存储设备、网络和通信设备、计算机性能等硬件条件设 计数据库的规模、数据存储方式、分布结构以及数据通讯方式。
(2) DBMS和主语言系统的特点
23
仓库号
【例3-2】将含有1:n联系的E-R图转换为 关系模型。
地点
仓库 1
仓储 n
产品
面积 数量
方案1:联系形成的关系独立存在。 仓库(仓库号,地点,面积); 产品(产品号,产品名,价格); 仓储(仓库号,产品号,数量).
方案2:联系形成的关系与n端对象合并。 仓库(仓库号,地点,面积); 产品(产品号,产品名,价格,仓 库号,数量).
1. 系统需求调查的内容
(1) 数据库中的信息内容
数据库中需存储哪些数据,包括用户将从数据库中直接获得或间接导出的 信息内容和性质。
(2) 数据Fra Baidu bibliotek理内容
用户要完成什么数据处理功能;用户对数据处理响应时间的要求;数据处 理的工作方式。
(3) 数据安全性和完整性要求
数据的保密措施和存取控制要求;数据自身的或数据间的约束限制。
3.3 数据库逻辑结构的设计
3.3.1 概念结构的特点及设计方法 3.3.2 数据抽象与局部视图设计 3.3.3 视图的集成
3.4 数据库逻辑结构的设计
3.4.1 概念模型向网状模型转换 3.4.2 概念模型向关系模型的转换
2
3.1 数据库系统设计概述
数据库设计是设计数据库结构特性,为特定应用环境构造出最优的数据模 型;数据库应用系统设计是设计数据库的行为结构特性,建立能满足各种 用户对数据库应用需求的功能模型。
18
转换实例
部门
1 部门-职工
n 职工
部门
部门职工系
职工
学生
m 选课
n 课程
学生
课程
学生-选课 选课
课程-选课
(a) 1:n联系的转换实例
(b) m:n联系的转换实例
19
多实体型之间多元联系转换实例
部件
工程
m
n
部件-工程-
供应
p
供应
部件
工程
供应
Set Set
Set
1
2
3
部件-工程-供应
20
3.4.2 概念模型向关系模型的转换
3
1. 数据库的结构特性设计
先将现实世界中的事物、事物间的联系用E-R图表示, 再将各个分E-R图汇总,得出数据库的概念结构模型,最后 将概念结构模型转化为数据库的逻辑结构模型表示。
2. 数据库的行为特性设计
首先要将现实世界中的数据及应用情况用数据流程图 和数据字典表示,并详细描述其中的数据操作要求(即操 作对象、方法、频度和实时性要求),进而得出系统的功 能模块结构和数据库的子模式。
(3) 确定新系统的边界
哪些功能现在就由计算机完成;哪些功能将来准备让计算机完成;哪 些功能或活动由人工完成。由计算机完成的功能就是新系统应该实现 的功能。
11
3. 系统需求调查的方法
(1) 跟班作业:数据库设计人员亲身参加业务工作。 (2) 开调查会:通过与用户座谈的方式来了解业务活动情况
及用户需求。
3. 数据库的物理模式设计
根据库结构的动态特性(即数据库应用处理要求), 在选定的DBMS环境下,把数据库的逻辑结构模型加以物 理实现,从而得出数据库的存储模式和存取方法。
4
数据分析 概念模型设计 逻辑模式设计 物理模式设计 用户子模式设计 加载试验数据

企业
用户业务活动分析 功能模型 事务设计 程序说明
21
【例3-1】将图中E-R图转换为关系模型。
职工号
姓名
产品号
职工 1
负责 1
产品
产品名
年龄 价格
方案1:联系形成的关系独立存在:
职工(职工号,姓名,年龄);
产品(产品号,产品名,价格);
负责(职工号,产品号).
方案2:“负责”与“职工”两关系合 并:
职工(职工号,姓名,年龄,产品 号);
产品(产品号,产品名,价格);
(3) 请专人介绍:请业务熟练的专家或用户介绍业务专业知
识和业务活动情况,设计人员从中了解并询问相关问题。
(4) 询问:对某些调查中的问题,可以找专人询问。 (5) 设计调查表请用户填写:数据库设计人员可以提前设
计一个合理的、详细的业务活动及数据要求调查表,并将 此表发给相关的用户。
(6) 查阅现实世界的数据记录:查阅与原系统有关的数据
记录,包括帐本、档案或文献等。
12
4. 系统需求分析方法
常用的有结构化分析方法: 1) 自顶向下的设计方法。先定义全局概念结构的框架,然
后逐步细化为完整的全局概念结构。 2) 自底向上的设计方法。先定义各局部应用的概念结构,
后将它们集成,得到全局概念结构。 3) 逐步扩张的设计方法。先定义最重要的核心部分,后向
15
3.3 概念结构的设计
3.3.1 概念结构的特点及设计方法
3.3.2 数据抽象与局部视图设计
1. 三种数据抽象方法 (1) 分类: 定义类概念作为现实世界中对象的类型,这些对象具 有某些共同的特性和行为。在E-R模型中,实体集是该抽象。 (2) 聚集:定义某一类型的组成部分,它抽象了对象内部的类型 和 “组成部分”的语义。 (3) 概括:定义类型之间的一种子集联系,它抽象了类型之间的 “所属”的语义。 2. 设计分E-R图 概念结构设计是利用抽象机制对需求分析阶段收集到的数据分 类、组织(聚集),形成实体集、属性和码,确定实体集之间 的联系类型,进而设计分E-R图。
产品号
产品名
价格
24
(3) m:n联系的转换方法
在向关系模型转换时,一个m:n联系转 换为一个关系。转换方法为:与该联系相 连的各实体集的码以及联系本身的属性均 转换为关系的属性,新关系的码为两个相 连实体码的组合(该码为多属性构成的组 合码)。
25
【例3-4】将图中含有m:n二元联系的E-R图, 转换为关系模型。
16
3.3.3 视图的集成
1. 合并分E-R图,生成初步E-R图
(1) 属性冲突
1) 属性域冲突,即属性值的类型、取值范围或取值集合不同。 2) 属性取值单位冲突。
(2) 命名冲突
1) 同名异义冲突:不同的对象在不同的局部应用中具有相同的名字。 2) 异名同义冲突:意义相同的对象在不同的应用中有不同的名字。
在数据库设计前,应当选择合适的DBMS和主语言系统,使之适合 数据库系统的要求。
(3) 数据库用户的技术水平和管理水平
应当让DBA充分参与设计数据库的工作,使之对数据库设计过程的 每个细节都了解的比较清楚。。
2. 使结构特性设计和行为特性设计紧密结合
数据库设计过程是一种自上而下的、逐步逼近设计目标的过程,是 结构设计和行为设计分离设计、相互参照、反复探寻的过程。
10
2. 系统需求的调查步骤
(1) 了解现实世界的组织机构情况
弄清所设计的数据库系统与哪些部门相关,这些部门以及下属各个 单位的联系和职责是什么。
(2) 了解相关部门的业务活动情况
各部门需要输入和使用什么数据;在部门中是如何加工处理这些数据 的;各部门需要输出什么信息;输出到什么部门;输出数据的格式是 什么。
6
3.1.3 数据库系统设计方法
数据库系统设计应分6个阶段进行, 这6个阶段是需求分析、概念结构设计、 逻辑结构设计、物理结构设计、数据 库实施和数据库运行和维护。
7
应用需求 (数据、处理)
转换规则、 DBMS要求和优化 方法
应用要求, DBMS详细特征
和限制
需求收集和分析
设计概念结构
设计逻辑结构 数据模型优化
设计物理结构
评价设计,性能预测 不满意
物理实现
试验性运行 不满意
使用、维护数据库
需求分 析阶段 概念设计阶

逻辑设计阶 段
物理设计阶 段
数据库 实施阶段
数据库 运行、维护阶段8
3.1.4 数据库设计的基本步骤
1.需求分析阶段:准确了解并分析用户对系统的需要和要求,弄
清系统要达到的目标和实现的功能。
方,也是数据流的来源和去向之一。数据存储可以是手 工文档、手工凭单或计算机文档。 5. 处理过程:用判定表或判定树来描述。
14
一个数据流程图的实例
D1 在校学生
D3 学生学籍表
学生科 a
删除记录
退学通知 学生
c
P1 退学处理
P2 毕业处理
派遣证
学生 c
各系 b
D2 成绩记录
D4 学分记录
学生科 a
外扩充,生成其他概念结构。 4) 混合策略设计的方法。即采用自顶向下与自底向上相结
合的方法。
13
3.2.2 数据字典及其表示
数据字典是各类数据描述的集合
1. 数据项:数据项是不可再分的数据单位。 2. 数据结构:数据结构反映了数据之间的组合关系。 3. 数据流:据流是数据结构在系统内传输的路径。 4. 数据存储:数据存储是数据及其结构停留或保存 的地
数据库系统原理 及应用
2020/3/22
机械工业出版社
第3章 数据库系统的设计方法
3.1 数据库系统设计概述
3.1.1 数据库系统设计的内容 3.1.2 数据库系统设计应注意的问题 3.1.3 数据库设计的基本方法 3.1.4 数据库系统设计的基本步骤
3.2 系统需求分析
3.2.1 需求分析的任务和方法 3.2.2 数据字典及其表示
3.1.1 数据库系统设计的内容 目标:对于给定的应用环境,建立一个性能良好的、能满足不同 用户使用要求的、又能被选定的DBMS所接受的数据库系统模式。 按照该模式建立的数据库系统,应当能够完整地反映现实世界中 信息及信息之间的联系;能够有效地进行数据存储;能够方便地 执行各种数据检索和处理操作;并且有利于进行数据维护和数据 控制管理的工作。 内容:数据库的结构特性设计,数据库的行为特性设计,数据库 的物理模式设计。将结构特性设计和行为特性设计结合起来,相 互参照,同步进行,才能较好地达到设计目标。
1. 实体集的转换规则
一个实体集转换为关系模型中的一个关系,实体的属性 就是关系的属性,实体的码就是关系的码,关系的结构 是关系模式。
2. 实体集间联系的转换规则
(1) 1:1联系的转换方法 1) 将1:1联系转换为一个独立的关系:与该联系相连的 各实体的码以及联系本身的属性均转换为关系的属性, 且每个实体的码均是该关系的候选码。 2) 将1:1联系与某一端实体集所对应的关系合并,则需 要在被合并关系中增加属性,其新增的属性为联系本身 的属性和与联系相关的另一个实体集的码。
2. 概念结构设计阶段:对用户需求进行综合、归纳和抽象,形成
一个独立于具体计算机和DBMS的概念模型。
3. 逻辑结构设计阶段:将概念结构转换为DBMS所支持的数据模
型,并将其性能进行优化。
4. 数据库物理设计阶段:为逻辑数据模型选取一个最适合应用
环境的物理结构,包括数据存储结构和存取方法。
5. 数据库实施阶段:运用DBMS提供的数据操作语言和宿主语言,
相关文档
最新文档