PowerDesigner 讲解
1、PowerDesigner 使用教程
从今日开始,每天一部分内容Q在每个工作日,争取让大家天天都有的看,每天内容不会太多?
有错误的地方q请大家指正?/p>
PowerDesigner?
PowerDesigner是Sybase公司的CASE工具集,使用它可以方便地对管理信息系l进行分析设计,它几乎包括了数据库模型设计的全过E。利用PowerDesigner可以制作数据程图、概忉|据模型、物理数据模型,可以生成多种客户端开发工L应用E序Q还可ؓ数据仓库制作l构模型Q也能对团队设计模型q行控制。它可与许多行的数据库设计软gQ例如:PowerBuilderQDelphiQVB{相配合使用来羃短开发时间和使系l设计更优化?
PowerDesigner主要包括以下几个功能部分Q?
Q?Q?DataArchitect
q是一个强大的数据库设计工P使用DataArchitect可利用实?关系图ؓ一个信息系l创?概念数据模型"QCDMQConceptual Data ModelQ。ƈ且可ҎCDM产生Z某一特定数据库管理系l(例如QSybase System 11Q的"物理数据模型"-PDM(Physical Data Model)。还可优化PDMQ生ؓ特定DBMS创徏数据库的SQL语句q可以文件Ş式存储以便在其他时刻q行q些SQL语句创徏数据库。另外,DataArchitectq可Ҏ已存在的数据库反向生成PDMQCDM及创建数据库的SQL脚本?
Q?Q?ProcessAnalyst
q部分用于创建功能模型和数据图Q创?处理层次关系"?
Q?Q?AppModeler
为客?服务器应用程序创建应用模型?
Q?Q?ODBC Administrator
此部分用来管理系l的各种数据源?
PowerDesigner?U模型文Ӟ
概念数据模型 (CDM)
CDM 表现数据库的全部逻辑的结?与Q何的软g或数据储藏结构无兟?一个概忉|型经常包括在物理数据库中仍然不实现的数据对象?它给q行计划或业务活动的数据一个正式表现方式?
物理数据模型 (PDM)
PDM 叙述数据库的物理实现?
藉由 PDM Q你考虑真实的物理实现的l节?它进入帐户两个Y件或数据储藏l构之内ѝ?你能修正 PDM 适合你的表现或物理约束?
面向对象模型 (OOM)
一个OOM包含一pd包,c,接口 , 和他们的关系?q些对象一起Ş成所有的 ( 或部? 一个Y件系l的逻辑的设计视囄cȝ构?一个OOM本质上是软gpȝ的一个静态的概念模型?
你?PowerDesigner 面向对象模型建立面向对象模型.(OOM) 你能为纯_地对象- 导向的靠模切目的建立一个OOM, 产生Java文g或者PowerBuilder文gQ或你能使用一个来自OOM的物理数据模?PDM)对象 , 来表C关pL据库设计分析?
业务E序模型 (BPM)
BPM 描述业务的各U不同内在Q务和内在程Q而且客户如何以这些Q务和程互相影响?
BPM 是从业务合伙人的观点来看业务逻辑和规则的概念模型Q用一个图表描q?
E序Q流E,信息和合作协议之间的交互作用?
以下是其中的CDM PDM OOM三者的转换关系
使用PowerDesigner环境
对象览?
对象览器可以用分层l构昄你的工作I间.
输出H口
昄操作的结果?
l果列表
用于昄生成、覆盖和模型查结果,以及设计环境的M信息?
图表H口
用于l织模型中的图表Q以囑Ş方式昄模型中各对象之间的关pR?/p>
2、用PowerDesigner环境
树Ş模型览?
对象览器可以用分层l构昄你的工作I间.
输出H口
昄操作的结果?
l果列表
用于昄生成、覆盖和模型查结果,以及设计环境的M信息?
图表H口
用于l织模型中的图表Q以囑Ş方式昄模型中各对象之间的关p?
其他的窗口与其他的Y件大同小异,没有多说的必要了Q呵?/p>
3、PD概念模型工具以及业务规则
定义业务规则
关于业务规则
业务规则是业务活动中必须遵@的规?是业务信息之间约束的表达?它反映了业务信息数据之间的彝族完整性约?每当信息实体中包含的信息发生变化的时?pȝ都会查这些信息是否违反特定的业务规则.
业务规则有的六种cd: 事实Q定义,公式Q确认,需求和U束:
当你使用业务规则U束 CDM 的时?他们不被转变为可执行的代码?业务规则可能被实Cؓ PDM 的约束?
产生一条新的业务规?
你将会生一条业务规则标明该如何版E归因于作家?
1 选择模型的业务规则?
业务规则的列表对话框昄已存在的业务规则?
2 点击增加一行工兗?
一支箭头在新空行的开始处出现,q且一个默认的名字和代码被输入。默认ؓ定义cd的业务规?/p>
3 在名字列中键入的Author Percent?
q是业务规则的名字?相同的代码自动地在代码列中被输入?
4 选择规则cd列下拉列表中的确认类型。这样定义了认cd的业务规则?
5 点击应用?
新创建的业务规则被提交。名字点d母顺序排?
当你点击的应用或者OK的时?列表中的所有的名字按照字母序排列?
6 点击新的业务规则栏。一支箭头出现在最后的一行?
7 点击属性工兗?
8 点击注释栏。注释对话框被打开,可以输入规则的描q?
9 在描q对话框? 输入The percentage of royalties paid to all authors of a book adds up to 100% of the total royalties
q段文本解释业务规则的意义?/p>
4、数据项目与实体
关于数据目
一个数据项目是一个基本的信息?
创徏一个新的数据项?
要管理多个作家的多个? 你将会对每位作家版税的百分比创徏数据目q且Z家列表中的的作家名称排序?
1 选择菜单栏的模型数据目。数据项目的列表昄已存在的数据目?
2 点击增加一行工兗?
一个箭头在W一个空白行的开始和一个默认的名称出现Q而且代码被进入?
3 键入名称列的 TitleAuthor Percent ?
q是数据目的名U?相同的代码自动地在代码列中被输入入?/p>
4 点击应用?
新创建的数据目的被提交。名U按字母序地分c?当按应用或列表的定的时? 所有的名称按字母顺序地被分cR?列表的名U次序将会以其中M一个操作而改变?
5 点击新的数据目行。一个箭头在行开始处出现?
6 点击属性工兗或在行开始处双击头?
属性页为新创徏的数据项目?
7 选择对话框的底部,域下拉列表框?Percent ?
q应?Percent 域的数据cd到新的数据项目?在数据类型列中, SI 指出短整数型?/p>
8 点击定回到数据目的列表?
9 点击增加一行工兗?
一个箭头在W一个空白行的开?一个默认的名称出现Q相同的代码被输入?
10 输入 TitleAuthor Order 到名U列?
q是数据目的名U?相同的代码自动地在代码列中被输入?
11 点击应用。新创徏的数据项目被提交?
12 点击新的数据目行。一个箭头在行开始处出现?
13 点击属性工兗或在行开始处双击头?
属性页为新的数据项目出现?
14 点击问号按钮旁边数据cd下拉列表框?
标准数据cd对话框出现?
15 点击整数?Radio 按钮?
q给 TitleAuthor Order数据目一个整数型数据cd?/p>
16 在每一个对话框中好点击?
回到模型的窗口?创徏一个新的实?
你将会创Z个包含照片的信息Q一个关联对主题C者的实体 , 和二个主题种cM同的的实? periodicals and non-periodicals
1 点击工具面板的实体工兗?
2 点击图表的一个空白处。一个实体符号在点击位置出现?
在创建时的实体叫做Entity_n,n是一个对象创建次序的实体数字?
3 点击工具面板的指针工兗?
4 双击你刚刚创建的实体W号?
实体Ҏ页出现?
5 输入Picture 到名U框 ?
q是实体的名U?相同的代码自动地在代码列中被输入?
6 点击定。新的实体显C名U?Picture ?
7 选择菜单中的模型->实体。实体对话框的列表显C已存在的实体?/p>
8 点击增加一行工兗?
9 键入periodicals到名U列?
代码自动地设定与名称相同?
10 点击应用。新的实体创提交。名U按字母序地分c?
11 点击增加一行工兗?
一个箭头在W一个空白行的开始处,一个默认的名称和代码被输入q入对话况中?
12 键入Nonperiodical到名U列?
13 点击应用。新的实体创提交。新的实体在列表上出现?
14 点击定?
新的实体?CDM 中出现?
5、定义实体间的联pd角色
创徏关系
你将会创建在AUTHOR和PICTURE之间的关pd体?
1 点击工具面板的指针工兗?
2 拖拉PICTURE实体W号到AUTHOR实体W号下面?/p>
3 点击工具面板的关pd兗?
4 在AUTHOR实体之内点击Q当不要村ּ鼠标左键,拖拉光标到PICTURE实体?在PICTURE实体之内攑ּ鼠标按钮?
q创建在二个实体之间的关pR?/p>
在关p选项里面定义角色
你将会定义AUTHOR于PICTURE之间的关p选项?一位AUTHOR不必要必L一张PICTURE?一张PICTURE不必要必L一位AUTHOR?
1 点击工具面板的指针工兗?
2 双击在AUTHOR和PICTURE之间的关p行?
关系Ҏ页出现:
3 输入Author Picture到名U框。这是关pȝ名称?
4 点击详细资料。详l资料页出现
5 ?AUTHOR"?"PICTURE"中的角色名称框输? is shown in"?
6 ?PICTURE"?"AUTHOR"中的角色名称框输? shows"?
7 点击定?
关系在模型中出现
6、定义和使用?/p>
定义和用域
关于?
一个域定义你能适用于多个数据项目的标准数据l构?当你修正一个域?你将更新全部与域兌的数据项目?当你作Q何变化的时?, q导致数据一致化Ҏ比较容易。这?可以创Z些自己常用的?来应用到数据对象?׃会导致相同的用?但是数据cd和长度不一?
创徏一个新的域
你将会创Z个域以将会ؓ钱数量定义一个标准化数据cd和模型中的百分比?
1 选择来自菜单栏的模型域?
域对话框的列表显C已存在的域?
2 点击增加一行工兗?
一支箭头在W一I的开始处出现,一个默认的名字和代码被q入?
3 在名字列输入Amount?
q是域的名字?相同的代码自动地在代码列中被q入?
4 点击应用。新创徏的域被提交?/p>
5 点击新的域行?
6 点击属性工兗?
7 点击紧邻数据cd下拉列表的问h钮?/p>
8 点击Momey的Radio按钮?
域现在有一个Money数据cd?一个Money数据cd用一个固定长度的数字来储存数字?E后Q当你应用这一个域用来储存Money的数量数据项目的时?你将会他们承这一个数据类型?
9 在长度框中打?8 ?
附到q一个域的数据项目的最大的长度会?8.
10 在精密框中打?2 ?
附到q一个域的数据项目在数点之后能带二个位|?/p>
11 点击 OK ?
回到域特性页??MN8,2 在数据类型列表框中出现?MN 是一个Money数据cd的代码?8指出Moneycd能有 8个长度?2指出数量?2 个小C_ֺ.
12 点击OK,回到域的列表?
13 点击增加一行工兗?
一支箭头在W一个空白行的开始处,一个默认的名字和代码被输入?
14 名称列键入Percent?
q是域的名称?相同的代码自动地在代码列中被q入?
15 点击应用?
新的域创提交?
16 点击新的域行?
一个箭头在行开始处出现?
17 点击属性工兗或在行开始处双击头。属性页为新创徏的域?
18 点击问号按钮旁边数据cd下拉列表框?
标准数据cd对话框出现?使用q一个对话框指定被域影响的数据Ş式?
19 点击短整数型 Radio 按钮?
代码 SI 指出Percent域有短整数型数据cd?因ؓ你不能ؓ短整数型数据cd指定长度和精?, 所以长度和_ֺ框不可用的?
20 在每一个对话框中好点击?域最大的好处是可以很快的付l数据项目数据类?q且保证加入到域中的所有数据项目保持一?例如,很多数据库的表都有一个ID,那么q个ID在很多时候都是相同的数据cd和长?那么可以直接定义一个ID的域,q样,当你需要修改ID长度的时?׃用一个一个的修改?
7、定义和使用l承
创徏一个承连?
你从子实体到父实体创Z个承连接。你会?PERIODICAL ?NONPERIODICAL 实体?TITLE 实体定义一个ѝ?
1.选择工具面板的承工兗?
2.?NONPERIODICAL 实体之内点击Q按住鼠标左键不?拖拉光标?TITLE 实体??TITLE 实体之内攑ּ鼠标按钮?/p>
一个承连接出现在q些实体之间?q接中间有一个半圆Ş, 和一个指向TITLE父实体的头?NONPERIODICAL 是子实体?子实体承它的父实体?
3 选择工具板上的承工P点击半圆形,按住鼠标左键不放,拖拉光标?PERIODICAL 实体?在PERIODICAL实体内放开鼠标按钮?
l承W号因此改变?/p>
定义l承属?
你将会分配一个主题到l承Q它互斥,而且定义它的生成模态?
1 点击工具面板的指针工兗?
2 双击l承q接的中央半圆Ş?
l承Ҏ页出现?
3 cd名称在名U框中ѝ这是承的名称?
4 选择子对象互斥的复选框?
因ؓ主题是一份期刊或一份非期刊,不能两个兼有Q所以是互斥的?/p>
5 点击生成定位键。生成页出现?
6 在生成模式分l框中确定生子对象复选框没有被选择?
q里的选择媄响承如何生物理数据模型PDM?仅仅生成父对象意味着只有一个表被生成Q在q里例子中,你只需要知道在每个子对象中的属性是不同的?
7 输入Periodical到名U列中?/p>
8 在数据类型列中点凅R?
9 点击下拉列表头。一个下拉列表框出现?
10 选择来自下拉列表框的 BL ?
你ؓ那个指定属性定?Boolean(BL) 数据cd?/p>
11 Ud到右边,知道出现 M 复选框?
q是强制性的复选框 。当选择的时候,它指出当Periodical列被产生的时候不能包含NULL价倹{?
12 选择 M 复选框 ?
13 点击定?/p>
十字架在半圆形中出现Q指出承是互斥的?
l承不只是出现在~程?在数据库设计中同L?
8、将CDM对象转换成PDM对象
1 选择ToolsQ?gt;Generate Physical Data Model。PDM生成选项对话框出现?
2 从数据库理pȝ下拉列表框选择 Sybase AS Anywhere 8 ?
q个对话框处理前面生成的教程文g名称作ؓPDM文g的名Uͼ但是扩展名ؓPDM?
3 选择 Share 单选按钮?/p>
9、正向工E和逆向工程
你能直接C PDM产生一个数据库, 或生一个能在你的数据库理pȝ环境中运行的数据库脚本,q是正向工程?
默认是生成与PDM相同数据库的脚本Q但是也可以产生其他数据库的脚本
产生一个数据库创徏脚本
1 选择DatabaseQ?gt; Generate Database?
数据库生成对话框出现?它显C生成叁数?默认叁数已经被选择?
2 SQL的文件名U框中键?PDM_TUTORIAL ?
3 在目录框?输入一条\径?
4 选择生成脚本的按钮?
5 选择仅仅生成一个文件?
6 点击Selection 定位键?
7 点击底部表定位键?
表页列出模型中选择可用的所有数据库表?
8 全部点击选择工具。这选择所有的表复选框?/p>
9 切换Views和Domains选择需要的视图和域?
10 点击定?
可以生成数据库脚?如果选择ODBC方式,则可以直接连接到数据?从而直接生数据库表以及其他数据库对象?逆向工程
你能逆向工程已存在的数据库进新的 PDM 之内?数据来源可能是从脚本文g或一个开放数据库q接数据来源?当你逆向工程使用脚本的时?你能使用一个单一脚本文g或一些脚本文件?
逆向工程数据库对象从一个脚本文件到新的 PDM
逆向工程来自一个脚本文件的数据库对?
1 选择File->Reverse Engineer->Database 昄新的物理数据模型的对话框?
2 点击部䆾 Radio 按钮?
3 选择下拉列表框的一个数据库理pȝ?/p>
4 点击定。数据库逆向工程对话框出现?
5 点击使用脚本文g?Radio 按钮?
6 览适当的目录选择脚本文g?/p>
7 点击选项定位键显C选项c?
8 选择逆向工程选项?/p>
9 点击定?
输出H口的信息指指定的文件完全逆向工程?逆向工程一个ODBC到新?PDM:
1 选择File->Reverse Engineer->Database 昄新的物理数据模型的对话框?
2 点击Share 单选框?
3 选择下拉列表框的一个数据库理pȝ?/p>
4 点击定。数据库逆向工程对话框出现。?
5 点击使用一个ODBC 单选框,选择一个ODBC?/p>
6 点击选项定位键显C选项c?
7 选择逆向工程选项?/p>
8 点击定。ODBC逆向工程对话框出现?/p>
9 在上面部份对话框的下拉列表框中选择限定词和拥有者?
10 点击一个对象类型定位键?
11 点击定?
输出H口的信息显C哪些表被{换而且指出数据库成功逆向工程?
10、生成报表及ȝ
当设计出数据库以后,需要讨论,那么有一份正规的DOC文g是很必要的,那么Q我们最后来讲讲生成报表Q基本都是操作的事情Q没有什么技巧?
1.新徏立报表文?/p>
2.拖拉需要显C的部分到报表输出选项
3、修改输出选项的内?/p>
4.修改列的宽度和需要显C的内容
5.生成RTF或者其他的cd的报表文?/p>
我们一直讲的是PowerDesigner的数据徏模部分,其实PD的面向对象徏模部分也值得一Ԍ虽然我更加愿意用RoseQ但是PowerDesigner的业务流E徏模等q是值得U赞的,有机会再说啦Q呵c?
最后要说以下几点:
1.PowerDesigner仅仅是实现的工具
不要以ؓPower能帮你把关系什么的全部建立好,很多数据库理论只是还是需要的Q设计数据库的时候,那些范式什么的Q一定要掌握?
设计一个好的数据库Q最好的工具不是必须的,但是基础理论是一定要的?
2.PowerDesigner用途不局限与数据建模
正如我上面讲的,PowerDesignerq可以进行业务流E徏模,面向对象建模。以前我转脓q用PowerDweigner设计web service的一片文章,可以看看
3.q不是每个设计都需要用到PD
用Powerdesigner对付比较大型的项目,是很好的Q对于短q_cd的项目,如果旉要求?个星期完成一个程序,那么完全没有必要用PowerDesignerQ直接维护数据库可以了Q当表的数量过10个(一个小pȝ的表?0个左叻I的时候,q是用用Powerdesigner 关于PowerDesignerQ物理数据模型我基本没有Ԍ只讲了CDMQ?gt;PDM的{换,因ؓ物理数据模型的操作跟概念数据模型cMQ而且各种概念基本大家都了解(如果表,列,q程{概念不知道的话Q那么徏议还是先看看数据库理论的基础知识Q。虽然物理数据模型在数据库徏模中是最总要的一个,但是Q由于^常大家对数据库的了解都比较多Q我p为没有必要多讲了?
PD中还有一个很总要的工P模型仓库Q他的作用^常用不到Q当多个ZL一个模型工作时Q才会用刎ͼ不属于数据徏模的范畴Q就不讲了,毕竟Q我只准备了两个星期的时间来搞这个专题?
你指Z用数据库理pȝ库中储存的数据库理pȝ定义文g?
4 点击l节定位键。细节页出现?
5 挑选出来的或清除下列各w项:
如果选择了Check Model Q模型将会在生成之前被检查。Save Generation Dependencies 选项军_PowerDesigner 是否为每个模型的对象保存对象识别标签Q这个选项主要用于合ƈq同CDM生成的两个PDM?
6 选择Selection 定位键。它列出 CDM 的所有对象。默认地Q所有的对象被选择?/p>
7 点击定?
9 当程序已l完成生成时Q关闭结果窗戗?
PDM 在模型的H口中出?/p>
下面举例创徏一个概忉|型来看看PD的操作方?
1 按工具面板的实体工具?
当光标移动进图表的时?, 变成实体的Ş状?
2 ?CDM 图表中点MQ何一处?
一个实体符号在点击位置出现。实体名字ؓ Entity_n,n 是一个创建对象的ơ序~号?
3 实体工具仍然是可使用? 因此点击再一ơ在 CDM 图表中生另外的一个实体?
现在?CDM 图表的二个实体?
4 点击工具面板的关pd兗?
实体工具被现在释放,而且关系工具是可使用的?
5 点击在第一个实体之内而且当l按着鼠标按钮的时?拖拉光标到第二个实体?在第二个实体之内攑ּ鼠标按钮。这样可以生关pR?/p>
6 点击鼠标右键Q释攑օpd兗?
释放一个工?
一个工具保持可使用直到释放它?释放一个工? 可以选择另外的一个工h按鼠标右键?默认?,当按鼠标右键,指针工具被激zR?
7 点击面板的套索工P套烦工具是现在可使用?
8 在第一个实体的上面角落点击光标Q按着鼠标按钮, 拖拉光标拉一个包括两个实体的长方形,攑ּ鼠标按钮Q实体和关系被选择?
9 拖拉实体C个新位置Q关p跟随实体一L动?
10 点击面板的文本工兗文本工h现在可用?
11 在关pM面点d标,一些文本在被长方Ş指出的区域中出现?
12 点击鼠标右键Q你释放文本工具?
13 双击文本Q一个文本框出现?
14 在文本框中输入短文本?
15 点击OKQ文本在图表中出现?
16 点击文本框的一个柄Q按着鼠标左键,拖拉光标到右边直到所有的文本出现Q放开鼠标按钮Q在图表背景上点击,文本框柄消失?
17 点击面板的指针工兗你用这个工具选择q且删除W号?
18 在实体符号上点击Q选择你想删除的对象?
19 按键盘上?DEL 键,认信息对话框出? 问你如何删除选择?/p>
删除对象
如果你选择删除对象,你将删除图标W号q且删除模型中的对象?如果你只选择删除W号,你将删除图标W号, 但是保存模型的对象?
20 点击OKQ图表中的实体和联合的关p被Ud?对象也从模型删除?
21 点击剩余的实体,当你点击文本的时?,按着键盘的SHIFT键,二个对象被选择?
22 ?DEL ?, q且在删除信息出现的时候点?OK Q剩余的实体和文本被删除
2。数据库设计通常步骤QCDM~定主要l构Q-》生成PDMQ-》在PDM上修改,必要时生成CDM
3。若由pdm生成cdm再生成pdmQ在pdm中修改过的外键名被改回到默认?/p>
4。必要时可以通过修改模板QDatabaseQEdit Current DataBaseQ改变脚本的格式。例如:
ScriptQObjectsQColumnQAdd的Value中开头增加一?#8220;--%COLNNAME%”以便在脚本中昄列的中英文对?/p>
5。去掉讨厌的name、code映射QToolsQGeneral OptionsQclear the Name to Code mirroring check box
6。对于大写不敏感的数据库(如OracleQ,PowerDesign在创本时自动l表名和字段名加上双引号Q以“强字W串”形式来获取区分大写Q这Lsql语句的编写制造很多麻烦。去掉这个添的功能Q?br>Database -〉Edit Current DBMS -〉Script -〉Sql -〉Format -〉CaseSensitivityUsingQuote
双面板参数?Value 选择No
7。由cdm生成pdm,可以控制是否关pȝ成引?由pdm生成脚本,可以控制是否引用生成外?/p>
8。对于oracle而言,讄选项Q如tablespace GPSSYSTEMQ可使其创徏到正的表空_Z键设|选项(using index tablespace GPSINDEXQ索引创徏到正的表空间中
9。数据模型图上昄中文QTools-Model Options-Naming Convertion,在右侧Display处选择Name
转自Q?a >http://blog.csdn.net/qsxucsdn/archive/2005/12/09/547699.aspx2、由pdm生成脚本Ӟ字段过15字符发生错误(oracleQ?br>原因未知Q解军_法是打开PDM后,会出现Database的菜单栏Q进入Database Q?Edit Current DBMS QscriptQobjectsQcolumnQmaxlenQ把valueD?原ؓ30)Q比如改?0。出现表或者其它对象的长度也有q种错误的话都可以选择对应的objects照此U方法更改!
或者用下面的q种ҎQ?br>生成脚本时会弹出Database generation提示框:把options Q?check model的小勄LQ就是不q行查(不推荐)Q?br>或者可以修改C:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\DBMS\oracl9i2.xdb文g
修改好后Q再cdm转ؓpdmӞ选择“Copy the DBMS definition in model”把把q个资源文g拯到模型中?/p>
3、生成的脚本中如何把对象的双引号LQ?br>打开cdm的情况下Q进入ToolsQModel OptionsQNaming ConventionQ把Name和Code的标{Charcter case选项讄成Uppercase或者LowercaseQ只要不是Mixed CasepQ?br>或者选择Database->Edit current database->Script->Sql->FormatQ有一CaseSensitivityUsingQuoteQ它的comment?#8220;Determines if the case sensitivity for identifiers is managed using double quotes”Q表C是否适用双引h规定标识W的大小写,可以看到双的values默认gؓ“YES”,改ؓ“No”卛_Q?br>或者在打开pdm的情况下Q进入ToolsQModel OptionsQNaming ConventionQ把Name和Code的标{Charcter case选项讄成Uppercase可以!
4、徏立一个表?Z出现Existence of index的警?br>A table should contain at least one column, one index, one key, and one reference.
可以不检?Existence of index q项Q也没有这个警告错误了Q?br>意思是说没有给表徏立烦引,而一个表一般至要有一个烦引,q是一个警告,不用也没有关系Q?/p>
5、创Z个表在修改字D늚时候,一修改name的内容,code也跟着变化Q如何让code不随着name变化
Name和Code 的右侧都有一个按?#8220;Q?#8221;Q如果需要不同步的话Q把q个按钮弹v来就可以了?br>Tools->General Options->Dialog->Name to Code Mirroring (L)
6、由CDM生成PDMӞ自动生成的外键的重命?br>PDM Generation Options->Detail->FK index names默认?REFR%_FKQ改为FK_%REFRCODE%Q其?REFRCODE%指的是CDM中Relationship的codeQ另外自动生成的父字D늚规则是PDM Generation Options->Detail->FK column name template中设|的Q默认是%.3:PARENT%_%COLUMN%Q可以改为Par%COLUMN%表示是父字段Q?/p>
7、如何防止一对一的关pȝ成两个引用(外键Q?br>要定义关pȝ支配方向Q占支配C的实体(有D标志Q变为父表?br>在cdm中双M对一关系->Detail->Dominant role选择支配关系
8、修Ҏ表模板中一些术语的定义
xӞC:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\Report Languages\Chinese.xrl
ToolsQResourcesQReport LanguagesQ选择ChineseQ单击Properties或双ȝ?br>修改某些对象的名UͼObject Attributes\Physical Data Model\Column\
ForeignKeyQ外?br> MandatoryQؓI?br> PrimaryQ主?br> TableQ表
用查找替换,?#8220;表格”替换?#8220;?#8221;
修改昄的内容ؓ别的QValues Mapping\Lists\StandardQ添加TRUE的{化列为是QFALSE的{化列为空
另外ReportQTitle Page里可以设|标题信?/p>
9、PowerDesigner11中批量根据对象的name生成comment的脚?/p>
'******************************************************************************
'* 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
'* AuthorQwangnc
'* 执行ҎQPD11 -- 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