Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4027272
  • 博文数量: 626
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 11080
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-23 13:08
文章分类

全部博文(626)

文章存档

2015年(72)

2014年(48)

2013年(506)

分类: Sybase

2013-09-11 10:00:40

第八章 物理数据模型(Physical Data Model)


4、定义表检查约束的名称
表检查约束是保证表级数据完整性的一种重要手段。建立表的检查约束后,在数据库中将生成相应的表的约束,DBMS会根据建立的约束检查数据的完整性。
表的强制约束设置方法:双击视图中的表格,弹出Table Properties窗口,点击左下角的More>>,出现更多的选项卡,选择Check选项卡,在里面定义约束的名称。
列的强制约束的设置方法:表的特性窗口,找到Columns,单击Porperties,出现Column Properties弹出窗口,再选择Standard Checks选项卡,选择定义你要的约束。
5、创建计算列
计算列的值是由其它列的值通过一定的表达式计算产生的,
步骤:
(1)打开表特性窗口;
(2)单击Columns选项卡,单击空行或Add a Row工具;
(3)在Name和Code列中键入名称,单击应用按钮;
(4)双击新增列的行首箭头,打开列的特性窗口;
(5)选择Computed复选框,标记该列为计算列,单击Detail选项卡;
(6)在Computed expression内,直接键入简单的计算表达式。
注意:不是所有的DBMS都支持计算列。
6、键的约束名
可以帮助我们识别和定义键约束,为数据库生成过程中修改键约束提供了很多方便。
主键约束名可以使用变量%TABLE%,定义方法如下:
(1)在模型中双击一个表,在打开的表特性窗口,单击keys选项卡;
(2)选择一个主键,单击Properties工具,打开主键特性窗口;
(3)在Constraint name框键入名称,单击“确定”。
外键约束名可以使用4个变量:%REFRNAME%(参照的名称)、%REFRCODE%(参照的代码)、%PARENT%(父表的代码)和%CHILD%(子表的代码)。
候选键约束名可以使用3个变量:%AK%(候选键的代码)、%AKNAME%(候选键的名称)、%TABLE%(表的代码)。
7、域
列的数据类型可从列表中直接选择,也可以把列附加到域上。
在PDM中,使用域有助于识别信息的类型,易于使不同表中列的数据特征标准化。
域为列定义了一组有效的值。
域可关联到Data Type、Check、Rule和Mandatory等信息。
7.1)域特性:包括Name、Code、Comment、Data Type、Length、Precision、Mandatory、Identity、With default、Profile等基本特性。
其中:
Mandatory:表示使用该域的所有列的值是强制的;
Identity:表示使用该域的列值自动增益(仅用于Sybase10/11和SQL Server);
With default:表示当使用该域的列被插入空值时,列的值被赋予默认值;(仅用于Ingres、DB2、SQLBase、Xdb、Datacom和OpenIngres);
Profile:表示为使用该域的列分配测试数据定义文件。
7.2)创建域
方法:Model-->Domains,填入数据。
1)指定域的数据类型、长度和精度;
2)修改域特性;
3)使用抽象数据类型
抽象数据类型Abstract Data Type(ADT)是用户定义的数据类型。
ADT中既可以包含数据类型,还可以包含特定的功能。
逆向工程一个包含抽象数据类型的数据库后,抽象数据类型会自动增加到抽象数据类型列表中。
在PDM中,只有抽象数据类型存在于抽象数据类型列表中,才能成为域和列的有效数据类型。
在PDM中不能建立java类,只能指定一个抽象数据类型作为java类,然后把它连接到OOM模型中的java类。建立连接后,就可以在PDM中存取java类特性。
建立连接时,需要在抽象数据类型表中指定OOM中要连接的java类的名称和代码,并且在当前工作空间中打开OOM。
抽象数据类型的特性:Name、Code、Comment、Owner、Type等。
Type:定义抽象数据类型包含的组。
根据抽象数据类型的不同,还包括:Data type、Length、Precision、Size(对array有效)、连接的类名(对于java类型有效)、包含类声明的文件名和路径。

阅读(1894) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~