powerdesiner的自增长列,以前都是生成sql语句后,再在自增长列中添加Identity(1,1).找了好久,终于打到了方法.
1.如果dbms是MsSql,则选定表后,database-> edit current dbms-> 出现DBMS properties对话框,选择General页,左侧的树选择SQL 2000-> Profile-> Column-> Extended Attributes 下面的ExtIdentityIncrement是步进值,ExtIdentitySeed是起始值,分别设定默认值,后返回。
2.在表的属性对话框里面,选择Clumns页,按Ctrl+U,在Idenitity前面打上钩。如有必要,也可以将
ExtIdentityIncrement和ExtIdentitySeed也打上勾,这样在设定Idenitity时也可以直接指定起始值和步进值了。
btw:我用的是PD11,刚刚开始学PD,关于Identity的设定也是找了好久。
3.对于ql server ,在表的属性对话框里面,选择Clumns页,按Alt+enter进入列的属性页面,在右下角勾选Idenitity属性即可.
在使用PowerDesigner的过程中,经常遇到一些设置上面的问题,每次都去找老鸟帮忙解决,隔一段时间不用,下一次又忘掉了,不好意思再去麻烦他们了,所以现在用博客园记录下来,以后上园子来找以前的东西.
1取消Name和Code关联的设置
在设计PDM文件的时候,设计一张表,在填写栏位的时候,如果我们输入Name,Code会跟着变化.这个完全是西方人的习惯,因为他们的Name和Code都是E文,所以不会出现什么问题.但是,我们使用的时候,就会很不习惯,Name应该是中文名字,Code才是资料库的实际字段名.
下面记录修改设置的步骤:
Step 1:
菜单栏找到Tools,点开,找到General Options,点击
Step 2:打开Dialog将Operating modes中的 Name To Code mirroring 將前面的勾去掉
OK!完成
sql语句中表名与字段名前的引号去除:
打开cdm的情况下,进入Tools-Model Options-Naming Convention,把Name和Code的标签的Charcter case选项设置成Uppercase或者Lowercase,只要不是Mixed Case就行!
或者选择Database->Edit current database->Script->Sql->Format,有一项CaseSensitivityUsingQuote,它的 comment为“Determines if the case sensitivity for identifiers is managed using double quotes”,表示是否适用双引号来规定标识符的大小写, 可以看到右边的values默认值为“YES”,改为“No”即可!
或者在打开pdm的情况下,进入Tools-Model Options-Naming Convention,把Name和Code的标签的Charcter case选项设置成Uppercase就可以!
在修改name的时候,code的值将跟着变动,很不方便
修改方法:PowerDesign中的选项菜单里修改,在[Tool]-->[General Options]->[Dialog]->[Operating modes]->[Name to Code mirroring],这里默认是让名称和代码同步,将前面的复选框去掉就行了。
由pdm生成建表脚本时,字段超过15字符就发生错误(oracle)
原因未知,解决办法是打开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时,选择“Copy the DBMS definition in model”把把这个资源文件拷贝到模型中。
由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%表示是父字段!
建立一个表后,为何检测出现Existence of index的警告
A table should contain at least one column, one index, one key, and one reference.
可以不检查 Existence of index 这项,也就没有这个警告错误了!
意思是说没有给表建立索引,而一个表一般至少要有一个索引,这是一个警告,不用管也没有关系!
如何防止一对一的关系生成两个引用(外键)
要定义关系的支配方向,占支配地位的实体(有D标志)变为父表。
在cdm中双击一对一关系->Detail->Dominant role选择支配关系
修改报表模板中一些术语的定义
即文件: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:表
用查找替换,把“表格”替换成“表”
修改显示的内容为别的:Values Mapping\Lists\Standard,添加TRUE的转化列为是,FALSE的转化列为空
另外Report-Title Page里可以设置标题信息
PowerDesigner11中批量根据对象的name生成comment的脚本
'******************************************************************************
'* File: name2comment.vbs
'* Purpose: Database generation cannot use object names anymore
' in version 7 and above.
' It always uses the object codes.
'
' In case the object codes are not aligned with your
' object names in your model, this script will copy
' the object Name onto the object comment for
' the Tables and Columns.
'
'* Title: 把对象name拷入comment属性中
'* Version: 1.0
'* Author:
'* 执行方法:PD11 -- Open PDM -- Tools -- Execute Commands -- Run Script
'******************************************************************************
Option Explicit
ValidationMode = True
InteractiveMode = im_Batch
Dim mdl ' the current model
' get the current active model
Set mdl = ActiveModel
If (mdl Is Nothing) Then
MsgBox "There is no current Model"
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
MsgBox "The current model is not an Physical Data model."
Else
ProcessFolder mdl
End If
' This routine copy name into code for each table, each column and each view
' of the current folder
Private sub ProcessFolder(folder)
Dim Tab 'running table
for each Tab in folder.tables
if not tab.isShortcut then
tab.comment = tab.name
Dim col ' running column
for each col in tab.columns
col.comment= col.name
next
end if
next
Dim view 'running view
for each view in folder.Views
if not view.isShortcut then
view.comment = view.name
end if
next
' go into the sub-packages
Dim f ' running folder
For Each f In folder.Packages
if not f.IsShortcut then
ProcessFolder f
end if
Next
end sub
PowerDesigner 生成SQL的Existence of refernce错误问题
现象:用PowerDesigner生成SQL语句时,提示Existence of refernce错误。
原因:该表没有与其他表的关联(如外键等),而PowerDesigner需要存在一个refernce才能生成SQL.
解决方法:
在工具栏空白处右键打开Palette面板,选中Link/Extended Dependency 按钮,然后在提示出错的表上添加到自己的Dependency。
重新生成SQL,你将发现刚才提示的错误没有了,问题解决。
利用PowerDesigner批量生成测试数据
主要解决方法:
A:在PowerDesigner 建表
B:然后给每一个表的字段建立相应的摘要文件
步骤如下:
Model->Test Data Profiles配置每一个字段摘要文件General:输入Name、Code、
选择Class(数字、字符、时间)类型
选择Generation Source: Automatic、List、ODBC、File Detail:配置字段相关信息
所有字段摘要文件配置完成后双击该表->选择字段->Detail->选择Test Data Parameters 摘要文件如果字段值与其它字段有关系在: Computed Expression 中输入计算列--生成测试数据:
DataBase->Generation Test Data->
选择:Genration 类型(Sript、ODBC)
Selection(选择要生成的表)
Test Data Genration(Default number of rows 生成记录行数)
1.使用PD12时出现以下错误:
Reference constraint name maximum
length is limited to 30 characters
Key constraint name maximum length
is limited to 30 characters
Table code maximum length
Column code maximum length
……
导致生成建表SQL时通不过,细究原因原来是默认设置的问题,改下就可以了。
调整以下参数:
Database=>Edit current DBMS 数据库类型::Script\Objects\MaxConstLen value=>255
Database=>Edit current DBMS 数据库类型::Script\Objects\Table\Maxlen value=>255
Database=>Edit current DBMS 数据库类型::Script\Objects\Column\Maxlen value=>255
但是要注意的是,表名、列名、主键等不要超过30个字符,否则Oracle不认。
2.附:生成数据库脚本
Database=>Generate database
-----------------------------
-----------------------------
默认生成的SQL语句(表名、字段名等)都带双引号,导致用SQLPlus插入Oracle数据库时表名与表列都带""号,要解决这个问题,在数据库中做如下设置:
Database-> Edit Current DBMS...-> Script-> Sql->
Format-> CaseSensitivityUsingQuote 改为No
3.如何在powerDesigner中给字段赋默认值
双击表,出现column列表,双击要设置的列的左边的灰色框,应该会弹出新的窗口,然后在新窗口上选择standard checks ,里面有default的
分享到:
相关推荐
PowerDesigner 设置集锦 PowerDesigner 是一款功能强大的数据模型设计工具,本文总结了 PowerDesigner 的一些常用设置和技巧,以便更好地使用 PowerDesigner 进行数据模型设计。 一、 Identity 设置 ...
3. **概念数据模型(CDM)**:学习如何使用 PowerDesigner 创建 CDM,理解实体、属性、关系的概念,以及如何设置实体之间的关联。 4. **物理数据模型(PDM)**:掌握 PDM 的创建,包括表、字段、键、索引的设计,...
表的属性如字段名称、数据类型、主键等可以在属性窗口中设置。同时,可以定义表之间的关联,如一对一、一对多、多对多关系,以反映业务中的实体间联系。 3. **建立物理模型**: 物理模型是逻辑模型在特定数据库...
3. **配置逆向工程设置**:为了确保生成的模型符合实际需求,用户需要根据实际情况调整各种设置,例如命名规则、是否包含视图和触发器等。 4. **执行逆向工程**:完成所有设置后,就可以执行逆向工程操作。...
9. **性能优化**: 在物理模型中,PowerDesigner允许进行性能分析,调整表结构、索引设置,以提高数据库的查询效率。 总的来说,PowerDesigner作为一款全面的建模工具,能够帮助IT专业人员在数据库设计的各个阶段...
在 "Model" 菜单下,选择 "New Physical Data Model",然后给模型命名并设置其他相关属性。 3. **创建数据库连接**: 这一步是连接到实际的数据库服务器。在 "Database" 菜单中选择 "Connect to Database" 或者在...
双击关联线,打开关联属性窗口,可以设置关联的名称、基数(如一对一、一对多、多对多)、删除规则(如CASCADE、RESTRICT等)和其他约束。 步骤6:物理数据模型(Physical Data Model,PDM) 一旦CDM完成,可以将其...
3. 这时,将会弹出一个"General Options"对话框,该对话框包含了PowerDesigner的许多配置设置。 4. 在"Category"(类别)列表中,找到并选择"Dialog"(对话框)这一项,这将显示与界面交互相关的选项。 5. 关注右侧...
PowerDesigner是一款强大的数据库设计与建模工具,由Sybase公司开发。它被广泛应用于系统分析员、数据库管理员和软件开发者之中,帮助他们进行概念建模、逻辑建模和物理建模,以创建出高效、清晰的数据模型。...
【标题】"利用PowerDesinger快速建立面向对象应用模型"主要涵盖了如何高效地使用PowerDesigner这一强大的数据库设计和建模工具来构建面向对象的应用程序。PowerDesigner是一款由Micro Focus公司开发的企业级数据建模...
2. **标识符(Primary Key)**:每个实体通常有一个或多个标识符,用于唯一识别实体实例,如何定义和设置标识符是CDM设计的重要部分。 3. **注释**:添加注释可以为模型提供更丰富的说明,帮助团队理解模型的意图。...
- **设置关联关系**:可以通过设置两个类在 `hbm.xml` 文件中的关系来定义它们之间的级联操作。例如,`cascade="all"` 表示主表的操作会自动应用到从表的所有操作上;`inverse="true"` 表示关联关系由一方(此处为 `...
- 在格式设置对话框中,可以设置主键的显示方式等属性。 - 双击表格,在弹出的对话框中添加数据库字段,并为每个字段设置必要的属性,如主键、标识列、是否允许为空等。 - 同时还需要配置表之间的外键关系。 - **...
- 如果需要,可以设置额外的连接参数,如连接超时、字符集等。 3. **连接测试和模型同步**: - 点击“测试连接”按钮,验证PowerDesigner能否成功连接到MySQL数据库。 - 如果连接成功,可以点击“同步”按钮,将...
- 当你在SQL语句中遇到表名和字段名被引号包围导致大小写敏感问题时,可以在`Tools`菜单下选择`Model Options`,然后在`Naming Convention`选项中,调整`Name`和`Code`的`Character Case`设置为`Uppercase`或`...
在PowerDesigner中,创建CDM可以通过File->New操作完成,选择CDM模型并设置相应的模型属性。接着,可以通过工具栏的Entity工具创建实体,双击实体符号进行编辑,输入实体的名称、代码、描述等信息。在Attribute选项...
2. **添加实体**:在模型工作区中,可以通过工具栏添加新实体,为实体命名并设置其属性。 3. **定义属性**:为实体添加属性,如"学号"、"姓名"等,可以设定属性的数据类型、长度和其他约束。 4. **建立联系**:通过...
PowerDesigner允许用户根据项目需求进行个性化设置,例如自定义模板、选择数据库方言、设定生成脚本的选项等。此外,其内置的逆向工程功能可以将现有数据库转化为数据模型,便于理解和维护。 ### 5. 业务流程建模 ...
3. **设置实体标识**:为每个实体设置唯一的标识符。 4. **定义关系**:根据实体之间的联系定义适当的关系类型。 5. **使用继承**:对于存在共性的实体,可以使用继承简化模型设计。 6. **定义关联**:对于复杂的...
在PowerDesigner中,你可以定义实体的属性,如名称、属性、主键等,同时设置数据类型、长度、是否允许为空等细节。理解实体和数据项目之间的关系,对于构建准确的数据模型至关重要。 3. **定义实体间的联系与角色**...