数据建模
1 目的
数据模型描述了与领域相关的实体、类或数据对象,用于描述它们的属性以及它们之间的关系,以提供分析和实现的一组通用语义。
2 描述
数据模型通常以图表的形式呈现,并辅以文本描述。它通过可视化方式表示业务中重要的元素(例如,人员、地点、事物和商业交易),与这些元素相关的属性以及它们之间的显著关系。数据模型经常用于需求分析和设计以及实现和支持持续改进。
数据模型有多种变体:
- 概念数据模型:与任何解决方案或技术无关,可用于表示业务对信息的看法。它可用于帮助建立描述商业信息及其内部关系的一致术语集。
- 逻辑数据模型:它是概念数据模型的一种抽象,其中包含规范化的规则以正式管理数据及其关系的完整性。它与解决方案的设计有关。
- 物理数据模型:由实现主题专家用于描述数据库物理组织方式。它关注性能、并发性和安全性 1等问题。 概念、逻辑和物理数据模型是为了不同的目的而开发的,即使在描述相同的域时也可能存在显著差异。
在概念层面上,不同的数据建模符号可能会产生大致相似的结果,并且可以视为一种单一的技术(如在这里所示)。 逻辑和物理数据模型包含特定于所支持解决方案的元素,并且通常由具有实现特定技术解决方案专业知识的涉众 2开发。 例如,用于实施关系数据库的逻辑和物理实体关系图 (ERD),而逻辑或物理类图用于支持面向对象软件开发。
对象图可用于说明数据模型中的特定实体实例。它们可以包含属性的实际示例值,使对象图更加具体且更容易理解。
3 元素
.1 实体或类
在数据模型中,组织会保留实体(或类、数据对象)的数据。一个实体可能代表物理的东西(如仓库)、组织的东西(如销售区域)、抽象的东西(如产品线),或者事件(如预约)。实体包含属性,并与其他模型中的实体有关系。
在类图中,实体被称为类。就像数据模型中的实体一样,类包含属性,并与其他类具有关系。类还包含操作或函数,用于描述可以对类执行的操作,例如生成发票或开户。
实体或类的每个实例都将有一个唯一的标识符,使其与其他实例区分开来。
.2 属性
属性定义与实体相关联的特定信息,包括可以捕获多少信息、允许值以及表示的信息类型。可以在数据字典(参见 数据字典)中描述属性。 允许值可以通过业务规则指定(参见 商业规则分析 3)。
属性可以包括如下的值:
- 名称:属性的唯一名称。其他涉众使用的其他名称可以捕获为别名。
- 值/意义: 属性可接受值的列表。 这可以表示为枚举列表,也可以表示为数据格式(包括字符数等)的描述。 如果值被缩写,则会包含对含义的解释。
- 描述:解决方案中属性的定义。
.3 关系或联合
实体之间的关系为数据模型提供了结构,具体说明哪些实体与哪些其他实体相关,以及如何相关。 关系规范通常指明该关系每边允许的最少和最多出现次数(例如,每个客户都恰好属于一个销售区域,而一个销售区域可能属于零个、一个或多个客户)。术语”基数(cardinality)” 用于表示实体可以关联的最小和最大数量。典型的基数(cardinality)值为零、一和多。
两个实体之间的关系可以使用这种格式,从任意一个方向读取:
每个实例(此实体)都与(最小值,最大值)另一个实体相关。
在类模型中,术语“关联”用于代替“关系”,术语“多态性”用于代替“基数”。
.4 图表
数据模型和类模型都可能有一个或多个显示实体、属性和关系的图表。
数据模型中的图表被称为 实体关系图 (ERD)。在类模型中,该图表被称为 类图 。
.5 元数据
数据模型可选地包含元数据,描述实体代表什么、何时以及为何创建或更改、如何使用、使用频率、何时由谁使用。可能有关于它们的创建或使用的限制,以及关于特定实体或整个实体组的安全性、隐私性和审计约束。
4 使用考虑
.1 优势
- 可用于定义并传达领域主题专家和实施主题专家一致使用的词汇。
- 逻辑数据模型的审查有助于确保持久性数据的逻辑设计正确地表示业务需求 4。
- 提供一种分析和记录数据及其关系的一致方法。
- 提供不同层次的信息,为不同的受众提供足够的信息。
- 通过对企业所持有的信息进行正式建模,可能会发现新的需求,因为不一致之处被识别出来。
.2 限制
- 过于严格地遵循数据建模标准可能会导致对没有IT背景的人不熟悉的数据模型。
- 可能跨越组织内的多个功能领域,因此超出了个别涉众的业务知识 5基础。