四级数据库_04_概念设计

第四章 数据库概念设计及数据建模

四级数据库 返回到 『四级数据库』

4.1 数据库概念设计概述

4.1.1 数据库概念设计的任务

  • 定义和描述应用领域涉及的数据范围
  • 获取应用领域 或 问题域的 信息模型
  • 描述清楚数据的属性特征
  • 描述清楚数据之间的关系
  • 定义和描述数据的约束
  • 说明数据的安全性要求
  • 支持用户的各种数据处理需求
  • 保证  信息模型 方便地转换成数据库的 逻辑结构,同时便于用户理解。

4.1.2 概念设计过程

  • 概念设计的依据:是需求分析阶段的文档,通过对这些文档的分析理解,构造出信息模型,编写数据库概念设计说明书信息模型数据库概念设计说明书是数据库逻辑设计的依据;
  • 概念设计的基本步骤:
    • 确定实体集
    • 确定联系联系类型
    • 建立由信息模型表示的企业模型
    • 确定实体集属性
    • 对信息模型优化。

 4.1.3、 概念设计的方法(自顶向下、自底向上、逐步扩张、混合策略


4.2 数据建模方法

  • 数据建模方法的共同特点是:
    • 能够真实客观地描述  现实世界中的数据数据之间的关系
    • 组成模型的概念少,语义清楚,容易理解;
    • 不同概念的语义不重叠,概念无多义性;
    • 用图形方式描述数据,数据直观易懂,有利于数据库设计者和用户交流;
    • 这种数据模型容易转换成数据库逻辑设计阶段需要的数据结构

4.3 ER建模方法

4.3.1 基本概念

  • 实体或实例:指客观存在  并可相互区分  的事物,可以是一个具体的人或物,也可以是抽象的事件或概念;
  • 实体集:表示一个现实的 和  抽象事物的集合,这些事物必须具有相同的属性特征
  • 属性:用于描述一个实体集的性质和特征;
  • :实体集中能惟一标识每一个实例的属性或属性组;(以及域)
  • 联系:描述现实世界中实体之间的关系。(1)一对一联系;(2)一对多联系;(3)多对多联系

4.3.2 ER方法语法

  • ER方法中用矩形框表示实体集,矩形框内写上实体集的名称;
  • ER模型用菱形表示联系,联系名写在菱形框内;
  • ER模型中实体集的属性椭圆圆角矩形框表示,属性名字写在其中。

补充:1、ER建模步骤:局部(以数据字典为依据,自底而上)(确定范围,识别实体、确定关系、定义属性)到全局。

     2、全局(合并和重构)合并:消除冲突(属性,命名,结构);

             冲突:消除冗余。


4.4 IDEF1X 建模方法

4.4.1 IDEF1X概述

  • IDEF0侧重描述系统功能,被称为功能建模方法;
  • IDEF1X侧重分析、抽象和概括应用领域中的数据,称为数据建模方法;
  • IDEF1X方法具有丰富的语法和语义;
  • 实体集分为(1)独立标识符实体集;(2)从属标识符实体集;
  • 实体集之间的联系分为:(1)标定型联系;(2)非标定型联系;(3)分类联系;(4)不确定联系

4.4.2 IDEF1X模型元素

  • 实体集:
    • 实体集语义:如果一个实体集的每一个实例都能被惟一地标识,而不决定于它与其他实体的联系,那么该实体集称为独立实体集;否则(如果存在键区,即外键)就叫从属实体集;
    • 实体集语法:IDEF1X 用 矩形框来表示独立实体集,用圆角矩形框来表示从属实体集

  • 联系:

    • 联系语义:
      • 标定型联系:一个“确定型联系”(一对多)中,如果子女实体集中的每个实例都是由它与双亲的联系而确定的,这个关系称为“标定型联系”(在子实体中做外键时,在键区,反之成立);
      • 非标定型联系:一个“确定型联系”中,如果子女实体集中的每一个实例都能被惟一地确认而无需了解与之相联系的双亲实体集的实例,这个问题关系叫“非标定型联系”。
      • 分类联系:是两个或多个实体集之间的联系,且在这些实体集中存在一个一般实体集,它的每一个实例都恰好与一个且仅一个分类实体集的一个实例相联系。类似于用户-角色中间表
      • 不确定联系:一个非确定联系又称为多对多联系,这种联系关联的两个实体集之间,任一实体集的一个实例都将对应另一实体集的0个、1个或多个实例。

    • 联系的语法:

      • 标定联系语法:在IDEF1X图中,联系的语法用直线表示,在一个标定型联系中,子女实体集总是一个从属实体集,用圆角矩形框表示;
      • 非标定联系语法:如果两个实体集之间有关系,并且是一个非标定联系,就用一条虚线把它们连接起来。
      • 分类联系语法:一般实体集的一个实例只能分类实体集一个实例相对应;类似于用户-角色中间表
      • 不确定联系m:n的语法:不确定联系用一个两端带有实心圆线段描述,表示多对多的连接关系。

    • 属性

      • 属性的语义:用来描述一类现实或抽象事物的特征性质。一个属性的具体取值叫属性实例,它由属性的类型来定义。
      • 属性的语法
        • 主码非主码属性语法:在一个实体集中属性要有惟一的名字,属性名由名词表示,主码属性名后加(PK)标注,被列在属性列表的顶端,并用水平线将主码和其他属性分开。
        • 外码语法:在外码属性后加“FK”来识别由联系继承得到的外来属性。

4.4.3 建模过程

1、第一阶段:建模规划及准备

  • 建模目标:
    • 目标说明:回答将构造的模型完成什么功能,涉及的问题数据范围,同时说明是一个当前系统模型还是待建模型
    • 范围说明:在建模初期要给出模型覆盖的问题范围

  • 建模计划

    • 项目说明;
    • 收集数据;
    • 定义实体
    • 定义联系
    • 定义属性;
    • 定义非码属性;
    • 确认模型;
    • 评审验收。
  • 组织队伍:包括项目负责人、建模者、信息源、课题专家、评审委员会

第二阶段:定义实体集

目标是标识和定义应用领域中的实体集,方法是分类标识  原始材料  中的所有名词;

区别实体集名词和非实体集名词的方法,是否具有下列特征:

1. 它能够被描述或说明吗?

2. 有多少同类的实例吗?

3. 每个实例可以被标识区分吗?


第三阶段:定义联系

标识实体集之间的联系:建立联系矩阵,联系矩阵由一个二维数组表示。把实体集沿水平和垂直两方向列出,分析两个实体间的联系,有联系就用“X”表示,不存在联系用“null”表示。联系只标识直接关系,不标识间接关系。

定义联系:包括表示依赖、命名联系、关于联系的说明;

当实体集之间的依赖关系建立后,就可以命名联系了。

联系的名字可以动词表示。原则必须是具体的、简明的和有意义的。

构造实体级数:实体级图的范围和数目,依赖于建模的规模和建模问题涉及的实体集数目。


第四阶段:定义健

分解不确定的联系:把实体级图中不确定的关系转换成确定的连接形式,把每一个不确定的联系转换成为两个确定的联系;

标识码属性:码属性是那些能够惟一识别实体集中每一个实例的属性;


迁移主码:把一个实体集的主码复制到其他有关实体集的过程,但要遵守以下规则:

在一个联系中,迁移总是从父到子或从一般实体集移向分类实体集

主码属性才能被迁移,如主码由多个属性组成,则要全部迁移;


第五阶段:定义属性

标识和定义非主属性;

建立属性的所有者;

确认属性的定义;

绘制局部数据视图;

实体集的名称和编号写在矩形框外的上面;

主码属性写在矩形框内水平线的上面并用“PK”标注;

外码属性写在矩形框内水平线的下面并用“FK”标注;


  • 非主属性也可以写在矩形框内水平线的下面;