IBM Rational Rose读书笔记 (6)

来源:互联网 发布:淘宝一件衣服不同价格 编辑:程序博客网 时间:2024/05/29 04:49
 
第十八章 Rose Data Model
本章介绍利用Rose建模应用程序的数据库。
创建数据模型的步骤
创建数据库
1.       增加数据库。
方法是:右击Component View,然后Data Modeler->New->Database。在规范中选择Target为相应的DBMS。
2.       增加表空间。
表空间是表中存储的逻辑单元。每个表空间可以有一个或几个容器,每个容器是一个物理存储设备。每个容器可以分为更小的单元,称为extent。表空间中的表在表空间内的容器之间均匀分布。每个表空间都有初始长度。用完这个空间之后,DBMS可以自动按预定增量增加表之间长度。增量长度可以在Rose中设置。即使设置增量,但Rose中还可以设置最大长度,容器不能超过这个长度。建立表控件之后,可以将表加入到表空间中。
方法:右击数据库,Data Modeler->New->Tablespace。
3.       在表空间中设置容器。

方法:表空间规范中选择Containers,在空白位置选择New。可以设置容器的文件名、处事长度、最大长度和每次增量。

增加保存数据模型的结构(Schema)并将结构(Schema)赋予数据库。
1.       增加结构:
在Rose中Schema是数据模型的容器。所有表、字段、触发器、限制和其它数据模型单元都放在结构中。两个例外是域和数据库本身。前者放在域包中,后者放在Component视图中。
每个Scheme映射模型中的数据库。每个数据库可以包含一个或多个Schema。对schema指定的DBMS要与对schema的数据库指定的DBMS相同。
方法:右击LogicalView,Data Modeler->New->Schema。在规范窗口中设置Database为之前添加的数据库。
2.       创建数据模型框图

方法:右击浏览器中的一个Schema,Data Modeler->New->Data Model Diagram。

创建域和域包
1.       域用来执行业务规则,如必须的字段、字段有效值和字段默认值。域是种模式,一旦建立之后,可以适用于数据库中的一个或多个字段。域必须放在域包中。每个域包指定特定DBMS。一个域可以应用于多个Schema。
2.       创建域包的方法:右击Locical view,选择Data Modeler->New->Doman Package。在规范窗口中设置使用的DBMS。

3.       创建域的方法:Data Modeler->New->Domain。

在每个结构中增加表格

      建立结构之后,可以在其中创建表格。数据库中的每个表建模为Rose中的持久类,构造型为Table。方法:右击Schema,选择Data Modeler->New->Table。

在表中增加细节(字段、限制、触发器、索引、主键)
1.       增进列(字段):
类分为数据列和计算列。计算列是SQL语句从一个或几个其他列计算的来。MS Sql Server还支持标识列,是系统生成数据的列。
字段可以设置属性,一种方法是依次指定类型、唯一性、是否主键、是否空值等属性;另一种方法是指定一个之前设置的域。这就是域的好处,可以事先指定一个模式,然后供多个字段使用。
可以给字段指定一个限制。表示该限制为真时,表格才能更新。
2.       增加键限制:
键限制有三种:主键限制、唯一限制和索引。
主键限制保证主键字段种输入的值不是NULL,而且唯一。Rose在创建主键时自动创建主键限制。
唯一限制保证列中输入的值唯一。
索引可以帮助迅速访问记录。
3.       增加触发器:
触发器是遇到特殊事件时运行的SQL过程。触发器可以在插入、修改或删除行时运行。
4.       增加存储过程。
5.       对表增加限制。

限制在本章出现了三次:表限制、字段限制和域限制。

在表之间增加关系和增加外部键。
      数据模型中的关系连接两个表。Rose支持两种表间关系:标识关系和非标识关系。
      对这两种情况,子表中都会增加外键来支持关系。对标识关系,外键称为子表中主键的一部分。这时,子表中的记录必须链接父表中的记录。非标识关系的区别是外键不必须是子表中主键的一部分。
      外键是在子表中的,对应的主键在父表中。
      关系可以指定一个基数来表示一个表中的一行对应着另一个表中的行数。
      可以添加引用完整性。包括两种:触发器和声明式。前者表示限制在父表更新或删除时运行一个触发器,后者表示限制在外部键从句中声明一个限制。完整性限制包括下面几种:
1.       Cascade:更新或删除父表时,所有子记录更新或删除
2.       Restrict:阻止父表更新或删除
3.       Set Null:更新或删除父记录时,将子记录中的外键设为NULL。
4.       No Action:不执行完整性限制

5.       Set Default:更新或删除父表时,将子记录中的外键设置为默认值。

创建视图。
从数据模型创建对象模型。
      方法:右击Schema,Data Modeler->Transform to Object Model

      从对象模型到数据模型:右击Logical视图中的包Data Modeler->Transform to Data Model。

通过Update特性让数据库与模型同步。
      方法:右击Schema,Data Modeler->Compare and Sync
从数据模型生成数据库
      方法:右击Schema->Data Modeler->Forward Engineer。可以生成ddl文件或者直接写入指定的数据库中。

      从数据库到数据模型:方法:Tools->Data Modeler->Reverse Engineer,可以从ddl文件或数据库中导出表结构到数据模型。