WHY
PowerDesigner是最具集成特性的設計工具集,用於創建高度優化和功能強大的數據庫,數據倉庫和數據敏感的組件。
PowerDesigner靈活的分析和設計特性允許使用一種結構化的方法有效地創建數據庫或數據倉庫,而不要求嚴格遵循一個特定的方法學。PowerDesigner提供了直觀的符號表示使數據庫的創建更加容易,並使項目組內的交流和通訊標准化,同時能更加簡單地向非技術人員展示數據庫和應用的設計。
PowerDesigner包含六個緊密集成的模塊,允許個人和開發組的成員以合算的方式最好地滿足他們的需要。這六個模塊是:
HOW
1、下載
2、安裝
1、點擊next
2、選擇語言版本,PRC位中文版。
3、選擇安裝路徑
4、選擇插件,這里因需要而挑選,不必要全選

5、添加屬性文件

6、選擇開始菜單的顯示名稱

7、next >> 安裝 >> 等待數分鍾 >> 安裝成功
8、破解
下載pdflm16_cr.rar,解壓 >> 在安裝目錄替換 pdflm16.dll 文件
3、菜單工具
4、測試
WHAT
1、建表
2、表關系連接
3、生成sql腳本
4、創建數據庫表
1、在數據庫創建表
2、使用eclipse的database Development管理工具創建
5、Eclipse從數據庫逆向生成Hibernate帶注解的實體類或者實體類和映射文件
http://www.w2龓bc.com/article/216502
Question
PowerDesigner,什么數據庫能用?
主流數據庫oracle db2 ,sqlserver,mysql都可以。
PowerDesigner 中如何用 SQL 反向生成物理模型?
菜單里有個文件-逆向工程-數據庫,好了,選你的sql文件吧。
在使用Powerdesigner生成sql數據庫時,導出的表總是少兩個?
你是用ODBC連接的數據庫然后生成的嗎?建議你還是生成SQL然后用語句去執行建表。看看有沒有什么警告或者錯誤。估計是哪兒出錯了,有2個表沒建上。
用powerdesigner怎么畫出數據字典?
建立概要模型——生成物理模型——物理模型最終可以生成特定數據庫的sql語句,所謂的數據字典就是物理模型。
由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”把把這個資源文件拷貝到模型中。
生成的建表腳本中如何把對象的雙引號去掉?
解決辦法一:進入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就可以!
建立一個表后,檢測出現Existence of index的警告 A table should contain at least one column, one index, one key, and one reference.
解決辦法:事實上可以不檢查 Existence of index ,也就沒有這個警告錯誤了!它的意思是說沒有給表建立索引,而一個表一般至少要有一個索引,這是一個警告,不用管也沒有關系!
name與code同步問題
解決辦法:Name和Code 的右側都有一個按鈕“=”,如果需要不同步的話,把這個按鈕彈起來就可以了。 Tools->General Options->Dialog->Name to Code Mirroring (去掉)
對於大小寫不敏感的數據庫(如Oracle),PowerDesign在創建腳本時自動給表名和字段名加上雙引號,以“強字符串”形式來獲取區分大小寫,這樣給sql語句的編寫制造很多麻煩。必須去掉這個多余的功能。
解決辦法:Database -〉Edit Current DBMS -〉Script. -〉Sql -〉Format -〉CaseSensitivityUsingQuote 右邊面板參數值 Value 選擇No。
生成SQL時報錯:Generation aborted due to errors detected during the verification of the model
解決辦法:在Database—>Generate Database (或者用Ctrl+G快捷鍵)來生產sql語句時,把檢查模型的選項(Check Model)前的那個勾去掉即可。
導出數據庫時報錯:Error The following objects do not have unique constraint
解決辦法:對象不具備唯一性約束,說白了就是constraint name重命,檢查一下就行。
物理模型導出數據庫時保存name作為code的注釋行
解決辦法:Tools-->Execute Commands-->Edit/Run Script 在打開的窗口中 past 下面的代碼:
1 Option Explicit 2 ValidationMode = True 3 InteractiveMode = im_Batch 4 Dim mdl 'the current model 5 'get the current active model 6 Set mdl = ActiveModel 7 If (mdl Is Nothing) Then 8 MsgBox "There is no current Model" 9 ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then 10 MsgBox "The current model is not an Physical Data model." 11 Else 12 ProcessFolder mdl 13 End If 14 'This routine copy name into code for each table, each column and each view 15 'of the current folder 16 Private sub ProcessFolder(folder) 17 Dim Tab 'running table 18 for each Tab in folder.tables 19 if not tab.isShortcut then 20 tab.comment = tab.name + tab.comment '此處任意設置表的注釋,此處為表名和注釋一起 21 Dim col ' running column 22 for each col in tab.columns 23 col.comment= col.name + col.comment 24 next 25 end if 26 next 27 Dim view 'running view 28 for each view in folder.Views 29 if not view.isShortcut then 30 view.comment = view.name 31 end if 32 next 33 ' go into the sub-packages 34 Dim f 'running folder 35 For Each f In folder.Packages 36 if not f.IsShortcut then 37 ProcessFolder f 38 end if 39 Next 40 end sub
運行,然后Database --> Generate Database ,在formata選中Generate name in empty comment這時就可以生成帶有comments為物理模型中Name屬性的SQL語句了。
導出SQL腳本運行注釋出現亂碼問題
解決辦法:亂碼自然就是字符集的問題,先檢查一下自己數據庫的字符集,然后在Database --> Generate Database ,在formata頁面中的Encoding中選中適合的字符集就可以解決問題了。
導出SQL腳本運行建表時注釋行出現重復現象(未解決)
導出SQL腳本運行建表時缺少幾個表
這個問題的出現是因為有的表上的鍵的設定出現錯誤。解決辦法就是找出缺少的表,檢查表的鍵,改正之后再生成腳本。應該就沒有問題了。
