当前位置:
文档之家› 数据库第3章 数据库系统设计的步骤和方法
数据库第3章 数据库系统设计的步骤和方法
● 3.3.3 视图的集成
1. 合并分E-R图,生成初步E-R图 先消除各个分E-R图之间的冲突,再进行合并。 (1) 属性冲突
1) 属性域冲突,即属性值的类型、取值范围或取值集合 不同。
2) 属性取值单位冲突。
(2) 命名冲突 1)同名异义冲突,即不同意义的对象在不同的局部应用 中具有相同的名字。
2) 了解相关部门的业务活动情况。 3) 确定新系统的边界。 3. 系统需求调查的方法 4. 系统需求分析方法 常用的有结构化分析方法(Structure Analysis,简称SA方法): 采用从最上层的系统组织机构入手,自顶向下逐步细化的方式分 析系统,直到把系统的工作过程表示清楚为止. 图3-4
(4)多个实体集的多元联系的转换方法 将其转换为二个实体集之间的联系,或者直接转换。 【例3-6】将图3-26中含有多实体集间的多对多联系的E-R图直接 转换为关系模型 ,直接转换: 供应商(供应商号,供应商名,地址); 零件(零件号,零件名,单价); 产品(产品号,产品名,型号); 供应(供应商号,零件号,产品号,数量). 3. 关系合并规则 在关系模型中具有相同码的关系可根据情况合并为一个关系。
● 3.1 数据库系统设计概述
● 3.1.1 数据库系统设计的内容
目标:建立一个性能良好的、能满足不同用户使用要求的、又 能被选定的DBMS所接受的数据库模式。
内容:数据库的结构特性设计、行为特性设计和物理模式设计 。结构特性设计和行为特性设计两者结合起来,相互参照,同 步进行,才能较好地达到设计目标。 1. 数据库的结构特性设计 结构特性设计称逻辑结构特征或静态结构设计。过程是:先 将现实世界中的事物、事物间的联系用E-R图表示,再将各 个分E-R图汇总,得出数据库的概念结构模型,最后将概念 结构模型转化为数据库的逻辑结构模型表示。
● 3.4.2 概念模型向关系模型的转换
【例3-2】将含有1:n联系的E-R图转换为关系模型。 方案1:联系形成的关系独立存在。
仓库(仓库号,地点,面积); 产品(产品号,产品名,价格); 仓储(仓库号,产品号,数量). 方案2:联系形成的关系与n端对象合并。 仓库(仓库号,地点,面积);
产品(产品号,产品名,价格,仓库号,数量)
数据库的关系模型:
部门(部门号,名称,领导人号 )
职工(职工号,姓名,性别,工资,职称,照片,简历,
数据流 = {数据流名,说明,流出过程,流入过程,组成: {数据结构},平均流量,高峰期流量}.
4. 数据存储 数据存储是数据及其结构停留或保存的地方,也是数据流的来
源和去向之一。数据存储可以是手工文档、手工凭单或计算机文档 。数据存储的描述通常为: 数据存储 = {数据存储名,说明,编号 ,输入的数据流,输出的数据流,组成:{数据结构},数据量,存 取频度,存取方式}. 5. 处理过程 处理过程的具体处理逻辑一般用判定表或判定树来描述。数据字典 中只需要描述处理过程的说明性信息,通常包括以下内容:
这些信息的关联的语义为: 每个部门有多个职工,每个职工只能在一个部门工作; 每个部门只有一个领导人,领导人不能兼职; 每个部门可以同时承担若干工程项目,数据库中应记录每个职 工参加项目的日期; 一个部门可有多个办公室; 每个办公室只能有一部电话。
● 3.4.4 数据库逻辑结构设计的实例
● 3.4.4 数据库逻辑结构设计的实例
● 3.1.4 数据库设计的基本步骤 (图3-2)
1 需求分析
4 数据库物理设计
2 概念(结构)设计
5 数据库实施
3 逻辑(结构)设计
6 数据库运行和维护
数据库设计步骤
● 3.2 系统需求分析
● 3.2.1 需求分析的任务和方法
主要任务是:详细调查现实世界要处理的对象(组织、部门、企 业等);充分了解原系统(手工系统或计算机系统)的概况和发展 前景;明确用户的各种需求;收集支持系统目标的基础数据及其处 理方法;确定新系统的功能和边界。 1. 系统需求调查的内容 1) 数据库中的信息内容。 2) 数据处理内容。 3) 数据安全性和完整性要求。 2. 系统需求的调查步骤 1) 了解现实世界的组织机构情况。
零件供应(零件号,供应商号,数量); 产品组装(零件号,产品号,数量)
● 3.4.3 用户子模式的设计
设计用户子模式时只考虑用户对数据的使用要求、习惯及安全 性要求,而不用考虑效率和维护等问题。设计时应注意:
1. 使用更符合用户习惯的别名 2. 不同级别的用户可以定义不同的子模式
例如:有模式 产品(产品号,产品名,规格,单价,生产车间, 生产负责人,产品成本,产品合格率,质量等级)
第3章 数据库系统设计的步骤和方法
● 3.1 数据库系统设计概述
● 3.1.1 数据库系统设计的内容 ● 3.1.2 数据库系统设计应注意 的问题 ● 3.1.3 数据库系统设计方法 ● 3.1.4 数据库设计的基本步骤
● 3.2 系统需求分析
● 3.2.1 需求分析的任务和方法 ● 3.2.2 数据字典及其表示
2. 数据库的行为特性设计
确定数据库用户的行为和动作,并根据其行为特性设计出数据 库的子模式。设计步骤是:首先要将现实世界中的数据及应用情况 用数据流程图和数据字典表示,并详细描述其中的数据操作要求, 进而得出系统的功能模块结构和数据库的子模式。
3. 数据库的物理模式设计
根据库结构的动态特性(即数据库应用处理要求),在选定的 DBMS环境下,把数据库的逻辑结构模型加以物理实现,从而得出数 据库的存储模式和存取方法。
● 3.2.2 数据字典及其表示
1. 数据项 数据项是不可再分的数据单位。它的描述为:
数据项 = {数据项名,数据项含义说明,别名,类型,长度, 取值范围,与其他数据项的逻辑关系}. 2. 数据结构 数据结构的描述为:
数据结构 = {数据结构名,含义说明,组成,{数据项或数据 结构}}. 3. 数据流 数据流是数据结构在系统内传输的路径。数据流的描述通常为:
● 3.3 概念结构的设 计
● 3.3.1 概念结构的特点及设计方法 ● 3.3.2 数据抽象与局部视图
● 3.3.3 视图的集成
● 3.4 数据库逻辑结构的设 计
● 3.4.1 概念模型向网状模型转换 ● 3.4.2 概念模型向关系模型的转换
● 3.5 数据库的物理设 计
● 3.6 数据库的实施和维护计
● 3.1.2 数据库设计过程
● 3.1.3 数据库系统设计方法
手工试凑法。使用手工试凑法设计数据库与设计人员的经验 和水平有直接关系
新奥尔良(New Orleans)方法。数据库设计分为4个阶段: 需求分析、概念设计、逻辑设计和物理设计。许多科学家认为数 据库设计应分6个阶段进行:需求分析、概念结构设计、逻辑结构 设计、物理结构设计、数据库实施和数据库运行和维护。
职工(职工号,姓名,年龄);
产品(产品号,产品名,价格,职工号).
(2) 1:n联系的转换方法 一种方法是将联系转换为一个 独立的关系,其关系的属性由 与该联系相连的各实体集的码 以及联系本身的属性组成,而 该关系的码为n端实体集的码 ;另一种方法是在n端实体集 中增加新属性,新属性由联系 对应的1端实体集的码和联系 自身的属性构成,新增属性后 原关系的码不变。
为一般用户建立视图: 产品1(产品号,产品名,规格,单价)
为产品销售部门建立视图:产品2(产品号,产品名,规格, 单价,车间,生产负责人)
3. 简化用户对系统的使用
● 3.4.4 数据库逻辑结构设计的实例
某数据库,用户要求存储下列基本信息: 部门:部门号,名称,领导人编号; 职工:职工号,姓名,性别,工资,职称,照片,简历; 工程:工程号,工程名,参加人数,预算,负责人; 办公室:地点,编号,电话。
2) 异名同义冲突,即意义相同的对象在不同的局部应用 中有不同的名字。
(3) 结构冲突 1) 同一对象在不同的应用中具有不同的抽象。 2) 同一实体在不同分E-R图中的属性组成不一致. 3) 实体之间的联系在不同的分E-R图中呈现不同的类型。 2. 消除不必要的冗余,设计基本E-R图
● 3.4 数据库逻辑结构的设 计
● 3.4.1 概念模型向网状模型转换
● 3.4.2 概念模型向关系模型的转换
● 3.4.2 概念模型向关系模型的转换
1. 实体集的转换规则 概念模型中的一个实体集转换为关系模型中的一个关系, 实体的属性就是关系的属性,实体的码就是关系的码,关系 的结构是关系模式。 2. 实体集间联系的转换规则 (1) 1:1联系的转换方法 1) 将1:1联系转换为一个独立的关系:与该联系相连的各 实体的码以及联系本身的属性均转换为关系的属性,且每 个实体的码均是该关系的候选码。 2) 将1:1联系与某一端实体集所对应的关系合并,则需要 在被合并关系中增加属性,其新增的属性为联系本身的属 性和与求分析与自底向上的设计概念 结构的方法:
• 第一步 抽象数据并设计局部视图; • 第二步 集成局部视图,得到全局概念结构 • 见图3-7
图3-7 概念结构的设计步骤
● 3.3 概念结构的设 计
● 3.3.2 数据抽象与局部视图设
1. 三种数据抽象方法 (1) 分类(Classification) 定义某一类概念作为现实世界中一组对象的类型,这些对象具 有某些共同的特性和行为 (2) 聚集(Aggregation) 定义某一类型的组成部分,它抽象了对象内部类型和对象内部 “组成部分”的语义。 (3) 概括(Generalization) 定义类型之间的一种子集联系,它抽象了类型之间的“所属” 的语义。
2 概念结构设计的方法
• 1) 自顶向下的设计方法。先定义全局概念结构 的框架,然后逐步细化为完整的全局概念结构
• 2) 自底向上的设计方法,先定义各局部应用的 概念结构,后将它们集成,得到全局概念结构。