数据库结构设计(上)-数据库技术

欢迎您阅读此系列文章,文章参考自《全国计算机等级考试三级教程.数据库技术》。内容为书籍主要知识点以及常考点,阅读此系列文章可以帮助您快速、轻松考取相应证书!祝您阅读愉快!获取知识点电子文档地址:https://gitee.com/yjs0612/ncre 整理不易,希望可以帮助到你!

前言

需求分析阶段确定目标系统做什么,完成什么功能;系统设计阶段将关注如何做,用什么技术、方法和手段做,能比较理想的实现需求阶段提出的各项功能指标。

数据库概念设计

数据库概念设计主要解决数据需求及如何准确地理解数据需求,真实的把应用领域中要处理的数据组织、定义描述清楚,以支持数据库设计后续阶段的工作。

概念设计的任务

数据库概念设计是面向现实世界的,其主要任务是理解和获取应用领域中的数据需求,分析、抽取、描述和表示清楚目标系统需要存储和管理什么数据,这些数据具有什么样的属性特征及组成格式,数据之间存在什么样的依赖关系。

数据库概念设计阶段的目标是:

1.定义和描述应用领域涉及的数据范围

2.获取应用领域或问题域的信息模型

3.描述清楚数据的属性特征

4.描述清楚数据之间的关系

5.定义和描述数据的约束

6.说明数据的安全性要求

7.支持用户的各种数据处理需求

8.保证信息模型方便地转换成数据库的逻辑结构(数据库模式),同时也便于为用户理解。

概念设计的依据及过程

  1. 概念设计的依据

    数据库概念设计的依据是需求分析阶段的文档,包括需求说明书功能模型(数据流程图或IDEF0图)以及在需求分析阶段收集到的应用领域或问题域中的各类报表等。

    通过对这些文档的分析和理解,从而构造信息模型,编写数据库概念设计说明书

    信息模型数据库概念设计说明书是数据库逻辑设计的依据,也是数据库用户确认数据需求的依据。

  2. 概念设计的过程

  • 1.明确建模目标

    确定模型覆盖的问题范围,有助于建模人员标识所关心的数据,要把范围说明和目标说明两者结合起来定义建模目标。

  • 2.定义实体集

    目标:标识和定义应用领域中的实体集。

    工作的基础:需求分析阶段得到的功能模型DFD图、需求说明书以及需求分析阶段收集到的原始单据,统计报表、表格等。

    因需求分析阶段的工作是采用自顶向下逐步求精方法,逐步对目标系统进行分解、细化完成的,因此数据库概念设计阶段通常采用自底向上的方式,从一个局部或子系统入手,标识和定义实体集。

    定义实体集简单的方法是分类标识、概括命名,首先将应用域收集到的原始数据进行分类,即按照具有相同属性特征的原则归类,然后依次列出每个实体集的名称。

  • 3.定义联系

    联系用于描述实体集之间的关联关系,而联系的实例表示一个联系中的两个实例之间有意义的关联或连接。

    标识实体集之间关系的简单方法是建立联系矩阵,联系矩阵由一个二维数组表示。

    需要注意的是:联系只标注两个实体集之间的直接联系,不标注间接联系。

    定义联系的工作主要包括:表示依赖、命名联系、关于联系的说明。

    根据联系矩阵,从两个方向进一步检验实体集之间存在的依赖关系,以确定实体集之间联系的基数。

    通常确定联系基数的工作是在联系的两端进行。

    联系的名字可以用动词或动词短语来表示,在为联系命名时要注意联系名要反应两个实体集之间的依赖关系或联系所表达的语义。

  • 4.建立信息模型

    根据前阶段标识定义的实体集联系及实体集之间联系的基数,选择一种建模方法,如ER方法,构造ER模型。

  • 5.确定实体集属性

    属性被用来描述一个实体集的特征或性质。

  • 6.对信息模型进行集成与优化

    保证构造的概念数据模型是正确的、一致的和满足数据需求的。

数据建模方法

数据库概念设计是面向企业或组织中的数据处理需求的。

20世纪70年代中,受图形化功能建模方法的影响,Peter Chen在1976年提出了数据建模方法,即实体联系(ER模型)。

这种模型用简单的图形直观的抽象出现实世界中客观对象的属性特征及其关系。

这种模型不干涉及任何技术问题,建模结果又能够清楚的表达应用领域中的数据结构及其联系。

这些数据建模方法的特点是:

1.能够真实客观的描述现实世界中的数据及数据之间的关系。

2.组成模型的概念少、语义清楚容易理解。

3.不同概念的语义不重叠、概念无多异性。

4.用图形方式描述数据,数据直观易懂,有利于数据库设计者和用户交流。

5.这种数据模型容易转换成数据库逻辑设计阶段需要的数据结构。

1. ER建模方法

实体联系(Entity Relationship)方法面向数据存储需求建模,将现实世界中需要处理的数据抽象组织成某种信息结构。

几个与ER模型有关的概念:

1.实体或实例。实体指客观存在并可相互区分的事物(也称为实体集实例或实例)。

2.实体集。实体集表示一个现实的和抽象事物的集合,这些事物必须具有相同的属性或特征。

3.属性。属性用于描述一个实体集的性质和特征。每个属性的取值范围称为域,属性的具体取值称为属性值。

4.。实体集中能唯一标识每一个实例的属性或属性组称为该实体集的码。

5.联系。联系描述现实世界中事物之间的关系。

现实世界事物之间的联系可以归纳为三类。

1.一对一联系。

2.一对多联系。

3.多对多联系。

ER方法中用矩形框表示实体集,矩形框内写上实体的名称。

ER模型用菱形框表示联系,联系名写在菱形框内。

ER模型中,实体集的属性用椭圆或圆角矩形框表示,属性的名字写在椭圆或圆角矩形框内。

2.IDEF1X建模方法

IDEF0和IDEF1X是一个系列的建模工具。IDEF0侧重描述系统功能需求,被称为功能建模方法IDEF1X侧重分析抽象和概括应用领域中的数据需求,被称为数据建模方法。

IDEF1X模型有如下建模元素:

1.实体集。

独立标识符实体集(独立实体集):一个实体集的每一个实例都能被唯一的标识而不决定于它与其他实体集的联系。用矩形框来表示。

从属标识符实体集(从属实体集):实体集的一个实例的唯一标识依赖于该实体集与其他实体集的联系。用圆角的矩形框来表示。

每一个实体集定义有一个唯一的名字和编码,名字和编码之间用斜杠”/“分开,写在矩形框的上方,编码应该是正整数。通常主码属性名后加(PK)标注。被列在属性列表的顶端,其他属性列在下面。并且用水平线将主码与其他属性分开。一个实体集可以有任意多个属性,一个属性只能归属于一个实体集。

2.联系。

一个“确定型连接联系”或简称“连接联系”,还可称为“父子联系”或“依存联系”,是实体集之间的一种连接或关系。

在这种连接联系中被称为双亲实体集的每一个实例与子女实体集的0个、1个或多个实例相连接。

子女实体集中的每个实例精确的同双亲实体集的一个实例相联系。

(1)标定型联系。子女实体集中的每个实例都是由它与双亲的联系而确定的。在标定型联系中,子女实体集总是从属实体集。标定型联系用一条实线或线段把它们连接起来。1(父)端是线段的原点,n(子女)端是线段的终点,并用一个实心圆点表示其联系的基数N.

(2)非标定型联系。子女实体集中的每一个实例都能被唯一的确认而无须了解与之相联系的双亲实体集的实例。非标定型联系用一条虚线把它们连接起来。1(父)端是线段的原点,n(子女)端是线段的终点,并用一个实心圆点表示其联系的基数N.

(3)分类联系。两个或多个实体集之间的联系,且在这些实体集中存在一个一般实体集。他的每一个实例都恰好与一个且仅一个分类实体集的一个实例相联系。

(4)非确定关系。又称为多对多关系或m:n联系。在这种联系关联的两个实体集之间,任意实体集的一个实例,都将对应另一实体集的0个、1个或多个实例。

在最终的模型中,不允许出现非确定联系,所有实体集之间的联系都必须用确定联系来描述。

数据库逻辑设计

概述及步骤

  • 任务:把数据库概念设计的结果ER模型转化为具体的数据库管理系统支持的数据模型。
  • 目标:得到实际的数据库管理系统可处理的数据库模式。

数据库逻辑设计的依据和阶段目标如下图。

注:数据库逻辑设计是面向机器世界的。数据库概念设计是面向现实世界的。

 

逻辑设计步骤:

一、初始模式设计

将ER图转换成关系模式,一般包含两个步骤:

1.标识ER模型中的联系

2.依次转换与每个联系相关联的实体集及联系。

二、命名确认

根据项目选定的数据库管理系统支持的命名规则,检查确认关系名和属性名是否符合统一命名规则。

三、优化关系模式

应用规划理论逐一检查每一个关系模式使之满足3NF。

微信关注

阅读剩余
THE END