软件实现之数据建模

在进行大型信息系统设计时候,需要创建数据模型,其目的主要是为了更清晰地体现定义和构建数据的流和关系。

数据建模(data modeling)概述(三模式方法)

通过数据建模,有助于分析对支持业务流程至关重要的要求,有助于数据的可视化表示,并对信息实施业务规则。

过程从收集和分析数据相关和功能需求开始,之后,在构建实际数据库之前生成三个数据模型:

  1. 概念设计(UML、ERD、CDM),体现了用户视图的外部模式
  2. 逻辑设计(LDM),体现了概念架构集成了外部模式
  3. 物理设计(PDM、DBMS DDL),定义物理存储结构的内部模式

通常,在Window下,选用PowerDesigner数据模型工具,有3类模型的转换操作,CDM=>LDM=>PDM;另外,也可以直接省略LDM,直接创建CDM和PDM,或者直接创建PDM。

概念设计(CDM - conceptual design model)

  • 关键字:实体、实体关系、UML图、ER图、CDM
  • 参与人员:数据架构师、系统产品负责人、系统业务专家、系统负责人

由企业利益者或数据架构师,定义系统包含的相关实体、实体属性、实体关系,生成统一的建模语言UML或实体关系图ERD。

该阶段很少包含实际数据库结构的任何详细信息。

步骤

  1. 确定业务问题
  2. 确定概念模型中的实体
  3. 建立实体及实体间的联系

逻辑设计(LDM - logic design model)

  • 关键字:数据元素、主键、外键、LDM
  • 主要人员:数据架构师、业务分析师

通常,逻辑设计是通过数据架构师和业务分析师,将概念设计CDM转换为一个或多个逻辑数据模型LDM。每个文档都记录了数据元素的结构,设置了它们之间的关系,并定义了如何实现系统,而不管数据库管理系统(DBMS),可以理解为数据层上面的抽象。主键和外键的概念在此阶段发挥作用。

该阶段旨在将数据规范化以减少数据不足和冲突,虽然LDM任然独立于DBMS的,但却可以进行外部键,索引,视图等对象的设计工作。

物理设计(PDM - physical design model)

  • 关键字:DDL、PDM
  • 主要人员:开发人员、DBA

数据库管理员(DBA)和开发人员通常会创建它,完整的物理数据设计应包括所有数据库表、列、字段类型、字段长度、备注、索引、触发器、约束定义、链接表,分区表和集群。

该阶段基本已经明确了关联存储的数据库,因为它描述了如何在系统中实现;开发人员通过PDM,有助于可视化数据库结构并生成模式SCHEMA,为访问,性能和特定存储分配详细信息创建帐户,并添加要存储的数据,同时,它也有助于数据分析师计算存储估算。

数据建模的意义

  1. 加速数据库设计,降低人为错误:所有数据建模工具都旨在简化和加速数据库设计的创建,并最大限度地减少人为错误。
  2. 标准化数据设计,降低沟通成本:这些模型有助于确保命名约定,默认值,语义和安全性的一致性,同时确保数据的质量,有助于促进组织内外的沟通。
  3. 提供标准的DDL,优化数据库结构:数据建模软件有助于创建数据描述语言(DDL),生成对利益相关者有用的文档,并增加创建高性能数据库的机会。
  4. 降低维护成本:良好的设计减少了维护工作,降低了故障概率,提供了用户之间通信的机制,并且通常节省了他们执行任务的时间和精力。