powerdesigner创建pdm中pdm模型能放在package中吗

2456人阅读
PowerDesigner(13)
一、PDM概述
  PDM(物理数据模型),通俗地理解,就是在PowerDesigner中以图形化的方式展示和设计数据库。
  PDM中涉及到的基本概念包括:
表;列;视图;主键;候选键;外键;存储过程;触发器;索引;完整性检查约束;
  以上这些都是数据库的概念,不适合在PowerDesigner里面表述。
二、创建PDM
  创建PDM有4中方法:
使用设计环境直接创建PDM;从现有数据库或通过SQL脚本逆向工程创建PDM;从CDM采用内部模型生成方法建立PDM;从OOM中的类图采用模型的内部生成方法建立PDM;
  利用CDM生成PDM是最符合设计思路的方法,但在很多企业开发过程中,都是在设计环境中直接建立PDM,因为大部分企业没钱发那么多工资你设计那么多图。
  1、在设计环境直接建立PDM
  在设计环境直接建立PDM的步骤如下:
  1、在PowerDesigner主窗口选择File-&New Model,在打开的创建左侧选择Physical Data Model选项
  2、右侧选项的意义
Model name:模型名称;DBMS:数据库类型,也可以单击后面的文件夹按钮,选择“浏览文件夹”,选择xml文件作为目标(CDM转PDM);Share the DBMS definition:共享数据库定义;Copy the DBMS definition in model:从数据库定义中拷贝,用于CDM转PDM;First Diagram:创建一个PDM,默认会有一个Diagram,这里是选择这个Diagram的类型;
  3、Extended Model Definitions选项卡的意义
  当通过PowerBuilder来开发时,若选中PowerBuilder则生成的PDM可以从Catalog表中获取表和列的扩展属性。
  4、点击“确定”按钮,打开新建的PDM设计窗口
  工作区包括左侧的浏览窗口、右侧的设计窗口、下侧的输出窗口和浮动的工具窗口,可以利用工具窗口中的图标在设计窗口中设计PDM。
  <span style="color:#、各种图标的作用
  在建立PDM之前,可以定义PDM的显示参数,以满足PDM的显示需求。
  2、定义PDM的显示参数
  1、Tools-&Display Preferences打开设置窗口,在General节点中设置整个模型的显示参数。
  各个选项含义如下:
Window color:窗口颜色;Unit:长度度量单位。Inch(英尺)、Millineter(毫米)和Pixel(像素);Grid:网&#26684;线;Diagram:Show page delimiter:显示分页线;Constrain Labels:是否需要限定选项卡和连接对象的距离;Content节点:设置在图形窗口PDM中每类对象的显示样式的参数。Format节点:设置每类对象的显示&#26684;式,如大小、变现颜色、填充颜色、阴影、字体等;Modify:按钮可以进行更详细的设置;
  3、定义PDM的模型属性
  在Model Properties(模型属性)窗口中修改模型属性的方法如下:
  1、选择Model-&Model Propertise命令或右击图形窗口的背景,在弹出的快捷菜单中选择Properties命令
  各个选项的含义如下:
Name:名称;Code:代码;Comment:注释;File name:文件名;Author:作者;Version:版本;DBMS:数据库管理系统Database:数据库名称Default diagram:打开模型时默认显示的图;
  2、单击Database后面的Create图标,进入Database Propertise窗口。在窗口中可以配置创建数据库选项
General:通用属性;Name:数据库的名称;Code:数据库的代码;DBMS:数据库的类型;Rules:规则;Script:插入到数据库SQL脚本开始和结束为止的脚本;Physical Options:数据库可利用的物理选项;
三、创建表
  创建表的方式,只点击工具栏的Table图标就可以了。
  其他属性页的意义分别为:
  Column(列)、Trigger(触发器)、Keys(键)、Procedure(存储过程)、Rules(规则)、Indexes(索引)和Check(约束);
四、创建列
  1、创建列
  1、列的基本属性
  列的基本属性如下:
Name:列名;Code:列的代码;Data Type:数据类型;Domain:以域作为数据类型;Comment:注释;M:非空;P:主键;D:在图形窗口显示;
  选中某一列,单击Propertise图标(或双击列),打开Column Properties窗口,在其中可以定义列的其他属性。
  General选项卡属性如下:
Displayed:是否在图形符号中显示;Foreign Key:外部键;Computed:计算列;Mandatory:非空;Identiry:自增;
  Detail选项卡可以定义的属性如下:
Column fill parameters:Null values(允许空&#20540;列个数的百分比)、Distince values(允许不同&#20540;列个数的百分比)和Average length(列&#20540;的平均长度);Test data parameters:Profile(测试数据的取&#20540;)。单击右面的List按钮,可以进一步定义测试的取&#20540;方式,可以是字符型、数&#20540;型或日期/时间型;Computed expression:定义计算列表达式;
  2、创建计算列
  计算列是通过表达式对其他列的&#20540;进行运算后得到的结果。
  (1)、在列的通用的数据约束定义窗口中,单击Computed expression列表框右面的Edit With SQL Editor按钮,弹出计算列表达式定义窗口:
  当数据库选择的是MySQL时,是没有这个框的(因为是MySQL没有计算列这个概念)。
  3、约束
  Standard Checks选项卡,用于在其中定义约束。
Values:Minimum(最小&#20540;)、Maximum(最大&#20540;)和Default(默认&#20540;)。Characteristics:Format(显示&#26684;式)、Unit(单位)、Uppercase(大写字母)、Lowercase(小写字母)和Cannot modify(不允许修改)。List of values:定义取&#20540;列表。
  4、命名约束
  Additional Checks选项卡专门用于定义命名约束
  5、创建序列
  双击列,进入列属性
Start with:起始数字Min value:最小&#20540;;Max value:最大&#20540;;Incremented by:增量&#20540;;
五、创建参照及参照完整性
  参照是父表和子表之间的连接,它定义了两个表中对应列之间的参照完整性约束。
  1、参照模型设置
  模型选项决定了参照的特性,可以通过Tools-&Model Options打开模型选项(Model Options)窗口。
  建议那两个Auto什么的属性还是的勾去掉吧,手动搞,好像有点难看的明白这两个选项的意思。
  模型项与连接的关系
  选项意义:
Unique code:表示模型中的参照代码唯一;Auto-reuse columns:表示同父表主键拥有相同的代码列或子表列不是其他表的外键,则该列被当做子表的外部键;Auto-migrate columns:表示产生参照时,父表的主键将迁移到子表中成为外部键;Domain:表示如果选中Auto-migrate columns和Domain复选框,在建立参照时,主键的域将迁移到外部键上;Check:表示如果选中Auto-migrate columns和Check复选框,在建立参照时,主键的检查参数将迁移到外部键上;Rules:表示如果选中Auto-migrate columns和Rules复选框,在建立参照时,主键的业务规则将迁移到外部键上;Primary Key:表示参照连接主键列到外部键列;User-defined:表示参照不产生连接;
  Auto两个复选框的意义:
  2、创建参照及定义相关属性
  创建参照的具体方法:
  1.在PDM模型的Palette工具栏中单击Reference图标;
  2.双击新建立的连接,打开Reference Properties窗口,在其中可以修改参照的各个属性:
Name:参照名;Code:参照代码;Comment:注释;Parent table:参照的父表;Child table:参照的子表;Generate:是否在数据库中生成参照;Joins选项卡可以定义表与表之间的连接;
  3.Join(连接)可以用来连接主键、候选键和外部键,或在用户指定的列之间建立连接;
  4.连接可以通过上节的模型选项自动建立,也可以手工建立;如果手工指定,也可以利用Reuse Columns图标、Migrate Columns图标和Cancel Migration图标实现列重用或迁移。
Reuse Columns:重用子表中存在并与父表相同的列;Migrate Columns:表示将父表的主键迁移到子表中作为外部键;Cancel Migration:表示删除从父表中迁移到子表的所有列;
  5.Integrity选项卡用来定义参照完整性。主要用于设置父表中修改或删除参照列的数据对子表的影响。
Constraint name:约束名,生成SQL脚本时使用此名称。Implementation:实现方式;
  选项意义:
  Declarative:声明式,吧参照完整性约束定义为一种特殊引用。
  Trigger:通过触发器在相应DBMS中维护数据的有效性;
Cardinality:基数。表示父表中的每个实例,子表中可能拥有的实例的最少和最多数。Update/Delete constraint:表示修改父表列&#20540;后子表列&#20540;如何修改:
  None:修改或删除父表,对子表无影响;
  Restrict:如果子表中存在一个或多个对应&#20540;,不能修改或删除父表中的&#20540;;
  Cascade:修改或删除父表中&#20540;的同事将子表中对应的&#20540;也修改或删除;
  Set null:修改或删除父表中&#20540;的同时将子表中对应的&#20540;置为NULL;
  Set Default:修改或删除父表中&#20540;的同事将子表中对应的&#20540;置为默认&#20540;;
Mandatory parent:是否强制子表中的外部键列&#20540;都必须在父表中有相应的列&#20540;;Check on commit:是否在提交时验证参照完整性;Change parent allowed:是否允许修改父表中参照列的&#20540;;
  6.此外,还可以修改参照图符号上显示的文本信息,以满足不同系统的需求。
  此PDM模型窗口中选择Tools-&Display Preferences命令,打开Display Preferences窗口,单击Object View-&Reference节点。
Name:参照的名称;Constraint name:参照完整性约束的名称;Join:两个表相同列的连接名称;Rederential integrity:参照完整性;Cardinality:基数;Implementation:参照完整性实现的方式;
  设置参照完整性后的例子如下:
六、创建域
  在PDM中,使用域有助于识别信息的类型,易于使不同表中列的数据特征标准化。域为列定义了一组有效的&#20540;,可以把Data Type、Check、Rule、Mandatory等信息关联到域上。
  1、创建域
  1、打开PDM模型,选择Model-&Domains命令,在空白行单击,可以增加一行。分别在Name、Code和DataType栏中输入名称、代码和数据类型;
  2、单击空白行可以增加一行;
  3、双击行前面的箭头,可以进入属性设置:
  其中General选项卡主要意思如下:
Name:名称;Code:代码;Comment:注释;Data type:数据类型;Length:长度;Profile:测试数据定义文件;
  其他选项卡与前面的类&#20284;。
  2、使用抽象数据类型
  在为域选择数据类型时,可以指定抽象数据类型。抽象数据类型是用户自定义的数据类型。ADT数据类型因数据库系统而存在差异,在PowerDesigner系统中允许使用的ADT数据类型如下表:
固定长度元素的集合
Varray Oracle8
不固定长度对象的集合
Table Oracle8
Java Adaptive Server Anywhere
包含属性列表的对象
OBJECT Oracle8
Structured
包含属性列表的结构体
NAMED ROW TYPEDB2
.Net通用语言运行时
Microsoft SQL Server 2005
  1、普通的抽象数据类型
  打开PDM模型,选择Model-&Abstract Data Types命令。
  双击行进入
  2、OBJECT类型的抽象数据类型
  如果在Type下拉列表框中选择OBJECT选项,即可建立一个抽象数据类型对象。
  选择Attributes选项卡,在Name、Code和Data Type栏中分别输入。
七、创建表中的键
  键是表中可以唯一识别一条记录的一个或多个列的集合。PDM支持两种类型的键:主键、候选键。
  1、主键
  定义主键很简单,选中作为主键列的P复选框即可。
  如果利用了逆向工程,从已经存在的数据库逆向到PDM模型,可能无法生成主键或者在你想工程数据库时没有选择重建主键选项,此时需要重建主键。
  重建主键的方法:
  1、选择Tools-&Rebuild Objects-&Rebuild Primary Keys命令。
  2、打开Primary Key Rebuild窗口;
  3、选择要重建主键表前的复选框,确定;
  2、候选键
  候选键(Alternate Key)指一列或多列,表中每条记录的列&#20540;都是唯一的。每个候选键都在数据库中生成唯一索引或唯一约束。
  1、打开表的Keys选项卡,在空白的Name或Code栏中单击,系统自动增加一个新键。设置键的名称和代码;
  2、双击新键行的行首箭头,在打开的Key Properties(键属性)窗口中选择Columns选项卡,该选项卡列出了键包含的所有列;
  3、单击Add Columns图标,在窗口中列出了表中包含的所有列,选择一个或几个需要的列;
  3、键的约束名
  利用PDM生成数据库脚本时,键也包含在其中,为了方别识别和修改,需要为其定义统一的约束名。如果不指定,系统会自动建立一个默认的。
  选择定义了主键的表,双击鼠标打开表属性,选择Keys选项卡,显示所有的主键和候选键,选中其中一个,单击其中的Properties,在Constraint name文本框中输入键的名称。
八、创建索引
  1、创建索引
  建立索引的具体方法如下:
  1、在表属性窗口,选择Indexes选项卡,空白行单击,系统会自动给出索引的名称和代码,可以根据需要进行修改。
  2、单击Properties图标,打开Index Properties,General选项卡的条目含义为:
Name:索引名称;Code:索引代码;Comment:索引注释;Table:包含索引的表;Type:索引的类型,普通索引、全文索引、Xml索引Unique:唯一索引;Cluster:聚集索引;
  3、选择Columns选项卡,可以选择索引包含的列;
  2、重建索引
  重建索引具体方法如下:
  Tools-&Rebuild Objects-&Rebuild Indexes命令,打开Index Rebuild(重建索引);
  各选项含义如下:
Primary key:重建主键索引;右边输入为主键索引名称:%TABLE%_PKOther keys:重建候选键索引,右边输入为默认的候选键索引名称:%TABLE%_AKForeign key indexes:重建外部键索引,右边输入为%REFR%_FKForeign key threshold:建立外部键索引所需的表最小记录数Delete and Rebuild:重建索引之前删除已存在的索引Add missing indexed:只增加缺少的索引
  在Selection选项卡中选择需要重建索引的表;
九、创建视图
  创建视图有两种方法:
  1、选择表,Tools-&Create View命令,建立包含所选表全部字段的视图;
  2、建一个空视图,然后选择表或直接定义SQL语句。
  第二种方式操作如下:
  用工具栏的View图标,创建一个视图,双击进入视图View Properties(视图属性)窗口。
  其General选项卡的基本属性含义如下:
Name:视图的名称;Code:视图的代码;Comment:视图的用途;Usage:视图的用途;query only:只用于查询;Updateable:用于查询和修改;With check option:在视图插入数据时要收到表中已定义约束的限制;Dimensional Type:维度类型;Generate:是否在数据库中生成视图;User-defined:在用户自定义视图时是否访问查询编辑器;
  选择SQL Query选项卡,为视图定义对应的SQL语句。
  点击Edit With SQL Editor进入SQL编辑器能够非常方便地书写SQL语句。
文章转载自:/kissdodog/p/4140244.html
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:169810次
积分:2450
积分:2450
排名:第13758名
原创:37篇
转载:256篇
评论:15条
(3)(6)(1)(7)(1)(44)(28)(13)(69)(62)(33)(26)posts - 37,&
comments - 9,&
trackbacks - 0
/zhougw03/blog/item/df08da3dfe214bc19f3d6292.html
ASA SQL 用户指南
/developer/product_manuals/sqlanywhere/0902/zh/html/dbugzh9/dbugzh9.htm
模型检查中的Existence of reference问题
在tool-& check & model&
当中选中option & 标签,然后选中table,接下来展开的东西你就明白了
不是存在重复的名,而是默认情况下你的每个表都要建立索引/关联什么的.&
你可以在powerdesigner当中调整警告级别,不让其检查这个就可以了
http://topic.csdn.net/u//d28fff5c-e726-4695-9bdb-901d2df5e97b.html
create table category (
&& ID&&&&&&&&&&&&&&&&&& int&&&&&&&&&&&&&&&&& identity(100,1),
&& Name&&&&&&&&&&&&&&&& varchar(31)&&&&&&&&& null,
&& constraint PK_CATEGORY primary key (ID)
修改外键命名规则
选择Database—&Edit&Current&DBMS
选择Scripts-》Objects-》Reference-》ConstName
可以发现右侧的Value为:
FK_%.U8:CHILD%_%.U9:REFR%_%.U8:PARENT%
可见,该命名方法是:'FK_'+8位子表名+9位Reference名+8位父表名,你可以根据这中模式自定义为:
FK_%.U7:CHILD%_RELATIONS_%.U7:PARENT%,
可以使FK名称变为FK_TABLE_2_RELATIONS_TABLE_1
掌握这种方法后就可以按照自己的想法修改了
生成建库脚本SQL文件中的表头注释很讨厌,可以在&Databse&-&&Generate&Database&(Ctrl+G)窗口中,选择Options卡片,去掉Usage的Title钩选项即可。
Model&-&&References新建一条外键后,双击进入外键属性,在&#8220;Joins&#8221;卡片中可以选择子表的外键字段
如何实现Name和code不自动相等
如何实现在CDM中创建Entity时,Name和Code不自动对应
-------------------------------------
如何把NAME 列在 scrip里显示出来
&修改字段生成规则。要给每个字段都添加一个注释的话,同一窗口中展开 Script -& Object -& Column -& Add 的 Value修改为:
%20:COLUMN% [%COMPUTE%?AS (%COMPUTE%):%20:DATATYPE% [%IDENTITY%?%IDENTITY%:[%NULL%][%NOTNULL%]][ default %DEFAULT%]
&&&& [[constraint %CONSTNAME%] check (%CONSTRAINT%)]]/*%COLNNAME%*/
其中的%COLNNAME%就是列的Name值(可以是中文)
---------------------------------------------------------------------------------
POWERdESIGEN& 自增长列的设置
PDM里查看表的属性,Columns选项卡,选中整列,查看列属性,点左上方的properties图标(有手形图案的那个),此时打开一个设置窗口,General选项卡里面进行设置.&&&
在列属性的General标签页里有个Identity复选框,勾上就行了
--------------------------------------
1 如何在PowerDesigner下建索引
2 如何在PowerDesigner 下建自增列
3 如何在PowerDesigner 下检查设计模型
& 1 如何在PowerDesigner下建索引
& 1 双击表设计图,出来Table Properties,在Tab 页中选择 Indexes
& 2 单击新建索引的属性,出现Indexex Properties
& 3 增加一个索引包含的字段
& 2 如何在PowerDesigner 下建自增列
&2 使用SqlServer 数据库中的下列语句来完成
建表语句中,在要做为自增列的字段中,加上如下
IDENTITY(1,1)
还有可以使用下面语句,重置自增种子
dbcc checkident(ConfigSys,reseed,0);
& 3 如何在PowerDesigner 下检查设计模型
& 1 在菜单栏中选择 Tools -? Check Model, 如下图
& 2 选择要检查的每项设置
& 3 确定后,将出来检查结果汇总信息
这段时间,使用PD做数据库模型,感觉很不错,将自已的经验总给一下.还有许多功能我没时间总结,以后有时间,继续补吧
1 如何在PowerDesigner下建索引
2 如何在PowerDesigner 下建自增列
3 如何在PowerDesigner 下检查设计模型
1 如何在PowerDesigner下建索引
1 双击表设计图,出来Table Properties,在Tab 页中选择 Indexes
2 单击新建索引的属性,出现Indexex Properties
3 增加一个索引包含的字段
2 如何在PowerDesigner 下建自增列
2 使用SqlServer 数据库中的下列语句来完成
建表语句中,在要做为自增列的字段中,加上如下
IDENTITY(1,1)
还有可以使用下面语句,重置自增种子
dbcc checkident(ConfigSys,reseed,0);
3 如何在PowerDesigner 下检查设计模型
1 在菜单栏中选择 Tools -? Check Model, 如下图
2 选择要检查的每项设置
3 确定后,将出来检查结果汇总信息
在 powerdesigner 中设置 自增 得索引不用那么麻烦,其实只要在 概念模型 中在 属性中把columns中要自增得字段得类型设置成为 serial 就可以了!&
1。使用PowerDesigner检查数据库设计错误~
PowerDesigner 还可用于快速检测新模型中的数据库设计错误。
检查新的模式:
从 [Tools] 菜单中选择 [Check Model]。
此时,就会出现 [Check Model Parameters] 对话框。可以使用缺省参数。
另外也可以直接在空白处单击右键,选择Check Model...即可,我一般喜欢这样用。
单击 [确定]。
此时,在 [Result List] 中就会显示 [Check Model] 的结果。
2。如何将Conceptual Data Model (CDM)转换成Physical Data Model(PDM)?
即将概念数据模型转换成物理数据模型。
二者的区别是,CDM是纯粹概念上的模型,PDM是和具体的数据库类型相关的,比如SQL Server 2000或者Oracle。生成SQL语句当然也就需要从PDM生成。
在菜单上选择Tools -& Generate Phisical Data Model
最后选择你的数据库类型,即可。
3。使用PowerDesigner生成SQL语句~
可以使用 PowerDesigner 生成一个 SQL 脚本,该脚本用于实施模型的所有组件。然后,使用 SQL 脚本生成一个数据库。
这时候要确保你用的是PDM。
生成 SQL 脚本以新建数据库:
从 [Database] 菜单中选择 [Generate Database]。
此时,就会出现 [Database Generation] 对话框
在 [Directory] 字段中键入 c:Temp,并在 [File Name] 字段中键入 NewDemo.sql。
确保选中了 [ Generation]。
单击 [Database] 选项卡,并确保选中了 [Create Database]。
浏览其它选项卡,以查看控制所生成脚本的许多其它属性的选项。
单击 [确定]。
创建脚本后,就会出现 [Result] 对话框。
4。为什么出现Warning : table Existence of index 表名 ?
说明该表没有建立索引。不过这是一个警告,不是错误,可以不用理会它。
5。如何建立联合主键?
联合主键就是一个表里面有多个主键,比如一份学生选课的表里面,学生ID和课程ID就同时是主键。
在设置Attributes,把2个字段的P那项都勾上,P表示Primary Key主键。
6。如何建立外键Foreign Key?
在PowerDesigner中,通过建立关系Relationship就可以自动建立外键,不需要手动添加。
而建立Relationship有2种办法:可以通过菜单选择Model -& Relationships...,也可以通过在右边的工具栏中拖拽Relationship控件。
7。如何生成数据字典?
通过菜单Report -& Report Wizard...可以生成
注意可以选择Template.因为我是通过PDM生成,所以选择了Standard Physical Template~
1、安装PD v11.0版
2、由生成建表脚本时,字段超过15字符就发生错误()
原因未知,解决办法是打开PDM后,会出现Database的菜单栏,进入Database - Edit Current DBMS -script-objects-column-maxlen,把value值调大(原为30),比如改成60。出现表或者其它对象的长度也有这种错误的话都可以选择对应的objects照此种方法更改!
或者使用下面的这种方法:
生成建表脚本时会弹出Database generation提示框:把options - check model的小勾给去掉,就是不进行检查(不推荐)!
或者可以修改C:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\DBMS\oracl9i2.xdb文件
修改好后,再cdm转为pdm时,选择&#8220;Copy the DBMS definition in model&#8221;把把这个资源文件拷贝到模型中。
3、生成的建表脚本中如何把对象的双引号去掉?
打开cdm的情况下,进入Tools-Model Options-Naming Convention,把Name和Code的标签的Charcter case选项设置成Uppercase或者Lowercase,只要不是Mixed Case就行!
或者选择Database-&Edit current database-&Script-&Sql-&Format,有一项CaseSensitivityUsingQuote,它的comment为&#8220;Determines if the case sensitivity for identifiers is managed using double quotes&#8221;,表示是否适用双引号来规定标识符的大小写,可以看到右边的values默认值为&#8220;YES&#8221;,改为&#8220;No&#8221;即可!
或者在打开pdm的情况下,进入Tools-Model Options-Naming Convention,把Name和Code的标签的Charcter case选项设置成Uppercase就可以!
4、建立一个表后,为何检测出现Existence of index的警告
A table should contain at least one column, one index, one key, and one reference.
可以不检查 Existence of index 这项,也就没有这个警告错误了!
意思是说没有给表建立索引,而一个表一般至少要有一个索引,这是一个警告,不用管也没有关系!
5、创建一个表在修改字段的时候,一修改name的内容,code也跟着变化,如何让code不随着name变化
Name和Code 的右侧都有一个按钮&#8220;=&#8221;,如果需要不同步的话,把这个按钮弹起来就可以了。
Tools-&General Options-&Dialog-&Name to Code Mirroring (去掉)
6、由CDM生成PDM时,自动生成的外键的重命名
PDM Generation Options-&Detail-&FK index names默认是%REFR%_FK,改为FK_%REFRCODE%,其中%REFRCODE%指的就是CDM中Relationship的code!另外自动生成的父字段的规则是PDM Generation Options-&Detail-&FK column name template中设置的,默认是%.3:PARENT%_%COLUMN%,可以改为Par%COLUMN%表示是父字段!
7、如何防止一对一的关系生成两个引用(外键)
要定义关系的支配方向,占支配地位的实体(有D标志)变为父表。
在cdm中双击一对一关系-&Detail-&Dominant role选择支配关系
8、修改报表模板中一些术语的定义
即文件:C:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\Report Languages\Chinese.xrl
Tools-Resources-Report Languages-选择Chinese-单击Properties或双击目标
修改某些对象的名称:Object Attributes\Physical Data Model\Column\
&&&&&&& ForeignKey:外键
&&&&&&& Mandatory:为空
&&&&&&& Primary:主键
&&&&&&& Table:表
用查找替换,把&#8220;表格&#8221;替换成&#8220;表&#8221;
修改显示的内容为别的:Values Mapping\Lists\Standard,添加TRUE的转化列为是,FALSE的转化列为空
另外Report-Title Page里可以设置标题信息
1。pd中复制一列是,实际上是一个链接。源列的变动同时体现在复制列上
2。数据库设计通常步骤:CDM缺定主要结构--》生成PDM--》在PDM上修改,必要时生成CDM
3。若由pdm生成cdm再生成pdm,在pdm中修改过的外键名将被改回到默认值
4。必要时可以通过修改模板(Database-Edit Current DataBase)改变脚本的格式。例如:
Script-Objects-Column-Add的Value中开头增加一行&#8220;--%COLNNAME%&#8221;以便在脚本中显示列的中英文对照
5。去掉讨厌的name、code映射:Tools-General Options-clear the Name to Code mirroring check box
6。对于大小写不敏感的数据库(如Oracle),PowerDesign在创建脚本时自动给表名和字段名加上双引号,以&#8220;强字符串&#8221;形式来获取区分大小写,这样给语句的编写制造很多麻烦。去掉这个添足的功能:
Database -〉Edit Current DBMS -〉Script. -〉Sql -〉Format -〉CaseSensitivityUsingQuote
右边面板参数值 Value 选择No
7。由cdm生成pdm,可以控制是否将关系生成引用;由pdm生成脚本,可以控制是否将引用生成外键
8。对于oracle而言,为表设置选项(如tablespace GPSSYSTEM)可使其创建到正确的表空间;为主键设置选项(using index tablespace GPSINDEX)使索引创建到正确的表空间中
1。使用PowerDesigner检查数据库设计错误~
PowerDesigner 还可用于快速检测新模型中的数据库设计错误。
检查新的模式:
从 [Tools] 菜单中选择 [Check Model]。
此时,就会出现 [Check Model Parameters] 对话框。可以使用缺省参数。
另外也可以直接在空白处单击右键,选择Check Model...即可,我一般喜欢这样用。
单击 [确定]。
此时,在 [Result List] 中就会显示 [Check Model] 的结果。
2。如何将Conceptual Data Model (CDM)转换成Physical Data Model(PDM)?
即将概念数据模型转换成物理数据模型。
二者的区别是,CDM是纯粹概念上的模型,PDM是和具体的数据库类型相关的,比如SQL Server 2000或者Oracle。生成SQL语句当然也就需要从PDM生成。
在菜单上选择Tools -& Generate Phisical Data Model
最后选择你的数据库类型,即可。
3。使用PowerDesigner生成SQL语句~
可以使用 PowerDesigner 生成一个 SQL 脚本,该脚本用于实施模型的所有组件。然后,使用 SQL 脚本生成一个数据库。
这时候要确保你用的是PDM。
生成 SQL 脚本以新建数据库:
从 [Database] 菜单中选择 [Generate Database]。
此时,就会出现 [Database Generation] 对话框
在 [Directory] 字段中键入 c:Temp,并在 [File Name] 字段中键入 NewDemo.sql。
确保选中了 [ Generation]。
单击 [Database] 选项卡,并确保选中了 [Create Database]。
浏览其它选项卡,以查看控制所生成脚本的许多其它属性的选项。
单击 [确定]。
创建脚本后,就会出现 [Result] 对话框。
4。为什么出现Warning : table Existence of index 表名 ?
说明该表没有建立索引。不过这是一个警告,不是错误,可以不用理会它。
5。如何建立联合主键?
联合主键就是一个表里面有多个主键,比如一份学生选课的表里面,学生ID和课程ID就同时是主键。
在设置Attributes,把2个字段的P那项都勾上,P表示Primary Key主键。
6。如何建立外键Foreign Key?
在PowerDesigner中,通过建立关系Relationship就可以自动建立外键,不需要手动添加。
而建立Relationship有2种办法:可以通过菜单选择Model -& Relationships...,也可以通过在右边的工具栏中拖拽Relationship控件。
7。如何生成数据字典?
通过菜单Report -& Report Wizard...可以生成
注意可以选择Template.因为我是通过PDM生成,所以选择了Standard Physical Template~
1、安装PD v11.0版
2、由生成建表脚本时,字段超过15字符就发生错误()
原因未知,解决办法是打开PDM后,会出现Database的菜单栏,进入Database - Edit Current DBMS -script-objects-column-maxlen,把value值调大(原为30),比如改成60。出现表或者其它对象的长度也有这种错误的话都可以选择对应的objects照此种方法更改!
或者使用下面的这种方法:
生成建表脚本时会弹出Database generation提示框:把options - check model的小勾给去掉,就是不进行检查(不推荐)!
或者可以修改C:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\DBMS\oracl9i2.xdb文件
修改好后,再cdm转为pdm时,选择&#8220;Copy the DBMS definition in model&#8221;把把这个资源文件拷贝到模型中。
3、生成的建表脚本中如何把对象的双引号去掉?
打开cdm的情况下,进入Tools-Model Options-Naming Convention,把Name和Code的标签的Charcter case选项设置成Uppercase或者Lowercase,只要不是Mixed Case就行!
或者选择Database-&Edit current database-&Script-&Sql-&Format,有一项CaseSensitivityUsingQuote,它的comment为&#8220;Determines if the case sensitivity for identifiers is managed using double quotes&#8221;,表示是否适用双引号来规定标识符的大小写,可以看到右边的values默认值为&#8220;YES&#8221;,改为&#8220;No&#8221;即可!
或者在打开pdm的情况下,进入Tools-Model Options-Naming Convention,把Name和Code的标签的Charcter case选项设置成Uppercase就可以!
4、建立一个表后,为何检测出现Existence of index的警告
A table should contain at least one column, one index, one key, and one reference.
可以不检查 Existence of index 这项,也就没有这个警告错误了!
意思是说没有给表建立索引,而一个表一般至少要有一个索引,这是一个警告,不用管也没有关系!
5、创建一个表在修改字段的时候,一修改name的内容,code也跟着变化,如何让code不随着name变化
Name和Code 的右侧都有一个按钮&#8220;=&#8221;,如果需要不同步的话,把这个按钮弹起来就可以了。
Tools-&General Options-&Dialog-&Name to Code Mirroring (去掉)
6、由CDM生成PDM时,自动生成的外键的重命名
PDM Generation Options-&Detail-&FK index names默认是%REFR%_FK,改为FK_%REFRCODE%,其中%REFRCODE%指的就是CDM中Relationship的code!另外自动生成的父字段的规则是PDM Generation Options-&Detail-&FK column name template中设置的,默认是%.3:PARENT%_%COLUMN%,可以改为Par%COLUMN%表示是父字段!
7、如何防止一对一的关系生成两个引用(外键)
要定义关系的支配方向,占支配地位的实体(有D标志)变为父表。
在cdm中双击一对一关系-&Detail-&Dominant role选择支配关系
8、修改报表模板中一些术语的定义
即文件:C:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\Report Languages\Chinese.xrl
Tools-Resources-Report Languages-选择Chinese-单击Properties或双击目标
修改某些对象的名称:Object Attributes\Physical Data Model\Column\
&&&&&&& ForeignKey:外键
&&&&&&& Mandatory:为空
&&&&&&& Primary:主键
&&&&&&& Table:表
用查找替换,把&#8220;表格&#8221;替换成&#8220;表&#8221;
修改显示的内容为别的:Values Mapping\Lists\Standard,添加TRUE的转化列为是,FALSE的转化列为空
另外Report-Title Page里可以设置标题信息
1。pd中复制一列是,实际上是一个链接。源列的变动同时体现在复制列上
2。数据库设计通常步骤:CDM缺定主要结构--》生成PDM--》在PDM上修改,必要时生成CDM
3。若由pdm生成cdm再生成pdm,在pdm中修改过的外键名将被改回到默认值
4。必要时可以通过修改模板(Database-Edit Current DataBase)改变脚本的格式。例如:
Script-Objects-Column-Add的Value中开头增加一行&#8220;--%COLNNAME%&#8221;以便在脚本中显示列的中英文对照
5。去掉讨厌的name、code映射:Tools-General Options-clear the Name to Code mirroring check box
6。对于大小写不敏感的数据库(如Oracle),PowerDesign在创建脚本时自动给表名和字段名加上双引号,以&#8220;强字符串&#8221;形式来获取区分大小写,这样给语句的编写制造很多麻烦。去掉这个添足的功能:
Database -〉Edit Current DBMS -〉Script. -〉Sql -〉Format -〉CaseSensitivityUsingQuote
右边面板参数值 Value 选择No
7。由cdm生成pdm,可以控制是否将关系生成引用;由pdm生成脚本,可以控制是否将引用生成外键
8。对于oracle而言,为表设置选项(如tablespace GPSSYSTEM)可使其创建到正确的表空间;为主键设置选项(using index tablespace GPSINDEX)使索引创建到正确的表空间中
阅读(7858)
&re: PowerDesigner的一些常用设置及技巧(转帖)
mark&&&&&&
2011年11月
303112345678910111213141516171819202122232425262728293012345678910
阅读排行榜
评论排行榜}

我要回帖

更多关于 power designer pdm 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信