系统分析和设计方法之数据建模和分析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/seacean2000/article/details/86303733

数据建模的过程是比较简单的一个过程,主要难点在于把握上下文图和分析数据模型阶段的规范化,后期开发和运维的难点在于数据-权限的控制,包括数据锁的控制设置。这是一个一眼望到尽头的过程。

  1. 数据建模简介
  2. 数据建模的系统概念
  3. 逻辑数据建模过程
  4. 如何构造数据模型
  5. 分析数据模型
  6. 将数据需求映射到地点

1.数据建模简介

数据建模是一种数据库定义业务需求的技术,因最终成果将于数据库中体现,有时也称其为数据库建模。数据建模的数据模型在软件工程领域称为实体关系图(E-R图)。

2.数据建模的系统概念

数据建模符号记法有多种,实际的模型常称为实体关系图。

实体是指某些事物,我们需要存储有关这些事物的数据,而数据就是描述事物的。实体实例是指实体的具体值。记录到这个地方,我们要明确一点,大数据有没有效果取决于实体定义数据含义是否丰富到足以支撑分析,假如不能支撑,那么大数据就是一个笑话。例如:我们以前的实体数据规则中没有相关属性的描述,那么大数据也无法归纳出实体相关属性的信息。同时也从另一个侧面反映出我们记录的实体信息只是实体在哲学意义上区别于其他实体个性的一部分,这种相对性的把握才是关键。

属性是实体定义中每个小的方面的数据规则,例如实体的名称、物理大小等等。这些属性也可以进行组合,组合到一定程度会形成区别于其他实体实例的特征,那么这种属性组合称为组合属性。

域是实体属性的合法取值范围,数据类型是实体属性取值的数据类型,默认值是实体属性初始化默认值。域的范围定义需要从业务层面入手。每个实体必须有一个标识符或键,以区别于其他的实体实例,继续扩展下去还有主键、复合键、外键、候选键。

关系是存在于一个或多个实体之间的自然业务联系。基数定义了一个实体相对于另一个关联实体的某个具体值的最小和最大值数量。因为关系是双向的,所以基数也是一个双向的值,在描述基数的时候,必须严格说明两个实体的主次位置。数据关系复杂性的另外一个度量是它的度数。关系的度数是参与那个关系的实体数量。如果关系存在于同一实体不同实例之间,那么这种关系可以称为递归关系。关系存在于两个以上不同实体之间,这种关系称为N维关系。关联实体是一个从多个其他实体继承其主键的实体,其复合键的每个部分指向每个连接实体的一个而且仅一个实例。非确定性关系是每个参与关系的实体都有各自的独立主键关系,不共享主键关系。确定性关系是父实体贡献其主键成为子实体主键一部分的关系 。非特定关系是一个实体的多个实例和另外一个实体的多个实例之间相关联的关系。这种非特定关系仅存在于初始数据模型中,应该尽快的分解掉。非特定关系也很有可能是分析员因理解业务不透彻引入的,通常非特定关系都需要仔细确认。在E-R图中也存在着抽离公共部分的操作,这跟面向对象的抽离公共操作的思想是一致的。

3.逻辑数据建模过程

数据模型是不断累进的,不存在终极数据模型这一说法和操作。企业数据模型只是标识出最基本的实体,这些实体被一般性地定义并且不会以键或属性的形式描述。当企业战略规划的项目启动时,应用都会以企业数据模型作为数据建模的起始版本。单个信息系统的数据模型通常称为应用数据模型。应用数据模型通常绘制时间很短,并且与上一个版本的差异不大,所以很少与系统分析问题分析阶段结合在一起。需求分析得到一个逻辑数据模型可以按照以下过程操作:1.从构造上下文数据模型开始确立项目范围;2.绘制一个基于键的数据模型;3.构造一个具有完整属性的数据模型;4.通过一个称为规范化的过程分析数据模型的适应性和灵活性,最终经分析后的模型称为规范化的数据模型。在系统设计阶段将逻辑设计转换为对应数据库管理系统的物理数据模型,同时要对转化后的结果进行性能优化。当然进行数据建模的工具有很多,基本所有支持E-R图的画图工具都是可以的。

4.如何构造数据模型

第一步:获取实体。可以通过以下方法获取:1.在与系统所有者和用户的面谈或JRP会议期间,注意讨论中的关键词;2.在面谈和JRP会议期间,专门要求系统所有者和用户确定要收集、存储和生成信息的事物;3.研究现有表格、文件、报告;4.在需求分析阶段记录下来的用例描述;5.E-R图建模工具。

第二步:上下文数据模型,该模型主要包含基本实体和它们之间的自然关系。它也是导致E-R图变得流行起来的重要原因。上下文图是描述用户与信息系统之间的数据交互,是业务数据模型的关键之处。

第三步:基于键的数据模型。对于键,一般要遵循:1.在每个实体实例的生命周期中,一个键的键值不应改变;2.键值非空;3.确保键值有效;4.使用代理建来代替独立实体中的大型复合键。键值编码的类型推荐,当然可以组合使用:序列码、块状编码、字母编码、显著位置编码、层次编码。

第四步:泛化层次体系。抽出公共部分,用公共部分键代替其余实体中其存在。

第五步:具有完整属性的数据模型。使用自上到下和自下到上的方法,参考指南:1.组织命名方式和规定的简写方式;2.仔细选择属性的名称;3.现有表格和文件的物理属性名简写来节省空间;4.只有yes和no取值的属性名要以问题形式命名;5.外键是对非冗余规则的一个例外;6.一个属性域不应该是逻辑的。

5.分析数据模型

数据模型的推荐标准:1.足够简单;2.基本上无冗余;3.灵活并对未来需求具有抗修改的适应性。数据分析是为实现简单的、无冗余的、灵活并可扩展的数据库而准备数据模型的过程。规范化的过程用到的是数据库范式。前三个范式的总结:如果每个非主键属性都依赖于主键(整个主键),而且除了主键以外不在依赖于任何属性,这个实体实体就被称为是第三范式的。一般来说,工具仅可以做到满足第一范式,第二范式和第三范式需要人工处理。

6.将数据需求映射到地点

确定数据的位置和访问权限,数据-物理位置-CURD矩阵。一般来说,权限都是基于表操作的权限。

猜你喜欢

转载自blog.csdn.net/seacean2000/article/details/86303733