工件:
|
![]() |
数据模型描述应用程序使用的持久数据的逻辑表示法和实际表示法。如果应用程序将利用关系数据库管理系统(RDBMS),数据模型可能还包括存储过程、触发器和约束等的模型元素,它们定义了应用程序组件与 RDBMS 的交互。 | |
角色: | 数据库设计员 | |
---|---|---|
可选/发生: | 可选。先启和精化阶段。 | |
模板和报告: |
|
|
示例: | ||
UML 表示: | 构造型为 <<model>> 的包。 | |
更多信息: | ||
活动的输入: | 活动的输出: |
数据模型用于描述受系统管理的持久信息的逻辑结构和实际结构。数据模型最初可以通过对现有的持久数据存储(数据库)进行反向设计来创建,或可根据设计模型中的一组持久设计类来创建。
只要持久存储机制以某一非面向对象技术为基础,就需要数据模型。如果无法从设计模型中的持久类结构自动地和机械地派生出持久数据结构,就特别需要数据模型。它用于定义持久设计类和持久数据结构之间的映射,并用于定义持久数据结构本身。
下面的属性表描述了数据模型的元素。该表中所包含的模型属性的定义与 Unified Modeling Language(UML)V1.3 规范的数据建模概要信息一致。UML V1.4 的数据建模概要元素尚未定义。
属性名 | 简短描述 | UML 表示 |
---|---|---|
简介 | 文本描述,作为模型的简介。 | “短文本”类型的标记值。 |
包 | 用于组织分组的包。 | 通过关联“代表”拥有,或通过聚集“拥有”递归拥有。 |
表 | 数据模型中的表,由包所拥有。 | 类,构造型为 <<Table>>。 |
关系 | 模型中各表之间的简单关联。 | 关联,构造型为 <<Non-Identifying>> |
稳固关系 | 模型中各表之间的组装关系。 | 关联,构造型为 <<Identifying>> |
依赖关系(视图对表) | 表、视图和其它模型元素之间的依赖关系 | 依赖关系,对表和视图之间的依赖关系,构造型为 <<Derive>> |
列 | 表的数据值。 | 属性,构造型为 <<Column>>。 |
领域 | 用户定义的数据类型。 | 类,构造型为 <<Domain>>。 |
视图 | 虚拟表,由一个或更多表的列组成。 | 类,构造型为 <<View>>。 |
图 | 模型中的图,由包所拥有。 | 描绘表及其关系的类图,以及描绘模型中的表到表空间组件和数据库组件的实现的组件图。 |
索引 | 数据访问结构,用于加快沿指定路径的访问。 | 操作,构造型为 <<Index>>。 |
触发器 | 与表相关联的、事件激活的行为。 | 操作,构造型为 <<Trigger>>。 |
检查约束 | 关于列或表的验证规则。可以由某一范围内的有效值或计算结果组成。 | 操作,构造型为 <<Check>>。 |
独特性约束 | 指定一列或数列中的数据不得重复。 | 操作,构造型为 <<Unique>>。 |
存储过程包 | 类,用作存储过程操作的“容器” | 类,构造型为 <<SP_Container>> |
存储过程 | 显式调用的行为,与表或与整个模型相关联。 | 操作,构造型为 <<SP>>。 |
模式 | 表示数据库整体结构的数据模型元素容器。用于管理表的安全性和所有权。 | 包,构造型为 <<Schema>>。 |
数据库 | 代表实际数据库的模型元素 | 组件,构造型为 <<Database>> |
表空间 | 数据库中的实际存储单元 | 组件,构造型为 <<Tablespace>> |
作为建立体系结构原型的一部分,可以在先启阶段启动数据模型,以理解现有的可重用资产或起动设计。在精化阶段,根据降低风险并支持重要体系结构用例的需要来开发数据模型。特别的,在精化阶段,需要有一个稳固的机制用以从应用程序的剩余部分访问持久数据存储器(多数情况下是数据库),这通常是很重要的。
数据库设计人员负责数据模型的完整性,确保数据模型在整体上是正确、一致和可理解的。
对于几乎没有持久数据的项目,或者具有从设计类到持久机制的直接了当转换的项目,可能不需要单独的数据模型。对于为了持久性而利用 RDBMS 的项目,将需要定制数据模型来实现底层数据库的特定语义,这种语义可能因 RDMBS 而稍有变化。
Rational Unified Process
|