级别: 初级 Susanta Datta (sdatta@ca.ibm.com), Software Engineer, Visualizer Core Services, IBM Research at Ottawa Lab
2005 年 7 月 17 日 Rational Application Developer (RAD) 6.0 引入了一种新的可视化数据建模的特性。RAD 6.0 支持三种工业标准设计符号 IDEF1X 、信息工程(IE 或者 Crow 的 Foot) 和UML。在本文中,我将通过在 RAD 6.0 中可视化构建一个数据模型的例子来讨论这些新特性。
介绍
一个数据模型就是对构建一个数据库的规划。为了是数据模型更加有效,它必须足够简单以使最终用户能够沟通必需的数据结构,同时它也要足够详细以使数据库设计人员能够创建物理结构。IBM® WebSphere® Studio Application Developer (WSAD) 版本 5.1 支持开发逻辑数据模型并在随后将其导出到一个数据库域(像DB2,Oracle,等等)来创建一个物理的数据库。 IBM® Rational®
Application Developer (RAD) 版本 6.0 引入了可视数据模型设计的特性。它支持三种工业标准符号:IDEF1X, Information Engineering (IE),以及 UML(统一建模语言)。你可以使用一个特性丰富的、简单的并且用户界面友好的数据面板工具,通过击几下鼠标就能开发出一个完整的数据模型。同时,你也可以通过使用 Java Database Connectivity (JDBC)连接数据库来可视化已存在的数据库。
在可视化编辑器中设计一个数据模型
本文不会详细的描述数据建模的重要性。简单地说,就像你不会在没有蓝图的情况下就修建一栋房子一样,你决不应当在没有数据模型的情况下就设计一个数据库。RAD 6.0 版本增强了你在构建数据模型的能力,可以让你创建几种类型的图:类图,IDEF1X 图和 IE 图。它的用户界面友好的数据工具面板可以让你直接创建以下的内容到一个图中:
- 数据库
- Schema(只是在类图中)
- 表
- 主键和外键
- 视图
- 存储过程(只在类图中)
- 用户自定义函数
创建一个数据库
设计一个数据模型的第一步是创建一个简单的项目(叫MyDataModel),并打开 Data 透视图。一旦数据定义视图处于活动状态:
-
选择数据定义视图中的项目文件夹。
- 右键点击并从上下文菜单中选择New Class Diagram。
- 给类图起一个名字,叫classdiagram1。然后点击Finish。
- 这就创建并又打开了类图。
- 从数据面板(在窗口的右边)中选择 Database 创建工具,如图1所示。
| |
图1:创建一个数据库 |
- 在图上点击。
- 提供一个数据库名(例如CRM)。选择一个数据库厂商类型(Cloudscape v5.1),并点击Finish。
你已经创建了一个新的数据库,CRM。你需要在数据定义视图中展开项目文件夹,以看到新创建的数据库。数据库将会在类图中被表示为一个 UML 组件(如图2所示)。
| |
图2:你在类图中新建的数据库 |
创建表
现在创建两个表,Customer和Orders,以及表之间的一个引用完整性。
- 从面板中选择 Table 创建工具。
- 在图上点击。
- 提供一个 Schema 名字,例如 schema1 然后点击Next。
- 输入一个表名, Customer ,然后点击Next。
- 输入以下列:cust_id (设置为主键列) ,name,address和phone。
- 点击Finish。
这就创建了一个 schema schema1 和一个 表 Customer。
展开CRM下的 schema 文件夹 schema1,你可以在数据定义视图中看到表 Customer 。表 Customer 将会在图中被表示为一个 UM L类。现在,创建第二个表, 名为 Orders。
- 从面板中选择 Table 创建工具。
- 在图上点击。
- 提供一个表名 Orders,然后点击Next。
- 输入以下列:ord_id,quantity,date,并点击Next
。
- 留下空的主键,并点击Next。
- 在外键页面中(如图3所示),增加一个新的外键 ord_cust_key。选择
Customer作为Target Table,并从 Source Columns 中选择ord_id。
| |
图3:增加新的外键 |
- 点击Finish。
表 Orders 将会在图中被表示为一个 UM L类。图4描述了由一个表之间的 UML 关联所表示的引用完整性(外键关系)。
| |
图4:表和它们之间的关系 |
另外一种创建主键和外键的方式
主键也可以通过选择工具面板中的 Primary Key 工具并在表上点击一下进行创建。要转换一个已有的列成为一个主键,在图中点击这个列(类中的属性)。将会打开一个向导,并且在点击Finish 按钮后,将用列旁边的一个钥匙图标来显示表中的主键。通过 Foreign Key 工具创建一个外键也是非常容易的。首先,在面板中选择 Create Foreign Key 工具,然后选择源表。按住鼠标右键,并拖至目标表。目标表必须有一个主键。
创建视图、存储过程和用户自定义函数
面板工具也支持创建视图、存储过程和用户自定义函数。要创建它们,从面板中选择合适的工具,并在图上点击。为了创建这些数据模型元素,在数据库中必须有一个 schema 。如果在数据库中有多个 schema,那么你就要在数据定义视图中选择合适的 schema,然后在图上点击。请注意,只有 DB2 express 和 DB2 universal 数据库支持创建存储过程和用户自定义函数。
可视化已有数据模型
支持 JDBC 连接的一个本地或远程数据库能够拥有其可视化的数据库元素,包括元素之间的所有关系。为了可视化数据元素,首先从数据库服务器视图中建立一个JDBD连接。在图5中显示的例子连接到一个 Cloudscape 数据库--Cloudscape 也是与 IBM® Rational® Software Architect(RSA)一起提供的。
| |
图5:创建一个 JDBC 连接 |
- 右键点击data server view并选择 new connection。
- 选择Choose a database manager and JDBC driver 并点击 Next。
- 按照图5所示的向导填写信息。
- 选择 JDBC driver 作为 Cloudscape Embedded Driver。
- 点击 Browse 按钮并选择 Database location 。C:\Cloudscape_5.1\demo\databases\toursDB 演示数据库作为 Cloudscape 例子。
- 选择一个驱动的 Class location 。本例中选择 C:\Cloudscape_5.1\lib\db2j.jar。
- 点击Finish。
数据库 toursDB 在连接文件夹下被添加。展开一个 schema ,选择你希望可视化的表,并右键点击Visualize
-> Add to New Diagram File -> Class diagram。这将会在一个新项目下的一个类图中创建一个表,如图6所示。
| |
图6:可视化你的模型 |
显示与一个表相关联的所有外键
要看到维护一个特定表的引用完整性的所有表,选择该表并执行上下文菜单Filters -> Show Related
Elements。对所选择的表具有外键关系的所有表--以及来自所选表的所有外键表--将会在下面的图7中被可视化的显示出来。
| |
图7:可视化表之间的关系 |
数据元素属性
要查看任何模型元素的属性,在图中选择元素并右键点击Show Properties View。因为属性浏览器中的所有属性都是只读的,因此要修改属性,必须在编辑器中打开元素并从那里进行更新。
修改数据模型元素
某些属性可以从图中进行修改--例如,在一个表中增加一个新列,等等。但是在大多数情况下,你需要在模型编辑器中打开他们。例如,要更新一个表,在表上右键点击。这会打开表编辑器,让你可以修改和保存表。所有更新将会立刻反映到图中。注意,如果一个模型编辑器处于打开状态,图中的元素就不会被更改。编辑器需要被关闭,以在图中修改元素。
将一个表映射到 EJB
表可以被映射到 Enterprise JavaBeans (EJB),反之亦然。RAD 6.0 版本支持映射一个本地表--也就是一个只读表(在数据服务器视图中)--到一个 EJB 。当一个表被映射到一个 EJB,它就创建了一个 EJB 对象(或让你使用一个已有的项目),然后将当前表复制到 EJB 项目中的一个映射目录下。要将一个表映射到一个 EJB :
- 从数据查看器或在一个图中选择表。
- 右键点击,并选择Create EJB from Table 。
- 提供一个新的 EJB 项目,名为myEjbproj。
- 创建一个新的目标服务器 。
- 点击Finish。
现在你已经创建了如图8所示的映射。
| |
图8:一个映射到一个 EJB 的表 |
IDEf1X 和 IE 图
到目前为止,只有 UML 符号已经被用于显示这些图形,但是你也可以用 IE 或 IDEF1X 符号来创建所有这些图形。当创建一个图时,可以有三种选择:类图 、IE图和 IDEF1X 图。一旦图被创建出来,图中的这些图形就会被特定的图类型所表示。对以上数据模型使用 IDEF1X 符号的例子如下面的图9所示。
| |
图9:使用IDEF1X 符号的数据模型 |
图10显示了相同模型的IE标记形式。
| |
图10:使用 IE 符号的数据模型 |
总结
我已经展示了如何创建和查看一个简单的数据模型,而这只需要在 IBM 的 Rational Application Developer 6.0 版本中点击几下鼠标。在本文中,我已经讲述了可视化数据建模的非常少的几个重要部分;你可以用这个可视化编辑工具做更多的事情。
参考资料
参考资料
关于作者  | |  | Susanta Datta 是 IBM Ottawa 实验室的软件工程师。他工作在 Aurora Platform|Visualizer Core Services 团队。他的专业技术包括 UML 的可视化建模。他拥有 Ottawa 大学计算机科学的硕士学位。你可以通过sdatta@ca.ibm.com联系到他。 |
对本文的评价
|