要用powerdesigner做数据库表设计, 最后发现导出sql脚本就出现了问题, 首先是字段都带上了双引号, 而且还总是报错字段名过长。
另外还发现column属性,Code才是最终产生的Table Name ,而Name就有点像是描述了。
在 Database里选择你的数据库然后在 DBMS里面选择(注意看清楚PDM的引用模式是哪个数据库)
Script->Sql->Format->EnableOwnerPrefix value=Yes;
Script->Sql->Format->CaseSensitivityUsingQuote=No;
这时再导出 表的名称就正常了
PowerDesigner9 移植到 PowerDesigner12 的问题:
默认长度的问题,我在PowerDesigner9导出没问题的数据库脚本拿到PowerDesigner12导出出现如下问题:
Column constraint name maximum length is limited to 15 characters
在使用PD12时出现诸如以下错误:
Reference constraint name maximum length is limited to 7 characters
Key constraint name maximum length is limited to 7 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
再说说如何在 PowerDesigner12里创建带导出分区的脚本
默认情况下分区设置是隐藏的 所以要选种该表 然后再点左下脚的More>>
选择Physical Options 这个选项 这里可以添加表空间和索引空间 我习惯直接设置分区SQL语句 这样避免了很多垃圾语句生成
选择 SQL 然后创建分区
partition by list
( data_part )
( partition Pd00
values ( '0' ) )
就OK了 去Partitions选项里可以看到这一列分区效果
设置索引默认空间:
选择KEY选项或者Index选项 直接双击该索引 然后设置Physical Options
直接输入SQL创建默认索引指向表空间 using index tablespace index_emcspace
PowerDesigner功能强大 完全可以维护大部分的数据库建模
现在在Oracle数据库维护有些问题 创建数据库的Package 或者 Types 、Directories、Jobs等 没办法维护进去。
------------------------------------------------------------------------------------------------------
因为我下载的pd11是试用版,功能受限, index导出总是报错, 换用了pd12的破解版, 没有问题了。
而且改object最大长度设置,只要设定一个全局的,方便一些:
PGSQL73::Script\Objects\MaxConstLen
value=>255
PGSQL73::Script\Objects\Table\Maxlen
value=>255
另外发现pd12也没有表长度长一点就报错的问题, 不用像前面那样改长度了。