ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 数据库建模——powerdesiger常见问题总结

数据库建模——powerdesiger常见问题总结

原创 Linux操作系统 作者:1向2飞 时间:2013-07-31 11:28:07 0 删除 编辑

问题一、 PowerDesigner 快捷工具栏 palette 不见了,怎么重新打开?

解决方法:Tools(工具栏)-----customsize -----toolbars(自定义工具栏)------palette(调色板)勾选


问题二、PowerDesigner如何修改外键命名规则
解决方法:

1》选择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
掌握这种方法后就可以按照自己的想法修改了
2》生成建库脚本SQL文件中的表头注释很讨厌,可以在
Databse -> Generate Database (Ctrl+G)窗口中,选择Options卡片,去掉Usage的Title钩选项即可。
问题三、PowerDesigner 添加外键

解决方法:
Model -> References新建一条外键后,双击进入外键属性,在“Joins”卡片中可以选择子表的外键字段

问题四、PowerDesigner如何实现Name和code不自动相等
解决方法:
设置tools--Gerneral options--->dialog---->name to code mirroring


问题五、PowerDesigner 如何把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%就是列的Name值(可以是中文)


问题六、PowerDesigner 自增长列的设置
解决方法:

PDM里查看表的属性,Columns选项卡,选中整列,查看列属性,点左上方的properties图标(有手形图案的那个),此时打开一个设置窗口,General选项卡里面进行设置. 
在列属性的General标签页里有个Identity复选框,勾上就行了,主要是针对sqlserver数据库

问题七、 PowerDesigner如何建索引
解决方法:

1 双击表设计图,出来Table Properties,在Tab
页中选择 Indexes

2 单击新建索引的属性,出现Indexex Properties

3 增加一个索引包含的字段


问题八、PowerDesigner 如何检查设计模型
解决方法:

1 在菜单栏中选择 Tools ---- Check Model

2 选择要检查的每项设置

3 确定后,将出来检查结果汇总信息

问题九、设置CDM生成PDM时的错误检查
解决方法:
Tools --> Check Model


问题十、如何防止cdm中“一对一关系”生成两个引用(外键)
解决方法:

要定义关系的支配方向,占支配地位的实体(有D标志)变为父表。
在cdm中双击一对一关系->cardinalities->Dominant role选择支配关系

问题十一、PowerDesigner8中的CDM设计的外键作主键的问题

两个实体之间是一对一的关系。两个实体的标识符是“一样的”--但是好像CDM中不允许相同。这样的情况怎么处理?
CDM里好像没有外键,我是说转换成PDM之后,外键又要做表的主键,在对应的CDM里是怎么设置的?

解决方法:
双击关系,在弹出的Relationship Properties窗口中选择cardinalities选项,然后将Dependent复选框选中,即可

问题十二、如何将CDM转换成Physical DataModel(PDM)?
解决方法:
二者的区别是,CDM是纯粹概念上的模型,PDM是和具体的数据库类型相关的,比如SQL Server 2000或者Oracle。生成SQL语句当然也就需要从PDM生成。
在菜单上选择Tools -> Generate Phisical Data Model
最后选择你的数据库类型,即可。


问题十三、使用PowerDesigner生成SQL语句
解决方法:
可以使用 PowerDesigner 生成一个 SQL 脚本,该脚本用于实施模型的所有组件,然后,使用 SQL 脚本生成一个数据库,这时候要确保你用的是PDM。
    PDM生成建库脚本SQL:
Database------>Generate Database
弹出: Database Generation对话框
1》Directory:生成文件保存路径
2》File Name:定义生成文件名
3》script. Generation:选中
4》option选项卡中,并确保选中了 Create Database


问题十四、为什么出现Warning : table Existence of index 表名 ?
解决方法:

说明该表没有建立索引。不过这是一个警告,不是错误,可以不用理会它。

问题十五、如何建立联合主键?
解决方法:

联合主键就是一个表里面有多个主键,比如一份学生选课的表里面,学生ID和课程ID就同时是主键。

在设置Attributes,把2个字段的P那项都勾上,P表示Primary Key主键。

问题十六、如何建立外键Foreign Key?
解决方法:

在PowerDesigner中,通过建立关系Relationship就可以自动建立外键,不需要手动添加。

建立Relationship有2种办法:

1》可以通过菜单选择Model -> Relationships

2》可以通过在右边的工具栏中拖拽Relationship控件。

问题十七、如何生成数据字典?
解决方法:
通过菜单Report -> Report Wizard.

问题十八、由生成建表脚本时,字段超过15字符就发生错误

解决方法:
1》Database - Edit Current DBMS -script-objects-column-maxlen,把value值调大(原为30),比如改成60。出现表或者其它对象的长度也有这种错误的话都可以选择对应的objects照此种方法更改!
2》生成建表脚本时会弹出Database generation提示框:把options - check model的小勾给去掉,就是不进行检查(不推荐)!
3》修改C:/Program Files/Sybase/PowerDesigner Trial 11/Resource Files/DBMS/oracl9i2.xdb文件修改好后,再cdm转为pdm时,选择“Copy the DBMS definition in
model”把把这个资源文件拷贝到模型中。
问题十九、生成的建表脚本中如何把对象的双引号去掉?

解决方法:

    1》Tools->Model Options->Naming Convention,把Name和Code的标签的Charcter case选项设置成Uppercase或者Lowercase,只要不是Mixed Case就行
    2》Database->Edit current DBMS->Script->Sql->Format->CaseSensitivityUsingQuote,它的 comment为“Determines if the case sensitivity for identifiers is managed using double quotes”,表示是否适用双引号来规定标识符的大小写,可以看到右边的values默认值为“YES”,改为“No”即可!
问题二十、修改报表模板中一些术语的定义

解决方法:

即文件: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里可以设置标题信息

问题二十一、pd中复制一列是,实际上是一个链接。源列的变动同时体现在复制列上

问题二十二、数据库设计通常步骤:

CDM确定主要结构--》生成PDM--》在PDM上修改,必要时生成CDM

问题二十三、若由pdm生成cdm再生成pdm,在pdm中修改过的外键名将被改回到默认值

问题二十四、必要时可以通过修改模板(Database-Edit Current DBMS)改变脚本的格式。例如:
Script-Objects-Column-Add的Value中开头增加一行“--%COLNNAME%”以便在脚本中显示列的中英文对照

问题二十五、对于oracle而言,为表设置选项(如tablespace GPSSYSTEM)可使其创建到正确的表空间;为主键设置选项(using index tablespace GPSINDEX)使索引创建到正确的表空间中

问题二十六、有关Powerdesgner数据模型设计中,属性名同名问题的解决方法
PowerDesigner默认在CDM中不能存在相同名称的实体 属性,这也是考虑到可能产生的一些如主键外键等名称冲突问题,但当我们进行实际数据库设计时,可能会多次使用相同数据项(DataItem)便于理解各实 体。为此需要对更改PowerDesigner相关设置。软件默认为DataItem不能重复使用(重名),需要进行以下操作:
选择Tools->Model Options,在Model Setting设置目录中,将Data Item下的Unique Code取消选中即可,系统默认将Unique Code和Allow Reuse均选中。
同 时该设置均是面向特定模型的,即针对当前模型有效,若希望在其它模型中也有此命名设置,则需要重新进行设置。不过在Check Model时,如果选择全部Check,则依旧会报DataItem重名的错误信息,这时需要我们在人为检查确认数据项无误时,可以在选择不对 DataItem不检查,各种数据类型对应匹配(这里只给出与SQL Server中的常用对应类型,其它DBMS可以使用类似处理)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23890223/viewspace-767552/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-05-11

  • 博文量
    73
  • 访问量
    332572